[CLI] Update CLI argument descriptions after review

This commit is contained in:
Kirill Rakhman
2023-10-31 13:17:55 +01:00
committed by Space Team
parent bc8841c6fe
commit 4964ee12a9
25 changed files with 825 additions and 823 deletions
@@ -43,7 +43,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-language-version",
valueDescription = "<version>",
description = "Provide source compatibility with the specified version of Kotlin"
description = "Provide source compatibility with the specified version of Kotlin."
)
var languageVersion: String? = null
set(value) {
@@ -66,7 +66,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-api-version",
valueDescription = "<version>",
description = "Allow using declarations only from the specified version of bundled libraries"
description = "Allow using declarations from only the specified version of bundled libraries."
)
var apiVersion: String? = null
set(value) {
@@ -77,7 +77,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-kotlin-home",
valueDescription = "<path>",
description = "Path to the home directory of Kotlin compiler used for discovery of runtime libraries"
description = "Path to the Kotlin compiler home directory used for the discovery of runtime libraries."
)
var kotlinHome: String? = null
set(value) {
@@ -92,11 +92,11 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-progressive",
deprecatedName = "-Xprogressive",
description = "Enable progressive compiler mode.\n" +
"In this mode, deprecations and bug fixes for unstable code take effect immediately,\n" +
"instead of going through a graceful migration cycle.\n" +
"Code written in the progressive mode is backward compatible; however, code written in\n" +
"non-progressive mode may cause compilation errors in the progressive mode."
description = """Enable progressive compiler mode.
In this mode, deprecations and bug fixes for unstable code take effect immediately
instead of going through a graceful migration cycle.
Code written in progressive mode is backward compatible; however, code written without
progressive mode enabled may cause compilation errors in progressive mode."""
)
var progressiveMode = false
set(value) {
@@ -104,7 +104,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
field = value
}
@Argument(value = "-script", description = "Evaluate the given Kotlin script (*.kts) file")
@Argument(value = "-script", description = "Evaluate the given Kotlin script (*.kts) file.")
var script = false
set(value) {
checkFrozen()
@@ -119,7 +119,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
value = "-opt-in",
deprecatedName = "-Xopt-in",
valueDescription = "<fq.name>",
description = "Enable usages of API that requires opt-in with an opt-in requirement marker with the given fully qualified name"
description = "Enable API usages that require opt-in with an opt-in requirement marker with the given fully qualified name."
)
var optIn: Array<String>? = null
set(value) {
@@ -129,7 +129,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
// Advanced options
@Argument(value = "-Xno-inline", description = "Disable method inlining")
@Argument(value = "-Xno-inline", description = "Disable method inlining.")
var noInline = false
set(value) {
checkFrozen()
@@ -138,7 +138,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xskip-metadata-version-check",
description = "Allow to load classes with bad metadata version and pre-release classes"
description = "Allow loading classes with bad metadata versions and pre-release classes."
)
var skipMetadataVersionCheck = false
set(value) {
@@ -146,7 +146,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
field = value
}
@Argument(value = "-Xskip-prerelease-check", description = "Allow to load pre-release classes")
@Argument(value = "-Xskip-prerelease-check", description = "Allow loading pre-release classes.")
var skipPrereleaseCheck = false
set(value) {
checkFrozen()
@@ -155,7 +155,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xallow-kotlin-package",
description = "Allow compiling code in package 'kotlin' and allow not requiring kotlin.stdlib in module-info"
description = "Allow compiling code in the 'kotlin' package, and allow not requiring 'kotlin.stdlib' in 'module-info'."
)
var allowKotlinPackage = false
set(value) {
@@ -163,21 +163,21 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
field = value
}
@Argument(value = "-Xreport-output-files", description = "Report source to output files mapping")
@Argument(value = "-Xreport-output-files", description = "Report the source-to-output file mapping.")
var reportOutputFiles = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xplugin", valueDescription = "<path>", description = "Load plugins from the given classpath")
@Argument(value = "-Xplugin", valueDescription = "<path>", description = "Load plugins from the given classpath.")
var pluginClasspaths: Array<String>? = null
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-P", valueDescription = PLUGIN_OPTION_FORMAT, description = "Pass an option to a plugin")
@Argument(value = "-P", valueDescription = PLUGIN_OPTION_FORMAT, description = "Pass an option to a plugin.")
var pluginOptions: Array<String>? = null
set(value) {
checkFrozen()
@@ -187,7 +187,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xcompiler-plugin",
valueDescription = "<path1>,<path2>:<optionName>=<value>,<optionName>=<value>",
description = "Register compiler plugin",
description = "Register a compiler plugin.",
delimiter = Argument.Delimiters.none
)
var pluginConfigurations: Array<String>? = null
@@ -196,14 +196,14 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
field = value
}
@Argument(value = "-Xmulti-platform", description = "Enable language support for multi-platform projects")
@Argument(value = "-Xmulti-platform", description = "Enable language support for multiplatform projects.")
var multiPlatform = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xno-check-actual", description = "Do not check presence of 'actual' modifier in multi-platform projects")
@Argument(value = "-Xno-check-actual", description = "Do not check for the presence of the 'actual' modifier in multiplatform projects.")
var noCheckActual = false
set(value) {
checkFrozen()
@@ -213,7 +213,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xintellij-plugin-root",
valueDescription = "<path>",
description = "Path to the kotlin-compiler.jar or directory where IntelliJ configuration files can be found"
description = "Path to 'kotlin-compiler.jar' or the directory where the IntelliJ IDEA configuration files can be found."
)
var intellijPluginRoot: String? = null
set(value) {
@@ -223,7 +223,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xnew-inference",
description = "Enable new experimental generic type inference algorithm"
description = "Enable the new experimental generic type inference algorithm."
)
var newInference = false
set(value) {
@@ -233,7 +233,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xinline-classes",
description = "Enable experimental inline classes"
description = "Enable experimental inline classes."
)
var inlineClasses = false
set(value) {
@@ -243,7 +243,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xlegacy-smart-cast-after-try",
description = "Allow var smart casts despite assignment in try block"
description = "Allow 'var' smart casts even in the presence of assignments in 'try' blocks."
)
var legacySmartCastAfterTry = false
set(value) {
@@ -253,7 +253,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xeffect-system",
description = "Enable experimental language feature: effect system"
description = "Enable experimental language feature: effect system."
)
var effectSystem = false
set(value) {
@@ -263,7 +263,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xread-deserialized-contracts",
description = "Enable reading of contracts from metadata"
description = "Enable reading contracts from metadata."
)
var readDeserializedContracts = false
set(value) {
@@ -293,7 +293,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xproper-ieee754-comparisons",
description = "Generate proper IEEE 754 comparisons in all cases if values are statically known to be of primitive numeric types"
description = "Generate proper IEEE 754 comparisons in all cases if values are statically known to be of primitive numeric types."
)
var properIeee754Comparisons = false
set(value) {
@@ -301,7 +301,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
field = value
}
@Argument(value = "-Xreport-perf", description = "Report detailed performance statistics")
@Argument(value = "-Xreport-perf", description = "Report detailed performance statistics.")
var reportPerf = false
set(value) {
checkFrozen()
@@ -311,7 +311,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xdump-perf",
valueDescription = "<path>",
description = "Dump detailed performance statistics to the specified file"
description = "Dump detailed performance statistics to the specified file."
)
var dumpPerf: String? = null
set(value) {
@@ -321,7 +321,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xmetadata-version",
description = "Change metadata version of the generated binary files"
description = "Change the metadata version of the generated binary files."
)
var metadataVersion: String? = null
set(value) {
@@ -332,8 +332,8 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xcommon-sources",
valueDescription = "<path>",
description = "Sources of the common module that need to be compiled together with this module in the multi-platform mode.\n" +
"Should be a subset of sources passed as free arguments"
description = """Sources of the common module that need to be compiled together with this module in multiplatform mode.
They should be a subset of sources passed as free arguments."""
)
var commonSources: Array<String>? = null
set(value) {
@@ -343,7 +343,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xallow-result-return-type",
description = "Allow compiling code when `kotlin.Result` is used as a return type"
description = "Allow compiling code when 'kotlin.Result' is used as a return type."
)
var allowResultReturnType = false
set(value) {
@@ -353,7 +353,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xlist-phases",
description = "List backend phases"
description = "List backend phases."
)
var listPhases = false
set(value) {
@@ -363,7 +363,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xdisable-phases",
description = "Disable backend phases"
description = "Disable backend phases."
)
var disablePhases: Array<String>? = null
set(value) {
@@ -373,7 +373,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xverbose-phases",
description = "Be verbose while performing these backend phases"
description = "Be verbose while performing the given backend phases."
)
var verbosePhases: Array<String>? = null
set(value) {
@@ -383,7 +383,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xphases-to-dump-before",
description = "Dump backend state before these phases"
description = "Dump the backend's state before these phases."
)
var phasesToDumpBefore: Array<String>? = null
set(value) {
@@ -393,7 +393,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xphases-to-dump-after",
description = "Dump backend state after these phases"
description = "Dump the backend's state after these phases."
)
var phasesToDumpAfter: Array<String>? = null
set(value) {
@@ -403,7 +403,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xphases-to-dump",
description = "Dump backend state both before and after these phases"
description = "Dump the backend's state both before and after these phases."
)
var phasesToDump: Array<String>? = null
set(value) {
@@ -413,7 +413,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xdump-directory",
description = "Dump backend state into directory"
description = "Dump the backend state into this directory."
)
var dumpDirectory: String? = null
set(value) {
@@ -423,7 +423,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xdump-fqname",
description = "FqName of declaration that should be dumped"
description = "Dump the declaration with the given FqName."
)
var dumpOnlyFqName: String? = null
set(value) {
@@ -433,7 +433,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xphases-to-validate-before",
description = "Validate backend state before these phases"
description = "Validate the backend's state before these phases."
)
var phasesToValidateBefore: Array<String>? = null
set(value) {
@@ -443,7 +443,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xphases-to-validate-after",
description = "Validate backend state after these phases"
description = "Validate the backend's state after these phases."
)
var phasesToValidateAfter: Array<String>? = null
set(value) {
@@ -453,7 +453,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xphases-to-validate",
description = "Validate backend state both before and after these phases"
description = "Validate the backend's state both before and after these phases."
)
var phasesToValidate: Array<String>? = null
set(value) {
@@ -463,7 +463,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xprofile-phases",
description = "Profile backend phases"
description = "Profile backend phases."
)
var profilePhases = false
set(value) {
@@ -473,7 +473,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xcheck-phase-conditions",
description = "Check pre- and postconditions on phases"
description = "Check pre- and postconditions of IR lowering phases."
)
var checkPhaseConditions = false
set(value) {
@@ -483,7 +483,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xcheck-sticky-phase-conditions",
description = "Run sticky condition checks on subsequent phases as well. Implies -Xcheck-phase-conditions"
description = "Run sticky condition checks on subsequent phases. Implicitly enables '-Xcheck-phase-conditions'."
)
var checkStickyPhaseConditions = false
set(value) {
@@ -504,7 +504,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xuse-k2",
deprecatedName = "-Xuse-fir",
description = "Compile using experimental K2. K2 is a new compiler pipeline, no compatibility guarantees are yet provided"
description = "Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet."
)
var useK2 = false
set(value) {
@@ -514,7 +514,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xuse-fir-extended-checkers",
description = "Use extended analysis mode based on Front-end IR. Warning: this feature is far from being production-ready"
description = "Use extended analysis mode based on the frontend IR.\nWarning: This feature is not yet production-ready."
)
var useFirExtendedCheckers = false
set(value) {
@@ -524,7 +524,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xuse-fir-ic",
description = "Compile using Front-end IR internal incremental compilation cycle. Warning: this feature is far from being production-ready"
description = "Compile using frontend IR internal incremental compilation.\nWarning: This feature is not yet production-ready."
)
var useFirIC = false
set(value) {
@@ -534,7 +534,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xuse-fir-lt",
description = "Compile using LightTree parser with Front-end IR"
description = "Compile using the LightTree parser with the frontend IR."
)
var useFirLT = true
set(value) {
@@ -554,7 +554,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xdisable-ultra-light-classes",
description = "Do not use the ultra light classes implementation"
description = "Don't use ultra-light classes."
)
var disableUltraLightClasses = false
set(value) {
@@ -564,7 +564,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xuse-mixed-named-arguments",
description = "Enable Support named arguments in their own position even if the result appears as mixed"
description = "Allow mixing named and unnamed arguments when the arguments appear in their default order."
)
var useMixedNamedArguments = false
set(value) {
@@ -574,7 +574,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xmetadata-klib",
description = "Produce a klib that only contains the declarations metadata",
description = "Produce a klib that only contains the metadata of declarations.",
deprecatedName = "-Xexpect-actual-linker"
)
var metadataKlib: Boolean = false
@@ -583,7 +583,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
field = value
}
@Argument(value = "-Xdisable-default-scripting-plugin", description = "Do not enable scripting plugin by default")
@Argument(value = "-Xdisable-default-scripting-plugin", description = "Don't enable the scripting plugin by default.")
var disableDefaultScriptingPlugin = false
set(value) {
checkFrozen()
@@ -593,8 +593,8 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xexplicit-api",
valueDescription = "{strict|warning|disable}",
description = "Force compiler to report errors on all public API declarations without explicit visibility or return type.\n" +
"Use 'warning' level to issue warnings instead of errors."
description = """Force the compiler to report errors on all public API declarations without an explicit visibility or a return type.
Use the 'warning' level to issue warnings instead of errors."""
)
var explicitApi: String = ExplicitApiMode.DISABLED.state
set(value) {
@@ -604,7 +604,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xinference-compatibility",
description = "Enable compatibility changes for generic type inference algorithm"
description = "Enable compatibility changes for the generic type inference algorithm."
)
var inferenceCompatibility = false
set(value) {
@@ -614,7 +614,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xsuppress-version-warnings",
description = "Suppress warnings about outdated, inconsistent or experimental language or API versions"
description = "Suppress warnings about outdated, inconsistent, or experimental language or API versions."
)
var suppressVersionWarnings = false
set(value) {
@@ -624,8 +624,8 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xextended-compiler-checks",
description = "Enable additional compiler checks that might provide verbose diagnostic information for certain errors.\n" +
"Warning: this mode is not backward-compatible and might cause compilation errors in previously compiled code."
description = """Enable additional compiler checks that might provide verbose diagnostic information for certain errors.
Warning: This mode is not backward compatible and might cause compilation errors in previously compiled code."""
)
var extendedCompilerChecks = false
set(value) {
@@ -635,7 +635,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xbuiltins-from-sources",
description = "Compile builtIns from sources"
description = "Compile built-ins from sources."
)
var builtInsFromSources = false
set(value) {
@@ -645,8 +645,8 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xexpect-actual-classes",
description = "'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta.\n" +
"Kotlin reports a warning every time you use them. You can use this flag to mute the warning."
description = """'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta.
Kotlin reports a warning every time you use one of them. You can use this flag to mute the warning."""
)
var expectActualClasses = false
set(value) {
@@ -656,7 +656,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xunrestricted-builder-inference",
description = "Eliminate builder inference restrictions like allowance of returning type variables of a builder inference call"
description = "Eliminate builder inference restrictions, for example by allowing type variables to be returned from builder inference calls."
)
var unrestrictedBuilderInference = false
set(value) {
@@ -666,8 +666,8 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xenable-builder-inference",
description = "Use the builder inference by default, for all calls with lambdas which can't be resolved without it.\n" +
"The corresponding calls' declarations may not be marked with @BuilderInference."
description = """Use builder inference by default for all calls with lambdas that can't be resolved without it.
The corresponding calls' declarations may not be marked with @BuilderInference."""
)
var enableBuilderInference = false
set(value) {
@@ -677,7 +677,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xself-upper-bound-inference",
description = "Support inferring type arguments based on only self upper bounds of the corresponding type parameters"
description = "Support inferring type arguments from the self-type upper bounds of the corresponding type parameters."
)
var selfUpperBoundInference = false
set(value) {
@@ -687,7 +687,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xcontext-receivers",
description = "Enable experimental context receivers"
description = "Enable experimental context receivers."
)
var contextReceivers = false
set(value) {
@@ -697,7 +697,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xklib-relative-path-base",
description = "Provide a base paths to compute source's relative paths in klib (default is empty)"
description = "Provide a base path to compute the source's relative paths in klib (default is empty)."
)
var relativePathBases: Array<String>? = null
set(value) {
@@ -707,7 +707,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xklib-normalize-absolute-path",
description = "Normalize absolute paths in klibs"
description = "Normalize absolute paths in klibs."
)
var normalizeAbsolutePath = false
set(value) {
@@ -717,7 +717,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xklib-enable-signature-clash-checks",
description = "Enable the checks on uniqueness of signatures"
description = "Enable signature uniqueness checks."
)
var enableSignatureClashChecks = true
set(value) {
@@ -725,21 +725,21 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
field = value
}
@Argument(value = "-Xenable-incremental-compilation", description = "Enable incremental compilation")
@Argument(value = "-Xenable-incremental-compilation", description = "Enable incremental compilation.")
var incrementalCompilation: Boolean? = null
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xrender-internal-diagnostic-names", description = "Render internal names of warnings and errors")
@Argument(value = "-Xrender-internal-diagnostic-names", description = "Render the internal names of warnings and errors.")
var renderInternalDiagnosticNames = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xallow-any-scripts-in-source-roots", description = "Allow to compile any scripts along with regular Kotlin sources")
@Argument(value = "-Xallow-any-scripts-in-source-roots", description = "Allow compiling scripts along with regular Kotlin sources.")
var allowAnyScriptsInSourceRoots = false
set(value) {
checkFrozen()
@@ -749,14 +749,14 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xfragments",
valueDescription = "<fragment name>",
description = "Declares all known fragments of a multiplatform compilation"
description = "Declare all known fragments of a multiplatform compilation."
)
var fragments: Array<String>? = null
@Argument(
value = "-Xfragment-sources",
valueDescription = "<fragment name>:<path>",
description = "Adds sources to a specific fragment of a multiplatform compilation",
description = "Add sources to a specific fragment of a multiplatform compilation.",
)
var fragmentSources: Array<String>? = null
set(value) {
@@ -767,7 +767,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xfragment-refines",
valueDescription = "<fromModuleName>:<onModuleName>",
description = "Declares that <fromModuleName> refines <onModuleName> with dependsOn/refines relation",
description = "Declare that <fromModuleName> refines <onModuleName> with the dependsOn/refines relation.",
)
var fragmentRefines: Array<String>? = null
set(value) {
@@ -787,7 +787,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
@Argument(
value = "-Xdont-warn-on-error-suppression",
description = "Don't report a warning when an error is suppressed. Only affects K2."
description = "Don't report warnings when errors are suppressed. This only affects K2."
)
var dontWarnOnErrorSuppression = false
set(value) {
@@ -35,21 +35,21 @@ abstract class CommonToolArguments : Freezable(), Serializable {
@Transient
var errors: ArgumentParseErrors? = null
@Argument(value = "-help", shortName = "-h", description = "Print a synopsis of standard options")
@Argument(value = "-help", shortName = "-h", description = "Print a synopsis of standard options.")
var help = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-X", description = "Print a synopsis of advanced options")
@Argument(value = "-X", description = "Print a synopsis of advanced options.")
var extraHelp = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-version", description = "Display compiler version")
@Argument(value = "-version", description = "Display the compiler version.")
var version = false
set(value) {
checkFrozen()
@@ -61,7 +61,7 @@ abstract class CommonToolArguments : Freezable(), Serializable {
gradleInputType = GradleInputTypes.INTERNAL,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-verbose", description = "Enable verbose logging output")
@Argument(value = "-verbose", description = "Enable verbose logging output.")
var verbose = false
set(value) {
checkFrozen()
@@ -73,7 +73,7 @@ abstract class CommonToolArguments : Freezable(), Serializable {
gradleInputType = GradleInputTypes.INTERNAL,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-nowarn", description = "Generate no warnings")
@Argument(value = "-nowarn", description = "Don't generate any warnings.")
var suppressWarnings = false
set(value) {
checkFrozen()
@@ -85,7 +85,7 @@ abstract class CommonToolArguments : Freezable(), Serializable {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-Werror", description = "Report an error if there are any warnings")
@Argument(value = "-Werror", description = "Report an error if there are any warnings.")
var allWarningsAsErrors = false
set(value) {
checkFrozen()
@@ -26,14 +26,14 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
level = DeprecationLevel.WARNING,
removeAfter = "1.9.0"
)
@Argument(value = "-output", valueDescription = "<filepath>", description = "Destination *.js file for the compilation result")
@Argument(value = "-output", valueDescription = "<filepath>", description = "Destination *.js file for the compilation result.")
var outputFile: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-ir-output-dir", valueDescription = "<directory>", description = "Destination for generated files")
@Argument(value = "-ir-output-dir", valueDescription = "<directory>", description = "Destination for generated files.")
var outputDir: String? = null
set(value) {
checkFrozen()
@@ -45,7 +45,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-ir-output-name", description = "Base name of generated files")
@Argument(value = "-ir-output-name", description = "Base name of generated files.")
var moduleName: String? = null
set(value) {
checkFrozen()
@@ -57,7 +57,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-no-stdlib", description = "Don't automatically include the default Kotlin/JS stdlib into compilation dependencies")
@Argument(value = "-no-stdlib", description = "Don't automatically include the default Kotlin/JS stdlib in compilation dependencies.")
var noStdlib = false
set(value) {
checkFrozen()
@@ -67,7 +67,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-libraries",
valueDescription = "<path>",
description = "Paths to Kotlin libraries with .meta.js and .kjsm files, separated by system path separator"
description = "Paths to Kotlin libraries with .meta.js and .kjsm files, separated by the system path separator."
)
var libraries: String? = null
set(value) {
@@ -80,7 +80,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-source-map", description = "Generate source map")
@Argument(value = "-source-map", description = "Generate a source map.")
var sourceMap = false
set(value) {
checkFrozen()
@@ -92,7 +92,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-source-map-prefix", description = "Add the specified prefix to paths in the source map")
@Argument(value = "-source-map-prefix", description = "Add the specified prefix to the paths in the source map.")
var sourceMapPrefix: String? = null
set(value) {
checkFrozen()
@@ -103,7 +103,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
value = "-source-map-base-dirs",
deprecatedName = "-source-map-source-roots",
valueDescription = "<path>",
description = "Base directories for calculating relative paths to source files in source map"
description = "Base directories for calculating relative paths to source files in the source map."
)
var sourceMapBaseDirs: String? = null
set(value) {
@@ -123,7 +123,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-source-map-embed-sources",
valueDescription = "{always|never|inlining}",
description = "Embed source files into source map"
description = "Embed source files into the source map."
)
var sourceMapEmbedSources: String? = null
set(value) {
@@ -139,7 +139,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-source-map-names-policy",
valueDescription = "{no|simple-names|fully-qualified-names}",
description = "How to map generated names to original names (IR backend only)"
description = "Mode for mapping generated names to original names (IR backend only)."
)
var sourceMapNamesPolicy: String? = null
set(value) {
@@ -152,7 +152,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-meta-info", description = "Generate .meta.js and .kjsm files with metadata. Use to create a library")
@Argument(value = "-meta-info", description = "Generate .meta.js and .kjsm files with metadata. Use this to create a library.")
var metaInfo = false
set(value) {
checkFrozen()
@@ -164,7 +164,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-target", valueDescription = "{ v5 }", description = "Generate JS files for specific ECMA version")
@Argument(value = "-target", valueDescription = "{ v5 }", description = "Generate JS files for the specified ECMA version.")
var target: String? = null
set(value) {
checkFrozen()
@@ -173,7 +173,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-keep",
description = "Comma-separated list of fully-qualified names to not be eliminated by DCE (if it can be reached), " +
description = "Comma-separated list of fully qualified names not to be eliminated by DCE (if it can be reached), " +
"and for which to keep non-minified names."
)
var irKeep: String? = null
@@ -190,7 +190,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-module-kind",
valueDescription = "{plain|amd|commonjs|umd|es}",
description = "Kind of the JS module generated by the compiler"
description = "The kind of JS module generated by the compiler."
)
var moduleKind: String? = MODULE_PLAIN
set(value) {
@@ -206,7 +206,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-main",
valueDescription = "{$CALL|$NO_CALL}",
description = "Define whether the `main` function should be called upon execution"
description = "Specify whether the 'main' function should be called upon execution."
)
var main: String? = null
set(value) {
@@ -217,7 +217,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-output-prefix",
valueDescription = "<path>",
description = "Add the content of the specified file to the beginning of output file"
description = "Add the content of the specified file to the beginning of the output file."
)
var outputPrefix: String? = null
set(value) {
@@ -228,7 +228,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-output-postfix",
valueDescription = "<path>",
description = "Add the content of the specified file to the end of output file"
description = "Add the content of the specified file to the end of the output file."
)
var outputPostfix: String? = null
set(value) {
@@ -240,8 +240,8 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-produce-klib-dir",
description = "Generate unpacked KLIB into parent directory of output JS file.\n" +
"In combination with -meta-info generates both IR and pre-IR versions of library."
description = """Generate an unpacked klib into the parent directory of the output JS file.
In combination with '-meta-info', this generates both IR and pre-IR versions of the library."""
)
var irProduceKlibDir = false
set(value) {
@@ -251,7 +251,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-produce-klib-file",
description = "Generate packed klib into file specified by -output. Disables pre-IR backend"
description = "Generate a packed klib into the file specified by '-output'. This disables the pre-IR backend."
)
var irProduceKlibFile = false
set(value) {
@@ -259,14 +259,14 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-Xir-produce-js", description = "Generates JS file using IR backend. Also disables pre-IR backend")
@Argument(value = "-Xir-produce-js", description = "Generate a JS file using the IR backend. This option also disables the pre-IR backend.")
var irProduceJs = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xir-dce", description = "Perform experimental dead code elimination")
@Argument(value = "-Xir-dce", description = "Perform experimental dead code elimination.")
var irDce = false
set(value) {
checkFrozen()
@@ -276,7 +276,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-dce-runtime-diagnostic",
valueDescription = "{$RUNTIME_DIAGNOSTIC_LOG|$RUNTIME_DIAGNOSTIC_EXCEPTION}",
description = "Enable runtime diagnostics when performing DCE instead of removing declarations"
description = "Enable runtime diagnostics instead of removing declarations when performing DCE."
)
var irDceRuntimeDiagnostic: String? = null
set(value) {
@@ -286,7 +286,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-dce-print-reachability-info",
description = "Print declarations' reachability info to stdout during performing DCE"
description = "Print reachability information about declarations to 'stdout' while performing DCE."
)
var irDcePrintReachabilityInfo = false
set(value) {
@@ -297,9 +297,9 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-dce-dump-reachability-info-to-file",
valueDescription = "<path>",
description = "Dump declarations' reachability info collected during performing DCE to a file. " +
description = "Dump reachability information collected about declarations while performing DCE to a file. " +
"The format will be chosen automatically based on the file extension. " +
"Supported output formats include JSON for .json, JS const initialized with a plain object containing information for .js, " +
"Supported output formats include JSON for .json, a JS const initialized with a plain object containing information for .js, " +
"and plain text for all other file types."
)
var irDceDumpReachabilityInfoToFile: String? = null
@@ -311,9 +311,9 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-dump-declaration-ir-sizes-to-file",
valueDescription = "<path>",
description = "Dump the IR size of each declaration to a file. " +
description = "Dump the IR size of each declaration into a file. " +
"The format will be chosen automatically depending on the file extension. " +
"Supported output formats include JSON for .json, JS const initialized with a plain object containing information for .js, " +
"Supported output formats include JSON for .json, a JS const initialized with a plain object containing information for .js, " +
"and plain text for all other file types."
)
var irDceDumpDeclarationIrSizesToFile: String? = null
@@ -322,21 +322,21 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-Xir-property-lazy-initialization", description = "Perform lazy initialization for properties")
@Argument(value = "-Xir-property-lazy-initialization", description = "Perform lazy initialization for properties.")
var irPropertyLazyInitialization = true
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xir-minimized-member-names", description = "Perform minimization for names of members")
@Argument(value = "-Xir-minimized-member-names", description = "Minimize the names of members.")
var irMinimizedMemberNames = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xir-only", description = "Disables pre-IR backend")
@Argument(value = "-Xir-only", description = "Disable the pre-IR backend.")
var irOnly = false
set(value) {
checkFrozen()
@@ -346,7 +346,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-module-name",
valueDescription = "<name>",
description = "Specify a compilation module name for IR backend"
description = "Specify the name of the compilation module for the IR backend."
)
var irModuleName: String? = null
set(value) {
@@ -354,7 +354,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xir-base-class-in-metadata", description = "Write base class into metadata")
@Argument(value = "-Xir-base-class-in-metadata", description = "Write base classes into metadata.")
var irBaseClassInMetadata = false
set(value) {
checkFrozen()
@@ -363,7 +363,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-safe-external-boolean",
description = "Safe access via Boolean() to Boolean properties in externals to safely cast falsy values."
description = "Wrap access to external 'Boolean' properties with an explicit conversion to 'Boolean'."
)
var irSafeExternalBoolean = false
set(value) {
@@ -374,7 +374,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-safe-external-boolean-diagnostic",
valueDescription = "{$RUNTIME_DIAGNOSTIC_LOG|$RUNTIME_DIAGNOSTIC_EXCEPTION}",
description = "Enable runtime diagnostics when access safely to boolean in external declarations"
description = "Enable runtime diagnostics when accessing external 'Boolean' properties."
)
var irSafeExternalBooleanDiagnostic: String? = null
set(value) {
@@ -382,28 +382,28 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xir-per-module", description = "Splits generated .js per-module")
@Argument(value = "-Xir-per-module", description = "Generate one .js file per module.")
var irPerModule = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xir-per-module-output-name", description = "Adds a custom output name to the splitted js files")
@Argument(value = "-Xir-per-module-output-name", description = "Add a custom output name to the split .js files.")
var irPerModuleOutputName: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xir-per-file", description = "Splits generated .js per-file")
@Argument(value = "-Xir-per-file", description = "Generate one .js file per source file.")
var irPerFile = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xir-new-ir2js", description = "New fragment-based ir2js")
@Argument(value = "-Xir-new-ir2js", description = "New fragment-based 'ir2js'.")
var irNewIr2Js = true
set(value) {
checkFrozen()
@@ -412,7 +412,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-generate-inline-anonymous-functions",
description = "Lambda expressions that capture values are translated into in-line anonymous JavaScript functions"
description = "Lambda expressions that capture values are translated into in-line anonymous JavaScript functions."
)
var irGenerateInlineAnonymousFunctions = false
set(value) {
@@ -423,7 +423,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xinclude",
valueDescription = "<path>",
description = "A path to an intermediate library that should be processed in the same manner as source files."
description = "Path to an intermediate library that should be processed in the same manner as source files."
)
var includes: String? = null
set(value) {
@@ -434,7 +434,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xcache-directory",
valueDescription = "<path>",
description = "A path to cache directory"
description = "Path to the cache directory."
)
var cacheDirectory: String? = null
set(value) {
@@ -442,7 +442,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xir-build-cache", description = "Use compiler to build cache")
@Argument(value = "-Xir-build-cache", description = "Use the compiler to build the cache.")
var irBuildCache = false
set(value) {
checkFrozen()
@@ -451,7 +451,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xgenerate-dts",
description = "Generate TypeScript declarations .d.ts file alongside JS file. Available in IR backend only."
description = "Generate a TypeScript declaration .d.ts file alongside the JS file. This is available only in the IR backend."
)
var generateDts = false
set(value) {
@@ -471,7 +471,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xstrict-implicit-export-types",
description = "Generate strict types for implicitly exported entities inside d.ts files. Available in IR backend only."
description = "Generate strict types for implicitly exported entities inside d.ts files. This is available in the IR backend only."
)
var strictImplicitExportType = false
set(value) {
@@ -486,7 +486,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
)
@Argument(
value = "-Xes-classes",
description = "Generated JavaScript will use ES2015 classes."
description = "Let generated JavaScript code use ES2015 classes."
)
var useEsClasses = false
set(value) {
@@ -499,7 +499,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-Xtyped-arrays", description = "Translate primitive arrays to JS typed arrays")
@Argument(value = "-Xtyped-arrays", description = "Translate primitive arrays into JS typed arrays.")
var typedArrays = true
set(value) {
checkFrozen()
@@ -511,7 +511,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-Xfriend-modules-disabled", description = "Disable internal declaration export")
@Argument(value = "-Xfriend-modules-disabled", description = "Disable internal declaration export.")
var friendModulesDisabled = false
set(value) {
checkFrozen()
@@ -521,7 +521,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xfriend-modules",
valueDescription = "<path>",
description = "Paths to friend modules"
description = "Paths to friend modules."
)
var friendModules: String? = null
set(value) {
@@ -531,7 +531,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xenable-extension-functions-in-externals",
description = "Enable extensions functions members in external interfaces"
description = "Enable extension function members in external interfaces."
)
var extensionFunctionsInExternals = false
set(value) {
@@ -539,91 +539,91 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-Xmetadata-only", description = "Generate *.meta.js and *.kjsm files only")
@Argument(value = "-Xmetadata-only", description = "Generate .meta.js and .kjsm files only.")
var metadataOnly = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xenable-js-scripting", description = "Enable experimental support of .kts files using K/JS (with -Xir only)")
@Argument(value = "-Xenable-js-scripting", description = "Enable experimental support for .kts files using K/JS (with '-Xir' only).")
var enableJsScripting = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xfake-override-validator", description = "Enable IR fake override validator")
@Argument(value = "-Xfake-override-validator", description = "Enable the IR fake override validator.")
var fakeOverrideValidator = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xerror-tolerance-policy", description = "Set up error tolerance policy (NONE, SEMANTIC, SYNTAX, ALL)")
@Argument(value = "-Xerror-tolerance-policy", description = "Set up an error tolerance policy (NONE, SEMANTIC, SYNTAX, ALL).")
var errorTolerancePolicy: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xpartial-linkage", valueDescription = "{enable|disable}", description = "Use partial linkage mode")
@Argument(value = "-Xpartial-linkage", valueDescription = "{enable|disable}", description = "Use partial linkage mode.")
var partialLinkageMode: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xpartial-linkage-loglevel", valueDescription = "{info|warning|error}", description = "Partial linkage compile-time log level")
@Argument(value = "-Xpartial-linkage-loglevel", valueDescription = "{info|warning|error}", description = "Define the compile-time log level for partial linkage.")
var partialLinkageLogLevel: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xwasm", description = "Use experimental WebAssembly compiler backend")
@Argument(value = "-Xwasm", description = "Use the experimental WebAssembly compiler backend.")
var wasm = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xwasm-debug-info", description = "Add debug info to WebAssembly compiled module")
@Argument(value = "-Xwasm-debug-info", description = "Add debug info to the compiled WebAssembly module.")
var wasmDebug = true
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xwasm-kclass-fqn", description = "Enable support for FQ names in KClass")
@Argument(value = "-Xwasm-kclass-fqn", description = "Enable support for 'KClass.qualifiedName'.")
var wasmKClassFqn = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xwasm-enable-array-range-checks", description = "Turn on range checks for the array access functions")
@Argument(value = "-Xwasm-enable-array-range-checks", description = "Turn on range checks for array access functions.")
var wasmEnableArrayRangeChecks = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xwasm-enable-asserts", description = "Turn on asserts")
@Argument(value = "-Xwasm-enable-asserts", description = "Turn on asserts.")
var wasmEnableAsserts = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xwasm-generate-wat", description = "Generate wat file")
@Argument(value = "-Xwasm-generate-wat", description = "Generate a .wat file.")
var wasmGenerateWat = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xwasm-target", description = "Set up Wasm target (wasm-js or wasm-wasi)")
@Argument(value = "-Xwasm-target", description = "Set up the Wasm target (wasm-js or wasm-wasi).")
var wasmTarget: String? = null
set(value) {
checkFrozen()
@@ -632,7 +632,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xwasm-use-traps-instead-of-exceptions",
description = "Trap instead of throwing exceptions"
description = "Use traps instead of throwing exceptions."
)
var wasmUseTrapsInsteadOfExceptions = false
set(value) {
@@ -642,7 +642,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xforce-deprecated-legacy-compiler-usage",
description = "The flag is used only for our inner infrastructure. It will be removed soon, so it's unsafe to use it nowadays."
description = "This flag is used only for our inner infrastructure. It will soon be removed, so it's no longer safe to use."
)
var forceDeprecatedLegacyCompilerUsage = false
set(value) {
@@ -652,7 +652,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xoptimize-generated-js",
description = "Perform additional optimizations on the generated JS code"
description = "Perform additional optimizations on the generated JS code."
)
var optimizeGeneratedJs = true
set(value) {
@@ -26,7 +26,7 @@ class K2JSDceArguments : CommonToolArguments() {
@Argument(
value = "-output-dir",
valueDescription = "<path>",
description = "Output directory"
description = "Output directory."
)
var outputDirectory: String? = null
set(value) {
@@ -37,7 +37,7 @@ class K2JSDceArguments : CommonToolArguments() {
@Argument(
value = "-keep",
valueDescription = "<fully.qualified.name[,]>",
description = "List of fully-qualified names of declarations that shouldn't be eliminated"
description = "List of fully-qualified names of declarations that shouldn't be eliminated."
)
var declarationsToKeep: Array<String>? = null
set(value) {
@@ -47,7 +47,7 @@ class K2JSDceArguments : CommonToolArguments() {
@Argument(
value = "-Xprint-reachability-info",
description = "Print declarations marked as reachable"
description = "Print declarations marked as reachable."
)
var printReachabilityInfo = false
set(value) {
@@ -62,7 +62,7 @@ class K2JSDceArguments : CommonToolArguments() {
)
@Argument(
value = "-dev-mode",
description = "Development mode: don't strip out any code, just copy dependencies"
description = "Development mode: don't strip out any code, just copy dependencies."
)
var devMode = false
set(value) {
@@ -73,7 +73,7 @@ class K2JSDceArguments : CommonToolArguments() {
@Argument(
value = "-Xdev-mode-overwriting-strategy",
valueDescription = "{$OLDER|$ALL}",
description = "Overwriting strategy during copy dependencies in development mode"
description = "Overwriting strategy when copying dependencies in development mode."
)
var devModeOverwritingStrategy: String? = null
set(value) {
@@ -15,7 +15,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
private val serialVersionUID = 0L
}
@Argument(value = "-d", valueDescription = "<directory|jar>", description = "Destination for generated class files")
@Argument(value = "-d", valueDescription = "<directory|jar>", description = "Destination for generated class files.")
var destination: String? = null
set(value) {
checkFrozen()
@@ -26,7 +26,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
value = "-classpath",
shortName = "-cp",
valueDescription = "<path>",
description = "List of directories and JAR/ZIP archives to search for user class files"
description = "List of directories and JAR/ZIP archives to search for user class files."
)
var classpath: String? = null
set(value) {
@@ -34,7 +34,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-include-runtime", description = "Include Kotlin runtime into the resulting JAR")
@Argument(value = "-include-runtime", description = "Include the Kotlin runtime in the resulting JAR.")
var includeRuntime = false
set(value) {
checkFrozen()
@@ -44,7 +44,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-jdk-home",
valueDescription = "<path>",
description = "Include a custom JDK from the specified location into the classpath instead of the default JAVA_HOME"
description = "Include a custom JDK from the specified location in the classpath instead of the default 'JAVA_HOME'."
)
var jdkHome: String? = null
set(value) {
@@ -57,7 +57,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-no-jdk", description = "Don't automatically include the Java runtime into the classpath")
@Argument(value = "-no-jdk", description = "Don't automatically include the Java runtime in the classpath.")
var noJdk = false
set(value) {
checkFrozen()
@@ -66,7 +66,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-no-stdlib",
description = "Don't automatically include the Kotlin/JVM stdlib and Kotlin reflection into the classpath"
description = "Don't automatically include the Kotlin/JVM stdlib and Kotlin reflection dependencies in the classpath."
)
var noStdlib = false
set(value) {
@@ -74,7 +74,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-no-reflect", description = "Don't automatically include Kotlin reflection into the classpath")
@Argument(value = "-no-reflect", description = "Don't automatically include the Kotlin reflection dependency in the classpath.")
var noReflect = false
set(value) {
checkFrozen()
@@ -84,7 +84,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-expression",
shortName = "-e",
description = "Evaluate the given string as a Kotlin script"
description = "Evaluate the given string as a Kotlin script."
)
var expression: String? = null
set(value) {
@@ -95,7 +95,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-script-templates",
valueDescription = "<fully qualified class name[,]>",
description = "Script definition template classes"
description = "Script definition template classes."
)
var scriptTemplates: Array<String>? = null
set(value) {
@@ -108,7 +108,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-module-name", valueDescription = "<name>", description = "Name of the generated .kotlin_module file")
@Argument(value = "-module-name", valueDescription = "<name>", description = "Name of the generated '.kotlin_module' file.")
var moduleName: String? = null
set(value) {
checkFrozen()
@@ -123,7 +123,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-jvm-target",
valueDescription = "<version>",
description = "Target version of the generated JVM bytecode (${JvmTarget.SUPPORTED_VERSIONS_DESCRIPTION}), default is 1.8",
description = "The target version of the generated JVM bytecode (${JvmTarget.SUPPORTED_VERSIONS_DESCRIPTION}), with 1.8 as the default.",
)
var jvmTarget: String? = null
set(value) {
@@ -136,7 +136,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-java-parameters", description = "Generate metadata for Java 1.8 reflection on method parameters")
@Argument(value = "-java-parameters", description = "Generate metadata for Java 1.8 reflection on method parameters.")
var javaParameters = false
set(value) {
checkFrozen()
@@ -145,7 +145,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
// Advanced options
@Argument(value = "-Xuse-old-backend", description = "Use the old JVM backend")
@Argument(value = "-Xuse-old-backend", description = "Use the old JVM backend.")
var useOldBackend = false
set(value) {
checkFrozen()
@@ -154,7 +154,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xallow-unstable-dependencies",
description = "Do not report errors on classes in dependencies, which were compiled by an unstable version of the Kotlin compiler"
description = "Do not report errors on classes in dependencies that were compiled by an unstable version of the Kotlin compiler."
)
var allowUnstableDependencies = false
set(value) {
@@ -165,10 +165,10 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xabi-stability",
valueDescription = "{stable|unstable}",
description = "When using unstable compiler features such as FIR, use 'stable' to mark generated class files as stable\n" +
"to prevent diagnostics from stable compilers at the call site.\n" +
"When using the JVM IR backend, conversely, use 'unstable' to mark generated class files as unstable\n" +
"to force diagnostics to be reported."
description = """When using unstable compiler features such as FIR, use 'stable' to mark generated class files as stable
to prevent diagnostics from being reported when using stable compilers at the call site.
When using the JVM IR backend, conversely, use 'unstable' to mark generated class files as unstable
to force diagnostics to be reported."""
)
var abiStability: String? = null
set(value) {
@@ -178,7 +178,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xir-do-not-clear-binding-context",
description = "When using the IR backend, do not clear BindingContext between psi2ir and lowerings"
description = "When using the IR backend, do not clear BindingContext between 'psi2ir' and lowerings."
)
var doNotClearBindingContext = false
set(value) {
@@ -189,9 +189,9 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xbackend-threads",
valueDescription = "<N>",
description = "When using the IR backend, run lowerings by file in N parallel threads.\n" +
"0 means use a thread per processor core.\n" +
"Default value is 1"
description = """When using the IR backend, run lowerings by file in N parallel threads.
0 means use one thread per processor core.
The default value is 1."""
)
var backendThreads: String = "1"
set(value) {
@@ -199,7 +199,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-Xmodule-path", valueDescription = "<path>", description = "Paths where to find Java 9+ modules")
@Argument(value = "-Xmodule-path", valueDescription = "<path>", description = "Paths to Java 9+ modules.")
var javaModulePath: String? = null
set(value) {
checkFrozen()
@@ -209,8 +209,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xadd-modules",
valueDescription = "<module[,]>",
description = "Root modules to resolve in addition to the initial modules,\n" +
"or all modules on the module path if <module> is ALL-MODULE-PATH"
description = """Root modules to resolve in addition to the initial modules, or all modules on the module path if <module> is ALL-MODULE-PATH."""
)
var additionalJavaModules: Array<String>? = null
set(value) {
@@ -218,7 +217,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-Xno-call-assertions", description = "Don't generate not-null assertions for arguments of platform types")
@Argument(value = "-Xno-call-assertions", description = "Don't generate not-null assertions for arguments of platform types.")
var noCallAssertions = false
set(value) {
checkFrozen()
@@ -227,7 +226,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xno-receiver-assertions",
description = "Don't generate not-null assertion for extension receiver arguments of platform types"
description = "Don't generate not-null assertions for extension receiver arguments of platform types."
)
var noReceiverAssertions = false
set(value) {
@@ -237,7 +236,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xno-param-assertions",
description = "Don't generate not-null assertions on parameters of methods accessible from Java"
description = "Don't generate not-null assertions on parameters of methods accessible from Java."
)
var noParamAssertions = false
set(value) {
@@ -245,7 +244,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-Xno-optimize", description = "Disable optimizations")
@Argument(value = "-Xno-optimize", description = "Disable optimizations.")
var noOptimize = false
set(value) {
checkFrozen()
@@ -254,12 +253,12 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xassertions", valueDescription = "{always-enable|always-disable|jvm|legacy}",
description = "Assert calls behaviour\n" +
"-Xassertions=always-enable: enable, ignore jvm assertion settings;\n" +
"-Xassertions=always-disable: disable, ignore jvm assertion settings;\n" +
"-Xassertions=jvm: enable, depend on jvm assertion settings;\n" +
"-Xassertions=legacy: calculate condition on each call, check depends on jvm assertion settings in the kotlin package;\n" +
"default: legacy"
description = """'kotlin.assert' call behavior:
-Xassertions=always-enable: enable, ignore JVM assertion settings;
-Xassertions=always-disable: disable, ignore JVM assertion settings;
-Xassertions=jvm: enable, depend on JVM assertion settings;
-Xassertions=legacy: calculate the condition on each call, the behavior depends on JVM assertion settings in the kotlin package;
default: legacy"""
)
var assertionsMode: String? = JVMAssertionsMode.DEFAULT.description
set(value) {
@@ -271,7 +270,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
value = "-Xbuild-file",
deprecatedName = "-module",
valueDescription = "<path>",
description = "Path to the .xml build file to compile"
description = "Path to the .xml build file to compile."
)
var buildFile: String? = null
set(value) {
@@ -279,14 +278,14 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xmultifile-parts-inherit", description = "Compile multifile classes as a hierarchy of parts and facade")
@Argument(value = "-Xmultifile-parts-inherit", description = "Compile multifile classes as a hierarchy of parts and a facade.")
var inheritMultifileParts = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xuse-type-table", description = "Use type table in metadata serialization")
@Argument(value = "-Xuse-type-table", description = "Use a type table in metadata serialization.")
var useTypeTable = false
set(value) {
checkFrozen()
@@ -295,8 +294,8 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xuse-old-class-files-reading",
description = "Use old class files reading implementation. This may slow down the build and cause problems with Groovy interop.\n" +
"Should be used in case of problems with the new implementation"
description = """Use the old implementation for reading class files. This may slow down the compilation and cause problems with Groovy interop.
This can be used in the event of problems with the new implementation."""
)
var useOldClassFilesReading = false
set(value) {
@@ -306,7 +305,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xuse-fast-jar-file-system",
description = "Use fast implementation on Jar FS. This may speed up compilation time, but currently it's an experimental mode"
description = "Use the fast implementation of Jar FS. This may speed up compilation time, but it is experimental."
)
var useFastJarFileSystem = false
set(value) {
@@ -317,7 +316,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xdump-declarations-to",
valueDescription = "<path>",
description = "Path to JSON file to dump Java to Kotlin declaration mappings"
description = "Path to the JSON file where Java-to-Kotlin declaration mappings should be dumped."
)
var declarationsOutputPath: String? = null
set(value) {
@@ -327,7 +326,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xsuppress-missing-builtins-error",
description = "Suppress the \"cannot access built-in declaration\" error (useful with -no-stdlib)"
description = """Suppress the "cannot access built-in declaration" error (useful with '-no-stdlib')."""
)
var suppressMissingBuiltinsError = false
set(value) {
@@ -338,7 +337,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xscript-resolver-environment",
valueDescription = "<key=value[,]>",
description = "Script resolver environment in key-value pairs (the value could be quoted and escaped)"
description = "Set the script resolver environment in key-value pairs (the value can be quoted and escaped)."
)
var scriptResolverEnvironment: Array<String>? = null
set(value) {
@@ -347,14 +346,14 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
}
// Javac options
@Argument(value = "-Xuse-javac", description = "Use javac for Java source and class files analysis")
@Argument(value = "-Xuse-javac", description = "Use javac for Java source and class file analysis.")
var useJavac = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xcompile-java", description = "Reuse javac analysis and compile Java source files")
@Argument(value = "-Xcompile-java", description = "Reuse 'javac' analysis and compile Java source files.")
var compileJava = false
set(value) {
checkFrozen()
@@ -364,7 +363,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xjavac-arguments",
valueDescription = "<option[,]>",
description = "Java compiler arguments"
description = "Java compiler arguments."
)
var javacArguments: Array<String>? = null
set(value) {
@@ -376,7 +375,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xjava-source-roots",
valueDescription = "<path>",
description = "Paths to directories with Java source files"
description = "Paths to directories with Java source files."
)
var javaSourceRoots: Array<String>? = null
set(value) {
@@ -386,7 +385,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xjava-package-prefix",
description = "Package prefix for Java files"
description = "Package prefix for Java files."
)
var javaPackagePrefix: String? = null
set(value) {
@@ -400,14 +399,14 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
valueDescription = "{ignore/strict/warn}" +
"|under-migration:{ignore/strict/warn}" +
"|@<fq.name>:{ignore/strict/warn}",
description = "Specify behavior for JSR-305 nullability annotations:\n" +
"-Xjsr305={ignore/strict/warn} globally (all non-@UnderMigration annotations)\n" +
"-Xjsr305=under-migration:{ignore/strict/warn} all @UnderMigration annotations\n" +
"-Xjsr305=@<fq.name>:{ignore/strict/warn} annotation with the given fully qualified class name\n" +
"Modes:\n" +
" * ignore\n" +
" * strict (experimental; treat as other supported nullability annotations)\n" +
" * warn (report a warning)"
description = """Specify the behavior of 'JSR-305' nullability annotations:
-Xjsr305={ignore/strict/warn} global (all non-@UnderMigration annotations)
-Xjsr305=under-migration:{ignore/strict/warn} all @UnderMigration annotations
-Xjsr305=@<fq.name>:{ignore/strict/warn} annotation with the given fully qualified class name
Modes:
* ignore
* strict (experimental; treat like other supported nullability annotations)
* warn (report a warning)"""
)
var jsr305: Array<String>? = null
set(value) {
@@ -418,11 +417,11 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xnullability-annotations",
valueDescription = "@<fq.name>:{ignore/strict/warn}",
description = "Specify behavior for specific Java nullability annotations (provided with fully qualified package name)\n" +
"Modes:\n" +
" * ignore\n" +
" * strict\n" +
" * warn (report a warning)"
description = """Specify the behavior for specific Java nullability annotations (provided with fully qualified package name).
Modes:
* ignore
* strict
* warn (report a warning)"""
)
var nullabilityAnnotations: Array<String>? = null
set(value) {
@@ -433,8 +432,8 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xsupport-compatqual-checker-framework-annotations",
valueDescription = "enable|disable",
description = "Specify behavior for Checker Framework compatqual annotations (NullableDecl/NonNullDecl).\n" +
"Default value is 'enable'"
description = """Specify the behavior for Checker Framework 'compatqual' annotations ('NullableDecl'/'NonNullDecl').
The default value is 'enable'."""
)
var supportCompatqualCheckerFrameworkAnnotations: String? = null
set(value) {
@@ -445,8 +444,8 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xjspecify-annotations",
valueDescription = "ignore|strict|warn",
description = "Specify behavior for jspecify annotations.\n" +
"Default value is 'warn'"
description = """Specify the behavior of 'jspecify' annotations.
The default value is 'warn'."""
)
var jspecifyAnnotations: String? = null
set(value) {
@@ -457,25 +456,25 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xjvm-default",
valueDescription = "{all|all-compatibility|disable}",
description = """Emit JVM default methods for interface declarations with bodies. Default is 'disable'.
description = """Emit JVM default methods for interface declarations with bodies. The default is 'disable'.
-Xjvm-default=all Generate JVM default methods for all interface declarations with bodies in the module.
Do not generate DefaultImpls stubs for interface declarations with bodies, which are generated by default
in the 'disable' mode. If interface inherits a method with body from an interface compiled in the 'disable'
mode and doesn't override it, then a DefaultImpls stub will be generated for it.
BREAKS BINARY COMPATIBILITY if some client code relies on the presence of DefaultImpls classes.
Do not generate 'DefaultImpls' stubs for interface declarations with bodies. If an interface inherits a method with a
body from an interface compiled in 'disable' mode and doesn't override it, then a 'DefaultImpls' stub will be
generated for it.
This BREAKS BINARY COMPATIBILITY if some client code relies on the presence of 'DefaultImpls' classes.
Note that if interface delegation is used, all interface methods are delegated.
-Xjvm-default=all-compatibility In addition to the 'all' mode, generate compatibility stubs in the DefaultImpls classes.
Compatibility stubs could be useful for library and runtime authors to keep backward binary compatibility
-Xjvm-default=all-compatibility Like 'all', but additionally generate compatibility stubs in the 'DefaultImpls' classes.
Compatibility stubs can help library and runtime authors maintain backward binary compatibility
for existing clients compiled against previous library versions.
'all' and 'all-compatibility' modes are changing the library ABI surface that will be used by clients after
the recompilation of the library. In that sense, clients might be incompatible with previous library
versions. This usually means that proper library versioning is required, e.g. major version increase in SemVer.
In case of inheritance from a Kotlin interface compiled in 'all' or 'all-compatibility' modes, DefaultImpls
'all' and 'all-compatibility' modes change the library ABI surface that will be used by clients after
the recompilation of the library. Because of this, clients might be incompatible with previous library
versions. This usually means that proper library versioning is required, for example with major version increases in SemVer.
In subtypes of Kotlin interfaces compiled in 'all' or 'all-compatibility' mode, 'DefaultImpls'
compatibility stubs will invoke the default method of the interface with standard JVM runtime resolution semantics.
Perform additional compatibility checks for classes inheriting generic interfaces where in some cases
additional implicit method with specialized signatures was generated in the 'disable' mode:
unlike in the 'disable' mode, the compiler will report an error if such method is not overridden explicitly
and the class is not annotated with @JvmDefaultWithoutCompatibility (see KT-39603 for more details).
Perform additional compatibility checks for classes inheriting generic interfaces where in some cases an
additional implicit method with specialized signatures was generated in 'disable' mode.
Unlike in 'disable' mode, the compiler will report an error if such a method is not overridden explicitly
and the class is not annotated with '@JvmDefaultWithoutCompatibility' (see KT-39603 for more details).
-Xjvm-default=disable Default behavior. Do not generate JVM default methods."""
)
var jvmDefault: String = JvmDefaultMode.DEFAULT.description
@@ -487,7 +486,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xdefault-script-extension",
valueDescription = "<script filename extension>",
description = "Compile expressions and unrecognized scripts passed with the -script argument as scripts with given filename extension"
description = "Compile expressions and unrecognized scripts passed with the -script argument as scripts with the given filename extension."
)
var defaultScriptExtension: String? = null
set(value) {
@@ -495,7 +494,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
field = value
}
@Argument(value = "-Xdisable-standard-script", description = "Disable standard kotlin script support")
@Argument(value = "-Xdisable-standard-script", description = "Disable standard Kotlin scripting support.")
var disableStandardScript = false
set(value) {
checkFrozen()
@@ -504,7 +503,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xgenerate-strict-metadata-version",
description = "Generate metadata with strict version semantics (see kdoc on Metadata.extraInt)"
description = "Generate metadata with strict version semantics (see the KDoc entry on 'Metadata.extraInt')."
)
var strictMetadataVersionSemantics = false
set(value) {
@@ -514,9 +513,9 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xsanitize-parentheses",
description = "Transform '(' and ')' in method names to some other character sequence.\n" +
"This mode can BREAK BINARY COMPATIBILITY and is only supposed to be used to workaround\n" +
"problems with parentheses in identifiers on certain platforms"
description = """Transform '(' and ')' in method names to some other character sequence.
This mode can BREAK BINARY COMPATIBILITY and should only be used as a workaround for
problems with parentheses in identifiers on certain platforms."""
)
var sanitizeParentheses = false
set(value) {
@@ -527,7 +526,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xfriend-paths",
valueDescription = "<path>",
description = "Paths to output directories for friend modules (whose internals should be visible)"
description = "Paths to output directories for friend modules (modules whose internals should be visible)."
)
var friendPaths: Array<String>? = null
set(value) {
@@ -537,7 +536,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xallow-no-source-files",
description = "Allow no source files"
description = "Allow the set of source files to be empty."
)
var allowNoSourceFiles = false
set(value) {
@@ -547,7 +546,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xemit-jvm-type-annotations",
description = "Emit JVM type annotations in bytecode"
description = "Emit JVM type annotations in bytecode."
)
var emitJvmTypeAnnotations = false
set(value) {
@@ -558,11 +557,11 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xstring-concat",
valueDescription = "{indy-with-constants|indy|inline}",
description = """Select code generation scheme for string concatenation.
-Xstring-concat=indy-with-constants Concatenate strings using `invokedynamic` `makeConcatWithConstants`. Requires `-jvm-target 9` or greater.
-Xstring-concat=indy Concatenate strings using `invokedynamic` `makeConcat`. Requires `-jvm-target 9` or greater.
-Xstring-concat=inline Concatenate strings using `StringBuilder`
default: `indy-with-constants` for JVM target 9 or greater, `inline` otherwise"""
description = """Select the code generation scheme for string concatenation:
-Xstring-concat=indy-with-constants Concatenate strings using 'invokedynamic' and 'makeConcatWithConstants'. This requires '-jvm-target 9' or greater.
-Xstring-concat=indy Concatenate strings using 'invokedynamic' and 'makeConcat'. This requires '-jvm-target 9' or greater.
-Xstring-concat=inline Concatenate strings using 'StringBuilder'
default: 'indy-with-constants' for JVM targets 9 or greater, 'inline' otherwise."""
)
var stringConcat: String? = null
@@ -574,9 +573,9 @@ default: `indy-with-constants` for JVM target 9 or greater, `inline` otherwise""
@Argument(
value = "-Xjdk-release",
valueDescription = "<version>",
description = """Compile against the specified JDK API version, similarly to javac's `-release`. Requires JDK 9 or newer.
Supported versions depend on the used JDK; for JDK 17+ supported versions are ${JvmTarget.SUPPORTED_VERSIONS_DESCRIPTION}.
Also sets `-jvm-target` value equal to the selected JDK version"""
description = """Compile against the specified JDK API version, similarly to javac's '-release'. This requires JDK 9 or newer.
The supported versions depend on the JDK used; for JDK 17+, the supported versions are 1.8 and 921.
This also sets the value of '-jvm-target' to be equal to the selected JDK version."""
)
var jdkRelease: String? = null
set(value) {
@@ -588,9 +587,9 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xsam-conversions",
valueDescription = "{class|indy}",
description = """Select code generation scheme for SAM conversions.
-Xsam-conversions=indy Generate SAM conversions using `invokedynamic` with `LambdaMetafactory.metafactory`. Requires `-jvm-target 1.8` or greater.
-Xsam-conversions=class Generate SAM conversions as explicit classes"""
description = """Select the code generation scheme for SAM conversions.
-Xsam-conversions=indy Generate SAM conversions using 'invokedynamic' with 'LambdaMetafactory.metafactory'. Requires '-jvm-target 1.8' or greater.
-Xsam-conversions=class Generate SAM conversions as explicit classes"""
)
var samConversions: String? = null
set(value) {
@@ -601,10 +600,10 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xlambdas",
valueDescription = "{class|indy}",
description = """Select code generation scheme for lambdas.
-Xlambdas=indy Generate lambdas using `invokedynamic` with `LambdaMetafactory.metafactory`. Requires `-jvm-target 1.8` or greater.
Lambda objects created using `LambdaMetafactory.metafactory` will have different `toString()`.
-Xlambdas=class Generate lambdas as explicit classes"""
description = """Select the code generation scheme for lambdas.
-Xlambdas=indy Generate lambdas using 'invokedynamic' with 'LambdaMetafactory.metafactory'. This requires '-jvm-target 1.8' or greater.
A lambda object created using 'LambdaMetafactory.metafactory' will have a different 'toString()'.
-Xlambdas=class Generate lambdas as explicit classes."""
)
var lambdas: String? = null
set(value) {
@@ -615,7 +614,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xklib",
valueDescription = "<path>",
description = "Paths to cross-platform libraries in .klib format"
description = "Paths to cross-platform libraries in the .klib format."
)
var klibLibraries: String? = null
set(value) {
@@ -625,7 +624,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xno-optimized-callable-references",
description = "Do not use optimized callable reference superclasses available from 1.4"
description = "Don't use optimized callable reference superclasses, which have been available since 1.4."
)
var noOptimizedCallableReferences = false
set(value) {
@@ -635,7 +634,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xno-kotlin-nothing-value-exception",
description = "Do not use KotlinNothingValueException available since 1.4"
description = "Don't use KotlinNothingValueException, which has been available since 1.4."
)
var noKotlinNothingValueException = false
set(value) {
@@ -645,7 +644,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xno-reset-jar-timestamps",
description = "Do not reset jar entry timestamps to a fixed date"
description = "Don't reset jar entry timestamps to a fixed date."
)
var noResetJarTimestamps = false
set(value) {
@@ -655,7 +654,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xno-unified-null-checks",
description = "Use pre-1.4 exception types in null checks instead of java.lang.NPE. See KT-22275 for more details"
description = "Use pre-1.4 exception types instead of 'java.lang.NPE' in null checks. See KT-22275 for more details."
)
var noUnifiedNullChecks = false
set(value) {
@@ -665,7 +664,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xno-source-debug-extension",
description = "Do not generate @kotlin.jvm.internal.SourceDebugExtension annotation on a class with the copy of SMAP"
description = "Don't generate the '@kotlin.jvm.internal.SourceDebugExtension' annotation with an SMAP copy on classes."
)
var noSourceDebugExtension = false
set(value) {
@@ -676,10 +675,10 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xprofile",
valueDescription = "<profilerPath:command:outputDir>",
description = "Debug option: Run compiler with async profiler and save snapshots to `outputDir`; `command` is passed to async-profiler on start.\n" +
"`profilerPath` is a path to libasyncProfiler.so; async-profiler.jar should be on the compiler classpath.\n" +
"If it's not on the classpath, the compiler will attempt to load async-profiler.jar from the containing directory of profilerPath.\n" +
"Example: -Xprofile=<PATH_TO_ASYNC_PROFILER>/async-profiler/build/libasyncProfiler.so:event=cpu,interval=1ms,threads,start:<SNAPSHOT_DIR_PATH>"
description = """Debug option: Run the compiler with the async profiler and save snapshots to `outputDir`; `command` is passed to the async profiler on start.
`profilerPath` is the path to libasyncProfiler.so; async-profiler.jar should be on the compiler classpath.
If it's not on the classpath, the compiler will attempt to load async-profiler.jar from the containing directory of profilerPath.
Example: -Xprofile=<PATH_TO_ASYNC_PROFILER>/async-profiler/build/libasyncProfiler.so:event=cpu,interval=1ms,threads,start:<SNAPSHOT_DIR_PATH>"""
)
var profileCompilerCommand: String? = null
set(value) {
@@ -690,7 +689,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xrepeat",
valueDescription = "<number>",
description = "Debug option: Repeats modules compilation <number> times"
description = "Debug option: Repeat module compilation <number> times."
)
var repeatCompileModules: String? = null
set(value) {
@@ -700,7 +699,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xuse-14-inline-classes-mangling-scheme",
description = "Use 1.4 inline classes mangling scheme instead of 1.4.30 one"
description = "Use the scheme for inline class mangling from version 1.4 instead of the one from 1.4.30."
)
var useOldInlineClassesManglingScheme = false
set(value) {
@@ -710,8 +709,8 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xjvm-enable-preview",
description = "Allow using features from Java language that are in preview phase.\n" +
"Works as `--enable-preview` in Java. All class files are marked as preview-generated thus it won't be possible to use them in release environment"
description = """Allow using Java features that are in the preview phase.
This works like '--enable-preview' in Java. All class files are marked as compiled with preview features, meaning it won't be possible to use them in release environments."""
)
var enableJvmPreview = false
set(value) {
@@ -721,8 +720,8 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xsuppress-deprecated-jvm-target-warning",
description = "Suppress deprecation warning about deprecated JVM target versions.\n" +
"This option has no effect and will be deleted in a future version."
description = """Suppress warnings about deprecated JVM target versions.
This option has no effect and will be deleted in a future version."""
)
var suppressDeprecatedJvmTargetWarning = false
set(value) {
@@ -732,9 +731,9 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xtype-enhancement-improvements-strict-mode",
description = "Enable strict mode for some improvements in the type enhancement for loaded Java types based on nullability annotations,\n" +
"including freshly supported reading of the type use annotations from class files.\n" +
"See KT-45671 for more details"
description = """Enable strict mode for improvements to type enhancement for loaded Java types based on nullability annotations,
including the ability to read type-use annotations from class files.
See KT-45671 for more details."""
)
var typeEnhancementImprovementsInStrictMode = false
set(value) {
@@ -745,7 +744,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xserialize-ir",
valueDescription = "{none|inline|all}",
description = "Save IR to metadata (EXPERIMENTAL)"
description = "Save the IR to metadata (Experimental)."
)
var serializeIr: String = "none"
set(value) {
@@ -755,7 +754,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xvalidate-ir",
description = "Validate IR before and after lowering"
description = "Validate IR before and after lowering."
)
var validateIr = false
set(value) {
@@ -765,7 +764,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xvalidate-bytecode",
description = "Validate generated JVM bytecode before and after optimizations"
description = "Validate generated JVM bytecode before and after optimizations."
)
var validateBytecode = false
set(value) {
@@ -775,7 +774,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xenhance-type-parameter-types-to-def-not-null",
description = "Enhance not null annotated type parameter's types to definitely not null types (@NotNull T => T & Any)"
description = "Enhance not-null-annotated type parameter types to definitely-non-nullable types ('@NotNull T' => 'T & Any')."
)
var enhanceTypeParameterTypesToDefNotNull = false
set(value) {
@@ -785,8 +784,8 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xlink-via-signatures",
description = "Link JVM IR symbols via signatures, instead of descriptors.\n" +
"This mode is slower, but can be useful in troubleshooting problems with the JVM IR backend"
description = """Link JVM IR symbols via signatures instead of descriptors.
This mode is slower, but it can be useful for troubleshooting problems with the JVM IR backend."""
)
var linkViaSignatures = false
set(value) {
@@ -796,8 +795,8 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xdebug",
description = "Enable debug mode for compilation.\n" +
"Currently this includes spilling all variables in a suspending context regardless their liveness."
description = """Enable debug mode for compilation.
Currently this includes spilling all variables in a suspending context regardless of whether they are alive."""
)
var enableDebugMode = false
set(value) {
@@ -807,7 +806,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xno-new-java-annotation-targets",
description = "Do not generate Java 1.8+ targets for Kotlin annotation classes"
description = "Don't generate Java 1.8+ targets for Kotlin annotation classes."
)
var noNewJavaAnnotationTargets = false
set(value) {
@@ -817,8 +816,8 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xuse-old-innerclasses-logic",
description = "Use old logic for generation of InnerClasses attributes.\n" +
"This option is deprecated and will be deleted in future versions."
description = """Use the old logic for the generation of 'InnerClasses' attributes.
This option is deprecated and will be deleted in future versions."""
)
var oldInnerClassesLogic = false
set(value) {
@@ -828,7 +827,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xvalue-classes",
description = "Enable experimental value classes"
description = "Enable experimental value classes."
)
var valueClasses = false
set(value) {
@@ -838,7 +837,7 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
@Argument(
value = "-Xir-inliner",
description = "Inline functions using IR inliner instead of bytecode inliner"
description = "Inline functions using the IR inliner instead of the bytecode inliner."
)
var enableIrInliner: Boolean = false
set(value) {
@@ -27,7 +27,7 @@ class K2MetadataCompilerArguments : CommonCompilerArguments() {
@JvmStatic private val serialVersionUID = 0L
}
@Argument(value = "-d", valueDescription = "<directory|jar>", description = "Destination for generated .kotlin_metadata files")
@Argument(value = "-d", valueDescription = "<directory|jar>", description = "Destination for generated .kotlin_metadata files.")
var destination: String? = null
set(value) {
checkFrozen()
@@ -35,10 +35,10 @@ class K2MetadataCompilerArguments : CommonCompilerArguments() {
}
@Argument(
value = "-classpath",
shortName = "-cp",
valueDescription = "<path>",
description = "Paths where to find library .kotlin_metadata files"
value = "-classpath",
shortName = "-cp",
valueDescription = "<path>",
description = "List of directories and JAR/ZIP archives to search for user .kotlin_metadata files."
)
var classpath: String? = null
set(value) {
@@ -46,7 +46,7 @@ class K2MetadataCompilerArguments : CommonCompilerArguments() {
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-module-name", valueDescription = "<name>", description = "Name of the generated .kotlin_module file")
@Argument(value = "-module-name", valueDescription = "<name>", description = "Name of the generated .kotlin_module file.")
var moduleName: String? = null
set(value) {
checkFrozen()
@@ -55,7 +55,7 @@ class K2MetadataCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xjps",
description = "Enable in JPS"
description = "Enable in JPS."
)
var enabledInJps = false
set(value) {
@@ -66,7 +66,7 @@ class K2MetadataCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xfriend-paths",
valueDescription = "<path>",
description = "Paths to output directories for friend modules (whose internals should be visible)"
description = "Paths to output directories for friend modules (modules whose internals should be visible)."
)
var friendPaths: Array<String>? = null
set(value) {
@@ -77,7 +77,7 @@ class K2MetadataCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xrefines-paths",
valueDescription = "<path>",
description = "Paths to output directories for refined modules (whose expects this module can actualize)"
description = "Paths to output directories for refined modules (modules whose expects this module can actualize)."
)
var refinesPaths: Array<String>? = null
set(value) {
@@ -14,49 +14,49 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
// Prepend them with a single dash.
// Keep the list lexically sorted.
@Argument(value = "-enable-assertions", deprecatedName = "-enable_assertions", shortName = "-ea", description = "Enable runtime assertions in generated code")
@Argument(value = "-enable-assertions", deprecatedName = "-enable_assertions", shortName = "-ea", description = "Enable runtime assertions in generated code.")
var enableAssertions: Boolean = false
@Argument(value = "-g", description = "Enable emitting debug information")
@Argument(value = "-g", description = "Enable the emission of debug information.")
var debug: Boolean = false
@Argument(
value = "-generate-test-runner",
deprecatedName = "-generate_test_runner",
shortName = "-tr", description = "Produce a runner for unit tests"
shortName = "-tr", description = "Produce a runner for unit tests."
)
var generateTestRunner = false
@Argument(
value = "-generate-worker-test-runner",
shortName = "-trw",
description = "Produce a worker runner for unit tests"
description = "Produce a worker runner for unit tests."
)
var generateWorkerTestRunner = false
@Argument(
value = "-generate-no-exit-test-runner",
shortName = "-trn",
description = "Produce a runner for unit tests not forcing exit"
description = "Produce a runner for unit tests that doesn't force an exit."
)
var generateNoExitTestRunner = false
@Argument(value="-include-binary", deprecatedName = "-includeBinary", shortName = "-ib", valueDescription = "<path>", description = "Pack external binary within the klib")
@Argument(value="-include-binary", deprecatedName = "-includeBinary", shortName = "-ib", valueDescription = "<path>", description = "Pack the given external binary into the klib.")
var includeBinaries: Array<String>? = null
@Argument(value = "-library", shortName = "-l", valueDescription = "<path>", description = "Link with the library", delimiter = Argument.Delimiters.none)
@Argument(value = "-library", shortName = "-l", valueDescription = "<path>", description = "Link with the given library.", delimiter = Argument.Delimiters.none)
var libraries: Array<String>? = null
@Argument(value = "-library-version", shortName = "-lv", valueDescription = "<version>", description = "Set library version")
@Argument(value = "-library-version", shortName = "-lv", valueDescription = "<version>", description = "Set the library version.")
var libraryVersion: String? = null
@Argument(value = "-list-targets", deprecatedName = "-list_targets", description = "List available hardware targets")
@Argument(value = "-list-targets", deprecatedName = "-list_targets", description = "List available hardware targets.")
var listTargets: Boolean = false
@Argument(value = "-manifest", valueDescription = "<path>", description = "Provide a maniferst addend file")
@Argument(value = "-manifest", valueDescription = "<path>", description = "Provide a manifest addend file.")
var manifestFile: String? = null
@Argument(value="-memory-model", valueDescription = "<model>", description = "Memory model to use, 'strict' and 'experimental' are currently supported")
@Argument(value="-memory-model", valueDescription = "<model>", description = "Choose the memory model to be used 'strict' and 'experimental' are currently supported.")
var memoryModel: String? = null
@GradleOption(
@@ -67,7 +67,7 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
value = "-module-name",
deprecatedName = "-module_name",
valueDescription = "<name>",
description = "Specify a name for the compilation module"
description = "Specify a name for the compilation module."
)
var moduleName: String? = null
@@ -76,48 +76,48 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
deprecatedName = "-nativelibrary",
shortName = "-nl",
valueDescription = "<path>",
description = "Include the native bitcode library", delimiter = Argument.Delimiters.none
description = "Include the given native bitcode library.", delimiter = Argument.Delimiters.none
)
var nativeLibraries: Array<String>? = null
@Argument(value = "-no-default-libs", deprecatedName = "-nodefaultlibs", description = "Don't link the libraries from dist/klib automatically")
@Argument(value = "-no-default-libs", deprecatedName = "-nodefaultlibs", description = "Don't link the libraries from dist/klib automatically.")
var nodefaultlibs: Boolean = false
@Argument(
value = "-no-endorsed-libs",
description = "Don't link the endorsed libraries from dist automatically. " +
"Deprecated option: the dist has no endorsed libraries anymore."
description = "Don't link endorsed libraries from the dist automatically. " +
"This option has been deprecated, as the dist no longer has any endorsed libraries."
)
var noendorsedlibs: Boolean = false
@Argument(value = "-nomain", description = "Assume 'main' entry point to be provided by external libraries")
@Argument(value = "-nomain", description = "Assume the 'main' entry point will be provided by external libraries.")
var nomain: Boolean = false
@Argument(value = "-nopack", description = "Don't pack the library into a klib file")
@Argument(value = "-nopack", description = "Don't pack the library into a klib file.")
var nopack: Boolean = false
@Argument(value="-linker-options", deprecatedName = "-linkerOpts", valueDescription = "<arg>", description = "Pass arguments to linker", delimiter = " ")
@Argument(value="-linker-options", deprecatedName = "-linkerOpts", valueDescription = "<arg>", description = "Pass arguments to the linker.", delimiter = " ")
var linkerArguments: Array<String>? = null
@Argument(value="-linker-option", valueDescription = "<arg>", description = "Pass argument to linker", delimiter = Argument.Delimiters.none)
@Argument(value="-linker-option", valueDescription = "<arg>", description = "Pass the given argument to the linker.", delimiter = Argument.Delimiters.none)
var singleLinkerArguments: Array<String>? = null
@Argument(value = "-nostdlib", description = "Don't link with stdlib")
@Argument(value = "-nostdlib", description = "Don't link with the stdlib.")
var nostdlib: Boolean = false
@Argument(value = "-opt", description = "Enable optimizations during compilation")
@Argument(value = "-opt", description = "Enable optimizations during compilation.")
var optimization: Boolean = false
@Argument(value = "-output", shortName = "-o", valueDescription = "<name>", description = "Output name")
@Argument(value = "-output", shortName = "-o", valueDescription = "<name>", description = "Output name.")
var outputName: String? = null
@Argument(value = "-entry", shortName = "-e", valueDescription = "<name>", description = "Qualified entry point name")
@Argument(value = "-entry", shortName = "-e", valueDescription = "<name>", description = "Qualified entry point name.")
var mainPackage: String? = null
@Argument(
value = "-produce", shortName = "-p",
valueDescription = "{program|static|dynamic|framework|library|bitcode}",
description = "Specify output file kind"
description = "Specify the output file kind."
)
var produce: String? = null
@@ -128,11 +128,11 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
valueDescription = "<path>",
description = "Library search path.\n" +
"Note: This option is deprecated and will be removed in one of the future releases.\n" +
"Please use library paths instead of library names in all compiler options such as '-library'"
"Please use library paths instead of library names in all compiler options such as '-library'."
)
var repositories: Array<String>? = null
@Argument(value = "-target", valueDescription = "<target>", description = "Set hardware target")
@Argument(value = "-target", valueDescription = "<target>", description = "Set the hardware target.")
var target: String? = null
// The rest of the options are only interesting to the developers.
@@ -142,14 +142,14 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xbundle-id",
valueDescription = "<id>",
description = "Bundle ID to be set in Info.plist of a produced framework. Deprecated. Please use -Xbinary=bundleId=<id>."
description = "Bundle ID to be set in the Info.plist file of the produced framework. This option is deprecated. Please use '-Xbinary=bundleId=<id>'."
)
var bundleId: String? = null
@Argument(
value = "-Xcache-directory",
valueDescription = "<path>",
description = "Path to the directory containing caches",
description = "Path to the directory containing caches.",
delimiter = Argument.Delimiters.none
)
var cacheDirectories: Array<String>? = null
@@ -157,7 +157,7 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = CACHED_LIBRARY,
valueDescription = "<library path>,<cache path>",
description = "Comma-separated paths of a library and its cache",
description = "Paths to a library and its cache, separated by a comma.",
delimiter = Argument.Delimiters.none
)
var cachedLibraries: Array<String>? = null
@@ -165,8 +165,8 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xauto-cache-from",
valueDescription = "<path>",
description = "Path to the root directory from which dependencies are to be cached automatically.\n" +
"By default caches will be placed into the kotlin-native system cache directory.",
description = """Path to the root directory from which dependencies are to be cached automatically.
By default caches will be placed into the kotlin-native system cache directory.""",
delimiter = Argument.Delimiters.none
)
var autoCacheableFrom: Array<String>? = null
@@ -174,7 +174,7 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xauto-cache-dir",
valueDescription = "<path>",
description = "Path to the directory where to put caches for auto-cacheable dependencies",
description = "Path to the directory where caches for auto-cacheable dependencies should be put.",
delimiter = Argument.Delimiters.none
)
var autoCacheDir: String? = null
@@ -182,18 +182,18 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = INCREMENTAL_CACHE_DIR,
valueDescription = "<path>",
description = "Path to the directory where to put incremental build caches",
description = "Path to the directory where incremental build caches should be put.",
delimiter = ""
)
var incrementalCacheDir: String? = null
@Argument(value="-Xcheck-dependencies", deprecatedName = "--check_dependencies", description = "Check dependencies and download the missing ones")
@Argument(value="-Xcheck-dependencies", deprecatedName = "--check_dependencies", description = "Check dependencies and download the missing ones.")
var checkDependencies: Boolean = false
@Argument(value = EMBED_BITCODE_FLAG, description = "Embed LLVM IR bitcode as data")
@Argument(value = EMBED_BITCODE_FLAG, description = "Embed LLVM IR bitcode as data.")
var embedBitcode: Boolean = false
@Argument(value = EMBED_BITCODE_MARKER_FLAG, description = "Embed placeholder LLVM IR data as a marker")
@Argument(value = EMBED_BITCODE_MARKER_FLAG, description = "Embed placeholder LLVM IR data as a marker.")
var embedBitcodeMarker: Boolean = false
@Argument(value = "-Xemit-lazy-objc-header", description = "")
@@ -202,8 +202,8 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xexport-library",
valueDescription = "<path>",
description = "A library to be included into produced framework API.\n" +
"Must be one of libraries passed with '-library'",
description = """A library to be included in the produced framework API.
This library must be one of the ones passed with '-library'.""",
delimiter = Argument.Delimiters.none
)
var exportedLibraries: Array<String>? = null
@@ -211,39 +211,39 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xexternal-dependencies",
valueDescription = "<path>",
description = "Path to the file containing external dependencies.\n" +
"External dependencies are required for verbose output in case of IR linker errors,\n" +
"but they do not affect compilation at all."
description = """Path to the file containing external dependencies.
External dependencies are required for verbose output in the event of IR linker errors,
but they do not affect compilation at all."""
)
var externalDependencies: String? = null
@Argument(value="-Xfake-override-validator", description = "Enable IR fake override validator")
@Argument(value="-Xfake-override-validator", description = "Enable the IR fake override validator.")
var fakeOverrideValidator: Boolean = false
@Argument(
value = "-Xframework-import-header",
valueDescription = "<header>",
description = "Add additional header import to framework header"
description = "Add an additional header import to the framework header."
)
var frameworkImportHeaders: Array<String>? = null
@Argument(
value = "-Xadd-light-debug",
valueDescription = "{disable|enable}",
description = "Add light debug information for optimized builds. This option is skipped in debug builds.\n" +
"It's enabled by default on Darwin platforms where collected debug information is stored in .dSYM file.\n" +
"Currently option is disabled by default on other platforms."
description = """Add light debug information for optimized builds. This option is skipped in debug builds.
It's enabled by default on Darwin platforms where collected debug information is stored in a .dSYM file.
Currently this option is disabled by default on other platforms."""
)
var lightDebugString: String? = null
// TODO: remove after 1.4 release.
@Argument(value = "-Xg0", description = "Add light debug information. Deprecated option. Please use instead -Xadd-light-debug=enable")
@Argument(value = "-Xg0", description = "Add light debug information. This option has been deprecated. Please use '-Xadd-light-debug=enable' instead.")
var lightDebugDeprecated: Boolean = false
@Argument(
value = "-Xg-generate-debug-trampoline",
valueDescription = "{disable|enable}",
description = """generates trampolines to make debugger breakpoint resolution more accurate (inlines, when, etc.)"""
description = """Generate trampolines to make debugger breakpoint resolution more accurate (inlines, 'when', etc.)."""
)
var generateDebugTrampolineString: String? = null
@@ -251,7 +251,7 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = ADD_CACHE,
valueDescription = "<path>",
description = "Path to the library to be added to cache",
description = "Path to a library to be added to the cache.",
delimiter = Argument.Delimiters.none
)
var libraryToAddToCache: String? = null
@@ -259,84 +259,84 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xfile-to-cache",
valueDescription = "<path>",
description = "Path to file to cache",
description = "Path to the file to cache.",
delimiter = Argument.Delimiters.none
)
var filesToCache: Array<String>? = null
@Argument(value = "-Xmake-per-file-cache", description = "Force compiler to produce per-file cache")
@Argument(value = "-Xmake-per-file-cache", description = "Force the compiler to produce per-file caches.")
var makePerFileCache: Boolean = false
@Argument(
value = "-Xbackend-threads",
valueDescription = "<N>",
description = "Run codegen by file in N parallel threads.\n" +
"0 means use a thread per processor core.\n" +
"Default value is 1"
description = """Run codegen by file in N parallel threads.
0 means use one thread per processor core.
The default value is 1."""
)
var backendThreads: String = "1"
@Argument(value = "-Xexport-kdoc", description = "Export KDoc in framework header")
@Argument(value = "-Xexport-kdoc", description = "Export KDoc entries in the framework header.")
var exportKDoc: Boolean = false
@Argument(value = "-Xprint-bitcode", deprecatedName = "--print_bitcode", description = "Print llvm bitcode")
@Argument(value = "-Xprint-bitcode", deprecatedName = "--print_bitcode", description = "Print LLVM bitcode.")
var printBitCode: Boolean = false
@Argument(value = "-Xcheck-state-at-external-calls", description = "Check all calls of possibly long external functions are done in Native state")
@Argument(value = "-Xcheck-state-at-external-calls", description = "Ensure that all calls of possibly long external functions are done in the native thread state.")
var checkExternalCalls: Boolean = false
@Argument(value = "-Xprint-ir", deprecatedName = "--print_ir", description = "Print IR")
@Argument(value = "-Xprint-ir", deprecatedName = "--print_ir", description = "Print IR.")
var printIr: Boolean = false
@Argument(value = "-Xprint-files", description = "Print files")
@Argument(value = "-Xprint-files", description = "Print files.")
var printFiles: Boolean = false
@Argument(value="-Xpurge-user-libs", deprecatedName = "--purge_user_libs", description = "Don't link unused libraries even explicitly specified")
@Argument(value="-Xpurge-user-libs", deprecatedName = "--purge_user_libs", description = "Don't link unused libraries even if explicitly specified.")
var purgeUserLibs: Boolean = false
@Argument(value = "-Xruntime", deprecatedName = "--runtime", valueDescription = "<path>", description = "Override standard 'runtime.bc' location")
@Argument(value = "-Xruntime", deprecatedName = "--runtime", valueDescription = "<path>", description = "Override the standard 'runtime.bc' location.")
var runtimeFile: String? = null
@Argument(
value = INCLUDE_ARG,
valueDescription = "<path>",
description = "A path to an intermediate library that should be processed in the same manner as source files"
description = "A path to an intermediate library that should be processed in the same manner as source files."
)
var includes: Array<String>? = null
@Argument(
value = SHORT_MODULE_NAME_ARG,
valueDescription = "<name>",
description = "A short name used to denote this library in the IDE and in a generated Objective-C header"
description = "A short name used to denote this library in the IDE and in a generated Objective-C header."
)
var shortModuleName: String? = null
@Argument(value = STATIC_FRAMEWORK_FLAG, description = "Create a framework with a static library instead of a dynamic one")
@Argument(value = STATIC_FRAMEWORK_FLAG, description = "Create a framework with a static library instead of a dynamic one.")
var staticFramework: Boolean = false
@Argument(value = "-Xtemporary-files-dir", deprecatedName = "--temporary_files_dir", valueDescription = "<path>", description = "Save temporary files to the given directory")
@Argument(value = "-Xtemporary-files-dir", deprecatedName = "--temporary_files_dir", valueDescription = "<path>", description = "Save temporary files to the given directory.")
var temporaryFilesDir: String? = null
@Argument(value = "-Xsave-llvm-ir-after", description = "Save result of Kotlin IR to LLVM IR translation to -Xsave-llvm-ir-directory.")
@Argument(value = "-Xsave-llvm-ir-after", description = "Save the result of the Kotlin IR to LLVM IR translation to '-Xsave-llvm-ir-directory'.")
var saveLlvmIrAfter: Array<String> = emptyArray()
@Argument(value = "-Xverify-bitcode", deprecatedName = "--verify_bitcode", description = "Verify llvm bitcode after each method")
@Argument(value = "-Xverify-bitcode", deprecatedName = "--verify_bitcode", description = "Verify LLVM bitcode after each method.")
var verifyBitCode: Boolean = false
@Argument(
value = "-Xverify-ir",
valueDescription = "{none|warning|error}",
description = "IR verification mode (no verification by default)"
description = "IR verification mode (no verification by default)."
)
var verifyIr: String? = null
@Argument(value = "-Xverify-compiler", description = "Verify compiler")
@Argument(value = "-Xverify-compiler", description = "Verify the compiler.")
var verifyCompiler: String? = null
@Argument(
value = "-friend-modules",
valueDescription = "<path>",
description = "Paths to friend modules"
description = "Paths to friend modules."
)
var friendModules: String? = null
@@ -346,50 +346,50 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xrefines-paths",
valueDescription = "<path>",
description = "Paths to output directories for refined modules (whose expects this module can actualize)"
description = "Paths to output directories for refined modules (modules whose 'expect' declarations this module can actualize)."
)
var refinesPaths: Array<String>? = null
@Argument(value = "-Xdebug-info-version", description = "generate debug info of given version (1, 2)")
@Argument(value = "-Xdebug-info-version", description = "Generate debug info of the given version (1, 2).")
var debugInfoFormatVersion: String = "1" /* command line parser doesn't accept kotlin.Int type */
@Argument(value = "-Xcoverage", description = "emit coverage")
@Argument(value = "-Xcoverage", description = "Emit code coverage information.")
var coverage: Boolean = false
@Argument(
value = "-Xlibrary-to-cover",
valueDescription = "<path>",
description = "Provide code coverage for the given library.\n" +
"Must be one of libraries passed with '-library'",
description = """Emit code coverage information for the given library.
The library must be one of the ones passed with '-library'.""",
delimiter = Argument.Delimiters.none
)
var coveredLibraries: Array<String>? = null
@Argument(value = "-Xcoverage-file", valueDescription = "<path>", description = "Save coverage information to the given file")
@Argument(value = "-Xcoverage-file", valueDescription = "<path>", description = "Save coverage information to the given file.")
var coverageFile: String? = null
@Argument(value = "-Xno-objc-generics", description = "Disable generics support for framework header")
@Argument(value = "-Xno-objc-generics", description = "Disable generics support for framework header.")
var noObjcGenerics: Boolean = false
@Argument(value="-Xoverride-clang-options", valueDescription = "<arg1,arg2,...>", description = "Explicit list of Clang options")
@Argument(value="-Xoverride-clang-options", valueDescription = "<arg1,arg2,...>", description = "Explicit list of Clang options.")
var clangOptions: Array<String>? = null
@Argument(value="-Xallocator", valueDescription = "std | mimalloc | custom", description = "Allocator used in runtime")
@Argument(value="-Xallocator", valueDescription = "std | mimalloc | custom", description = "Allocator used at runtime.")
var allocator: String? = null
@Argument(
value = "-Xheader-klib-path",
description = "Save a klib that only contains the public abi to the given path"
description = "Save a klib that only contains the public ABI to the given path."
)
var headerKlibPath: String? = null
@Argument(value = "-Xdebug-prefix-map", valueDescription = "<old1=new1,old2=new2,...>", description = "Remap file source directory paths in debug info")
@Argument(value = "-Xdebug-prefix-map", valueDescription = "<old1=new1,old2=new2,...>", description = "Remap file source directory paths in debug info.")
var debugPrefixMap: Array<String>? = null
@Argument(
value = "-Xpre-link-caches",
valueDescription = "{disable|enable}",
description = "Perform caches pre-link"
description = "Perform caches pre-linking."
)
var preLinkCaches: String? = null
@@ -398,89 +398,89 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
@Argument(
value = "-Xoverride-konan-properties",
valueDescription = "key1=value1;key2=value2;...",
description = "Override konan.properties.values",
description = "Override values from 'konan.properties' with the given ones.",
delimiter = ";"
)
var overrideKonanProperties: Array<String>? = null
@Argument(value="-Xdestroy-runtime-mode", valueDescription = "<mode>", description = "When to destroy runtime. 'legacy' and 'on-shutdown' are currently supported. NOTE: 'legacy' mode is deprecated and will be removed.")
@Argument(value="-Xdestroy-runtime-mode", valueDescription = "<mode>", description = "When to destroy the runtime 'legacy' and 'on-shutdown' are currently supported. Note that 'legacy' mode is deprecated and will be removed.")
var destroyRuntimeMode: String? = null
@Argument(value="-Xgc", valueDescription = "<gc>", description = "GC to use, 'noop', 'stms' and 'cms' are currently supported. Works only with -memory-model experimental")
@Argument(value="-Xgc", valueDescription = "<gc>", description = "GC to use 'noop', 'stms', and 'cms' are currently supported. This works only with '-memory-model experimental'.")
var gc: String? = null
@Argument(value = "-Xir-property-lazy-initialization", valueDescription = "{disable|enable}", description = "Initialize top level properties lazily per file")
@Argument(value = "-Xir-property-lazy-initialization", valueDescription = "{disable|enable}", description = "Initialize top level properties lazily per file.")
var propertyLazyInitialization: String? = null
// TODO: Remove when legacy MM is gone.
@Argument(
value = "-Xworker-exception-handling",
valueDescription = "<mode>",
description = "Unhandled exception processing in Worker.executeAfter. Possible values: 'legacy', 'use-hook'. The default value is 'legacy', for -memory-model experimental the default value is 'use-hook'"
description = "Unhandled exception processing in 'Worker.executeAfter'. Possible values: 'legacy' and 'use-hook'. The default value is 'legacy' and for '-memory-model experimental', the default value is 'use-hook'."
)
var workerExceptionHandling: String? = null
@Argument(
value = "-Xllvm-variant",
valueDescription = "{dev|user|absolute path to llvm}",
description = "Choose LLVM distribution which will be used during compilation."
description = "Choose the LLVM distribution that will be used during compilation."
)
var llvmVariant: String? = null
@Argument(
value = "-Xbinary",
valueDescription = "<option=value>",
description = "Specify binary option"
description = "Specify a binary option."
)
var binaryOptions: Array<String>? = null
@Argument(value = "-Xruntime-logs", valueDescription = "<tag1=level1,tag2=level2,...>", description = "Enable logging for runtime with tags.")
@Argument(value = "-Xruntime-logs", valueDescription = "<tag1=level1,tag2=level2,...>", description = "Enable logging of Native runtime internals.")
var runtimeLogs: String? = null
@Argument(
value = "-Xdump-tests-to",
valueDescription = "<path>",
description = "Path to a file to dump the list of all available tests"
description = "Path to a file for dumping the list of all available tests."
)
var testDumpOutputPath: String? = null
@Argument(value = "-Xlazy-ir-for-caches", valueDescription = "{disable|enable}", description = "Use lazy IR for cached libraries")
@Argument(value = "-Xlazy-ir-for-caches", valueDescription = "{disable|enable}", description = "Use lazy IR for cached libraries.")
var lazyIrForCaches: String? = null
@Argument(value = "-Xpartial-linkage", valueDescription = "{enable|disable}", description = "Use partial linkage mode")
@Argument(value = "-Xpartial-linkage", valueDescription = "{enable|disable}", description = "Use partial linkage mode.")
var partialLinkageMode: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xpartial-linkage-loglevel", valueDescription = "{info|warning|error}", description = "Partial linkage compile-time log level")
@Argument(value = "-Xpartial-linkage-loglevel", valueDescription = "{info|warning|error}", description = "Define the compile-time log level for partial linkage.")
var partialLinkageLogLevel: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xomit-framework-binary", description = "Omit binary when compiling framework")
@Argument(value = "-Xomit-framework-binary", description = "Omit binary when compiling the framework.")
var omitFrameworkBinary: Boolean = false
@Argument(value = "-Xcompile-from-bitcode", description = "Continue compilation from bitcode file", valueDescription = "<path>")
@Argument(value = "-Xcompile-from-bitcode", description = "Continue compilation from the given bitcode file.", valueDescription = "<path>")
var compileFromBitcode: String? = null
@Argument(
value = "-Xread-dependencies-from",
description = "Serialized dependencies to use for linking",
description = "Serialized dependencies to use for linking.",
valueDescription = "<path>"
)
var serializedDependencies: String? = null
@Argument(value = "-Xwrite-dependencies-to", description = "Path for writing backend dependencies")
@Argument(value = "-Xwrite-dependencies-to", description = "Path for writing backend dependencies.")
var saveDependenciesPath: String? = null
@Argument(value = "-Xsave-llvm-ir-directory", description = "Directory that should contain results of -Xsave-llvm-ir-after=<phase>")
@Argument(value = "-Xsave-llvm-ir-directory", description = "Directory that should contain the results of '-Xsave-llvm-ir-after=<phase>'.")
var saveLlvmIrDirectory: String? = null
@Argument(value = "-Xkonan-data-dir", description = "Custom path for konan distributions location")
@Argument(value = "-Xkonan-data-dir", description = "Custom path to the location of konan distributions.")
var konanDataDir: String? = null
override fun configureAnalysisFlags(collector: MessageCollector, languageVersion: LanguageVersion): MutableMap<AnalysisFlag<*>, Any> =
@@ -113,7 +113,7 @@ public class Usage {
while (sb.length() < descriptionStart) {
sb.append(" ");
}
appendln(sb, "Pass an option directly to JVM");
appendln(sb, "Pass an option directly to JVM.");
}
private static void renderArgfileUsage(@NotNull StringBuilder sb) {
@@ -124,7 +124,7 @@ public class Usage {
while (sb.length() < descriptionStart) {
sb.append(" ");
}
appendln(sb, "Read compiler arguments and file paths from the given file");
appendln(sb, "Read compiler arguments and file paths from the given file.");
}
private static void appendln(@NotNull StringBuilder sb, @NotNull String string) {
+2 -2
View File
@@ -1,8 +1,8 @@
Usage: kotlin-dce-js <options> <source files>
where advanced options include:
-Xdev-mode-overwriting-strategy={older|all}
Overwriting strategy during copy dependencies in development mode
-Xprint-reachability-info Print declarations marked as reachable
Overwriting strategy when copying dependencies in development mode.
-Xprint-reachability-info Print declarations marked as reachable.
Advanced options are non-standard and may be changed or removed without any notice.
OK
+11 -11
View File
@@ -1,15 +1,15 @@
Usage: kotlin-dce-js <options> <source files>
where possible options include:
-keep <fully.qualified.name[,]>
List of fully-qualified names of declarations that shouldn't be eliminated
-dev-mode Development mode: don't strip out any code, just copy dependencies
-output-dir <path> Output directory
-Werror Report an error if there are any warnings
-X Print a synopsis of advanced options
-help (-h) Print a synopsis of standard options
-nowarn Generate no warnings
-verbose Enable verbose logging output
-version Display compiler version
-J<option> Pass an option directly to JVM
@<argfile> Read compiler arguments and file paths from the given file
List of fully-qualified names of declarations that shouldn't be eliminated.
-dev-mode Development mode: don't strip out any code, just copy dependencies.
-output-dir <path> Output directory.
-Werror Report an error if there are any warnings.
-X Print a synopsis of advanced options.
-help (-h) Print a synopsis of standard options.
-nowarn Don't generate any warnings.
-verbose Enable verbose logging output.
-version Display the compiler version.
-J<option> Pass an option directly to JVM.
@<argfile> Read compiler arguments and file paths from the given file.
OK
+115 -113
View File
@@ -1,150 +1,152 @@
Usage: kotlinc-js <options> <source files>
where advanced options include:
-Xcache-directory=<path> A path to cache directory
-Xenable-js-scripting Enable experimental support of .kts files using K/JS (with -Xir only)
-Xerror-tolerance-policy Set up error tolerance policy (NONE, SEMANTIC, SYNTAX, ALL)
-Xcache-directory=<path> Path to the cache directory.
-Xenable-js-scripting Enable experimental support for .kts files using K/JS (with '-Xir' only).
-Xerror-tolerance-policy Set up an error tolerance policy (NONE, SEMANTIC, SYNTAX, ALL).
-Xenable-extension-functions-in-externals
Enable extensions functions members in external interfaces
-Xfake-override-validator Enable IR fake override validator
Enable extension function members in external interfaces.
-Xfake-override-validator Enable the IR fake override validator.
-Xforce-deprecated-legacy-compiler-usage
The flag is used only for our inner infrastructure. It will be removed soon, so it's unsafe to use it nowadays.
-Xfriend-modules=<path> Paths to friend modules
-Xfriend-modules-disabled Disable internal declaration export
-Xgenerate-dts Generate TypeScript declarations .d.ts file alongside JS file. Available in IR backend only.
This flag is used only for our inner infrastructure. It will soon be removed, so it's no longer safe to use.
-Xfriend-modules=<path> Paths to friend modules.
-Xfriend-modules-disabled Disable internal declaration export.
-Xgenerate-dts Generate a TypeScript declaration .d.ts file alongside the JS file. This is available only in the IR backend.
-Xgenerate-polyfills Generate polyfills for features from the ES6+ standards.
-Xinclude=<path> A path to an intermediate library that should be processed in the same manner as source files.
-Xir-base-class-in-metadata Write base class into metadata
-Xir-build-cache Use compiler to build cache
-Xir-dce Perform experimental dead code elimination
-Xinclude=<path> Path to an intermediate library that should be processed in the same manner as source files.
-Xir-base-class-in-metadata Write base classes into metadata.
-Xir-build-cache Use the compiler to build the cache.
-Xir-dce Perform experimental dead code elimination.
-Xir-dump-declaration-ir-sizes-to-file=<path>
Dump the IR size of each declaration to a file. The format will be chosen automatically depending on the file extension. Supported output formats include JSON for .json, JS const initialized with a plain object containing information for .js, and plain text for all other file types.
Dump the IR size of each declaration into a file. The format will be chosen automatically depending on the file extension. Supported output formats include JSON for .json, a JS const initialized with a plain object containing information for .js, and plain text for all other file types.
-Xir-dce-dump-reachability-info-to-file=<path>
Dump declarations' reachability info collected during performing DCE to a file. The format will be chosen automatically based on the file extension. Supported output formats include JSON for .json, JS const initialized with a plain object containing information for .js, and plain text for all other file types.
Dump reachability information collected about declarations while performing DCE to a file. The format will be chosen automatically based on the file extension. Supported output formats include JSON for .json, a JS const initialized with a plain object containing information for .js, and plain text for all other file types.
-Xir-dce-print-reachability-info
Print declarations' reachability info to stdout during performing DCE
Print reachability information about declarations to 'stdout' while performing DCE.
-Xir-dce-runtime-diagnostic={log|exception}
Enable runtime diagnostics when performing DCE instead of removing declarations
Enable runtime diagnostics instead of removing declarations when performing DCE.
-Xir-generate-inline-anonymous-functions
Lambda expressions that capture values are translated into in-line anonymous JavaScript functions
-Xir-keep Comma-separated list of fully-qualified names to not be eliminated by DCE (if it can be reached), and for which to keep non-minified names.
-Xir-minimized-member-names Perform minimization for names of members
-Xir-module-name=<name> Specify a compilation module name for IR backend
-Xir-new-ir2js New fragment-based ir2js
-Xir-only Disables pre-IR backend
-Xir-per-file Splits generated .js per-file
-Xir-per-module Splits generated .js per-module
-Xir-per-module-output-name Adds a custom output name to the splitted js files
-Xir-produce-js Generates JS file using IR backend. Also disables pre-IR backend
-Xir-produce-klib-dir Generate unpacked KLIB into parent directory of output JS file.
In combination with -meta-info generates both IR and pre-IR versions of library.
-Xir-produce-klib-file Generate packed klib into file specified by -output. Disables pre-IR backend
Lambda expressions that capture values are translated into in-line anonymous JavaScript functions.
-Xir-keep Comma-separated list of fully qualified names not to be eliminated by DCE (if it can be reached), and for which to keep non-minified names.
-Xir-minimized-member-names Minimize the names of members.
-Xir-module-name=<name> Specify the name of the compilation module for the IR backend.
-Xir-new-ir2js New fragment-based 'ir2js'.
-Xir-only Disable the pre-IR backend.
-Xir-per-file Generate one .js file per source file.
-Xir-per-module Generate one .js file per module.
-Xir-per-module-output-name Add a custom output name to the split .js files.
-Xir-produce-js Generate a JS file using the IR backend. This option also disables the pre-IR backend.
-Xir-produce-klib-dir Generate an unpacked klib into the parent directory of the output JS file.
In combination with '-meta-info', this generates both IR and pre-IR versions of the library.
-Xir-produce-klib-file Generate a packed klib into the file specified by '-output'. This disables the pre-IR backend.
-Xir-property-lazy-initialization
Perform lazy initialization for properties
-Xir-safe-external-boolean Safe access via Boolean() to Boolean properties in externals to safely cast falsy values.
Perform lazy initialization for properties.
-Xir-safe-external-boolean Wrap access to external 'Boolean' properties with an explicit conversion to 'Boolean'.
-Xir-safe-external-boolean-diagnostic={log|exception}
Enable runtime diagnostics when access safely to boolean in external declarations
-Xmetadata-only Generate *.meta.js and *.kjsm files only
-Xoptimize-generated-js Perform additional optimizations on the generated JS code
Enable runtime diagnostics when accessing external 'Boolean' properties.
-Xmetadata-only Generate .meta.js and .kjsm files only.
-Xoptimize-generated-js Perform additional optimizations on the generated JS code.
-Xpartial-linkage-loglevel={info|warning|error}
Partial linkage compile-time log level
Define the compile-time log level for partial linkage.
-Xpartial-linkage={enable|disable}
Use partial linkage mode
-Xstrict-implicit-export-types Generate strict types for implicitly exported entities inside d.ts files. Available in IR backend only.
-Xtyped-arrays Translate primitive arrays to JS typed arrays
-Xes-classes Generated JavaScript will use ES2015 classes.
-Xwasm Use experimental WebAssembly compiler backend
-Xwasm-debug-info Add debug info to WebAssembly compiled module
Use partial linkage mode.
-Xstrict-implicit-export-types Generate strict types for implicitly exported entities inside d.ts files. This is available in the IR backend only.
-Xtyped-arrays Translate primitive arrays into JS typed arrays.
-Xes-classes Let generated JavaScript code use ES2015 classes.
-Xwasm Use the experimental WebAssembly compiler backend.
-Xwasm-debug-info Add debug info to the compiled WebAssembly module.
-Xwasm-enable-array-range-checks
Turn on range checks for the array access functions
-Xwasm-enable-asserts Turn on asserts
-Xwasm-generate-wat Generate wat file
-Xwasm-kclass-fqn Enable support for FQ names in KClass
-Xwasm-target Set up Wasm target (wasm-js or wasm-wasi)
Turn on range checks for array access functions.
-Xwasm-enable-asserts Turn on asserts.
-Xwasm-generate-wat Generate a .wat file.
-Xwasm-kclass-fqn Enable support for 'KClass.qualifiedName'.
-Xwasm-target Set up the Wasm target (wasm-js or wasm-wasi).
-Xwasm-use-traps-instead-of-exceptions
Trap instead of throwing exceptions
Use traps instead of throwing exceptions.
-Xallow-any-scripts-in-source-roots
Allow to compile any scripts along with regular Kotlin sources
-Xallow-kotlin-package Allow compiling code in package 'kotlin' and allow not requiring kotlin.stdlib in module-info
-Xallow-result-return-type Allow compiling code when `kotlin.Result` is used as a return type
-Xbuiltins-from-sources Compile builtIns from sources
-Xcheck-phase-conditions Check pre- and postconditions on phases
Allow compiling scripts along with regular Kotlin sources.
-Xallow-kotlin-package Allow compiling code in the 'kotlin' package, and allow not requiring 'kotlin.stdlib' in 'module-info'.
-Xallow-result-return-type Allow compiling code when 'kotlin.Result' is used as a return type.
-Xbuiltins-from-sources Compile built-ins from sources.
-Xcheck-phase-conditions Check pre- and postconditions of IR lowering phases.
-Xcheck-sticky-phase-conditions
Run sticky condition checks on subsequent phases as well. Implies -Xcheck-phase-conditions
-Xcommon-sources=<path> Sources of the common module that need to be compiled together with this module in the multi-platform mode.
Should be a subset of sources passed as free arguments
-Xcontext-receivers Enable experimental context receivers
Run sticky condition checks on subsequent phases. Implicitly enables '-Xcheck-phase-conditions'.
-Xcommon-sources=<path> Sources of the common module that need to be compiled together with this module in multiplatform mode.
They should be a subset of sources passed as free arguments.
-Xcontext-receivers Enable experimental context receivers.
-Xdisable-default-scripting-plugin
Do not enable scripting plugin by default
-Xdisable-phases Disable backend phases
-Xdisable-ultra-light-classes Do not use the ultra light classes implementation
Don't enable the scripting plugin by default.
-Xdisable-phases Disable backend phases.
-Xdisable-ultra-light-classes Don't use ultra-light classes.
-Xdont-warn-on-error-suppression
Don't report a warning when an error is suppressed. Only affects K2.
-Xdump-directory Dump backend state into directory
-Xdump-fqname FqName of declaration that should be dumped
-Xdump-perf=<path> Dump detailed performance statistics to the specified file
-Xeffect-system Enable experimental language feature: effect system
-Xenable-builder-inference Use the builder inference by default, for all calls with lambdas which can't be resolved without it.
Don't report warnings when errors are suppressed. This only affects K2.
-Xdump-directory Dump the backend state into this directory.
-Xdump-fqname Dump the declaration with the given FqName.
-Xdump-perf=<path> Dump detailed performance statistics to the specified file.
-Xeffect-system Enable experimental language feature: effect system.
-Xenable-builder-inference Use builder inference by default for all calls with lambdas that can't be resolved without it.
The corresponding calls' declarations may not be marked with @BuilderInference.
-Xklib-enable-signature-clash-checks
Enable the checks on uniqueness of signatures
Enable signature uniqueness checks.
-Xexpect-actual-classes 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta.
Kotlin reports a warning every time you use them. You can use this flag to mute the warning.
Kotlin reports a warning every time you use one of them. You can use this flag to mute the warning.
-Xexplicit-api={strict|warning|disable}
Force compiler to report errors on all public API declarations without explicit visibility or return type.
Use 'warning' level to issue warnings instead of errors.
Force the compiler to report errors on all public API declarations without an explicit visibility or a return type.
Use the 'warning' level to issue warnings instead of errors.
-Xextended-compiler-checks Enable additional compiler checks that might provide verbose diagnostic information for certain errors.
Warning: this mode is not backward-compatible and might cause compilation errors in previously compiled code.
Warning: This mode is not backward compatible and might cause compilation errors in previously compiled code.
-Xfragment-refines=<fromModuleName>:<onModuleName>
Declares that <fromModuleName> refines <onModuleName> with dependsOn/refines relation
Declare that <fromModuleName> refines <onModuleName> with the dependsOn/refines relation.
-Xfragment-sources=<fragment name>:<path>
Adds sources to a specific fragment of a multiplatform compilation
-Xfragments=<fragment name> Declares all known fragments of a multiplatform compilation
Add sources to a specific fragment of a multiplatform compilation.
-Xfragments=<fragment name> Declare all known fragments of a multiplatform compilation.
-Xignore-const-optimization-errors
Ignore all compilation exceptions while optimizing some constant expressions.
-Xenable-incremental-compilation
Enable incremental compilation
-Xinference-compatibility Enable compatibility changes for generic type inference algorithm
-Xinline-classes Enable experimental inline classes
-Xintellij-plugin-root=<path> Path to the kotlin-compiler.jar or directory where IntelliJ configuration files can be found
-Xlegacy-smart-cast-after-try Allow var smart casts despite assignment in try block
-Xlist-phases List backend phases
-Xmetadata-klib Produce a klib that only contains the declarations metadata
-Xmetadata-version Change metadata version of the generated binary files
-Xmulti-platform Enable language support for multi-platform projects
-Xnew-inference Enable new experimental generic type inference algorithm
-Xno-check-actual Do not check presence of 'actual' modifier in multi-platform projects
-Xno-inline Disable method inlining
-Xklib-normalize-absolute-path Normalize absolute paths in klibs
-Xphases-to-dump Dump backend state both before and after these phases
-Xphases-to-dump-after Dump backend state after these phases
-Xphases-to-dump-before Dump backend state before these phases
-Xphases-to-validate Validate backend state both before and after these phases
-Xphases-to-validate-after Validate backend state after these phases
-Xphases-to-validate-before Validate backend state before these phases
-Xplugin=<path> Load plugins from the given classpath
Enable incremental compilation.
-Xinference-compatibility Enable compatibility changes for the generic type inference algorithm.
-Xinline-classes Enable experimental inline classes.
-Xintellij-plugin-root=<path> Path to 'kotlin-compiler.jar' or the directory where the IntelliJ IDEA configuration files can be found.
-Xlegacy-smart-cast-after-try Allow 'var' smart casts even in the presence of assignments in 'try' blocks.
-Xlist-phases List backend phases.
-Xmetadata-klib Produce a klib that only contains the metadata of declarations.
-Xmetadata-version Change the metadata version of the generated binary files.
-Xmulti-platform Enable language support for multiplatform projects.
-Xnew-inference Enable the new experimental generic type inference algorithm.
-Xno-check-actual Do not check for the presence of the 'actual' modifier in multiplatform projects.
-Xno-inline Disable method inlining.
-Xklib-normalize-absolute-path Normalize absolute paths in klibs.
-Xphases-to-dump Dump the backend's state both before and after these phases.
-Xphases-to-dump-after Dump the backend's state after these phases.
-Xphases-to-dump-before Dump the backend's state before these phases.
-Xphases-to-validate Validate the backend's state both before and after these phases.
-Xphases-to-validate-after Validate the backend's state after these phases.
-Xphases-to-validate-before Validate the backend's state before these phases.
-Xplugin=<path> Load plugins from the given classpath.
-Xcompiler-plugin=<path1>,<path2>:<optionName>=<value>,<optionName>=<value>
Register compiler plugin
-Xprofile-phases Profile backend phases
-Xproper-ieee754-comparisons Generate proper IEEE 754 comparisons in all cases if values are statically known to be of primitive numeric types
-Xread-deserialized-contracts Enable reading of contracts from metadata
-Xklib-relative-path-base Provide a base paths to compute source's relative paths in klib (default is empty)
Register a compiler plugin.
-Xprofile-phases Profile backend phases.
-Xproper-ieee754-comparisons Generate proper IEEE 754 comparisons in all cases if values are statically known to be of primitive numeric types.
-Xread-deserialized-contracts Enable reading contracts from metadata.
-Xklib-relative-path-base Provide a base path to compute the source's relative paths in klib (default is empty).
-Xrender-internal-diagnostic-names
Render internal names of warnings and errors
-Xreport-output-files Report source to output files mapping
-Xreport-perf Report detailed performance statistics
-Xself-upper-bound-inference Support inferring type arguments based on only self upper bounds of the corresponding type parameters
-Xskip-metadata-version-check Allow to load classes with bad metadata version and pre-release classes
-Xskip-prerelease-check Allow to load pre-release classes
-Xsuppress-version-warnings Suppress warnings about outdated, inconsistent or experimental language or API versions
Render the internal names of warnings and errors.
-Xreport-output-files Report the source-to-output file mapping.
-Xreport-perf Report detailed performance statistics.
-Xself-upper-bound-inference Support inferring type arguments from the self-type upper bounds of the corresponding type parameters.
-Xskip-metadata-version-check Allow loading classes with bad metadata versions and pre-release classes.
-Xskip-prerelease-check Allow loading pre-release classes.
-Xsuppress-version-warnings Suppress warnings about outdated, inconsistent, or experimental language or API versions.
-Xunrestricted-builder-inference
Eliminate builder inference restrictions like allowance of returning type variables of a builder inference call
-Xuse-fir-extended-checkers Use extended analysis mode based on Front-end IR. Warning: this feature is far from being production-ready
-Xuse-fir-ic Compile using Front-end IR internal incremental compilation cycle. Warning: this feature is far from being production-ready
-Xuse-fir-lt Compile using LightTree parser with Front-end IR
Eliminate builder inference restrictions, for example by allowing type variables to be returned from builder inference calls.
-Xuse-fir-extended-checkers Use extended analysis mode based on the frontend IR.
Warning: This feature is not yet production-ready.
-Xuse-fir-ic Compile using frontend IR internal incremental compilation.
Warning: This feature is not yet production-ready.
-Xuse-fir-lt Compile using the LightTree parser with the frontend IR.
-Xuse-ir-fake-override-builder Generate fake overrides via IR. See KT-61514
-Xuse-k2 Compile using experimental K2. K2 is a new compiler pipeline, no compatibility guarantees are yet provided
-Xuse-mixed-named-arguments Enable Support named arguments in their own position even if the result appears as mixed
-Xverbose-phases Be verbose while performing these backend phases
-Xuse-k2 Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet.
-Xuse-mixed-named-arguments Allow mixing named and unnamed arguments when the arguments appear in their default order.
-Xverbose-phases Be verbose while performing the given backend phases.
Advanced options are non-standard and may be changed or removed without any notice.
OK
+33 -33
View File
@@ -1,44 +1,44 @@
Usage: kotlinc-js <options> <source files>
where possible options include:
-libraries <path> Paths to Kotlin libraries with .meta.js and .kjsm files, separated by system path separator
-main {call|noCall} Define whether the `main` function should be called upon execution
-meta-info Generate .meta.js and .kjsm files with metadata. Use to create a library
-libraries <path> Paths to Kotlin libraries with .meta.js and .kjsm files, separated by the system path separator.
-main {call|noCall} Specify whether the 'main' function should be called upon execution.
-meta-info Generate .meta.js and .kjsm files with metadata. Use this to create a library.
-module-kind {plain|amd|commonjs|umd|es}
Kind of the JS module generated by the compiler
-ir-output-name Base name of generated files
-no-stdlib Don't automatically include the default Kotlin/JS stdlib into compilation dependencies
-ir-output-dir <directory> Destination for generated files
-output <filepath> Destination *.js file for the compilation result
-output-postfix <path> Add the content of the specified file to the end of output file
-output-prefix <path> Add the content of the specified file to the beginning of output file
-source-map Generate source map
-source-map-base-dirs <path> Base directories for calculating relative paths to source files in source map
The kind of JS module generated by the compiler.
-ir-output-name Base name of generated files.
-no-stdlib Don't automatically include the default Kotlin/JS stdlib in compilation dependencies.
-ir-output-dir <directory> Destination for generated files.
-output <filepath> Destination *.js file for the compilation result.
-output-postfix <path> Add the content of the specified file to the end of the output file.
-output-prefix <path> Add the content of the specified file to the beginning of the output file.
-source-map Generate a source map.
-source-map-base-dirs <path> Base directories for calculating relative paths to source files in the source map.
-source-map-embed-sources {always|never|inlining}
Embed source files into source map
Embed source files into the source map.
-source-map-names-policy {no|simple-names|fully-qualified-names}
How to map generated names to original names (IR backend only)
-source-map-prefix Add the specified prefix to paths in the source map
-target { v5 } Generate JS files for specific ECMA version
-Werror Report an error if there are any warnings
-api-version <version> Allow using declarations only from the specified version of bundled libraries
-X Print a synopsis of advanced options
-help (-h) Print a synopsis of standard options
-kotlin-home <path> Path to the home directory of Kotlin compiler used for discovery of runtime libraries
-language-version <version> Provide source compatibility with the specified version of Kotlin
-opt-in <fq.name> Enable usages of API that requires opt-in with an opt-in requirement marker with the given fully qualified name
Mode for mapping generated names to original names (IR backend only).
-source-map-prefix Add the specified prefix to the paths in the source map.
-target { v5 } Generate JS files for the specified ECMA version.
-Werror Report an error if there are any warnings.
-api-version <version> Allow using declarations from only the specified version of bundled libraries.
-X Print a synopsis of advanced options.
-help (-h) Print a synopsis of standard options.
-kotlin-home <path> Path to the Kotlin compiler home directory used for the discovery of runtime libraries.
-language-version <version> Provide source compatibility with the specified version of Kotlin.
-opt-in <fq.name> Enable API usages that require opt-in with an opt-in requirement marker with the given fully qualified name.
-P plugin:<pluginId>:<optionName>=<value>
Pass an option to a plugin
Pass an option to a plugin.
-progressive Enable progressive compiler mode.
In this mode, deprecations and bug fixes for unstable code take effect immediately,
In this mode, deprecations and bug fixes for unstable code take effect immediately
instead of going through a graceful migration cycle.
Code written in the progressive mode is backward compatible; however, code written in
non-progressive mode may cause compilation errors in the progressive mode.
-script Evaluate the given Kotlin script (*.kts) file
-nowarn Generate no warnings
-verbose Enable verbose logging output
-version Display compiler version
-J<option> Pass an option directly to JVM
@<argfile> Read compiler arguments and file paths from the given file
Code written in progressive mode is backward compatible; however, code written without
progressive mode enabled may cause compilation errors in progressive mode.
-script Evaluate the given Kotlin script (*.kts) file.
-nowarn Don't generate any warnings.
-verbose Enable verbose logging output.
-version Display the compiler version.
-J<option> Pass an option directly to JVM.
@<argfile> Read compiler arguments and file paths from the given file.
For details, see https://kotl.in/cli
OK
+176 -175
View File
@@ -2,240 +2,241 @@ Usage: kotlinc-jvm <options> <source files>
where advanced options include:
-Xabi-stability={stable|unstable}
When using unstable compiler features such as FIR, use 'stable' to mark generated class files as stable
to prevent diagnostics from stable compilers at the call site.
to prevent diagnostics from being reported when using stable compilers at the call site.
When using the JVM IR backend, conversely, use 'unstable' to mark generated class files as unstable
to force diagnostics to be reported.
-Xadd-modules=<module[,]> Root modules to resolve in addition to the initial modules,
or all modules on the module path if <module> is ALL-MODULE-PATH
-Xallow-no-source-files Allow no source files
-Xallow-unstable-dependencies Do not report errors on classes in dependencies, which were compiled by an unstable version of the Kotlin compiler
-Xadd-modules=<module[,]> Root modules to resolve in addition to the initial modules, or all modules on the module path if <module> is ALL-MODULE-PATH.
-Xallow-no-source-files Allow the set of source files to be empty.
-Xallow-unstable-dependencies Do not report errors on classes in dependencies that were compiled by an unstable version of the Kotlin compiler.
-Xassertions={always-enable|always-disable|jvm|legacy}
Assert calls behaviour
-Xassertions=always-enable: enable, ignore jvm assertion settings;
-Xassertions=always-disable: disable, ignore jvm assertion settings;
-Xassertions=jvm: enable, depend on jvm assertion settings;
-Xassertions=legacy: calculate condition on each call, check depends on jvm assertion settings in the kotlin package;
'kotlin.assert' call behavior:
-Xassertions=always-enable: enable, ignore JVM assertion settings;
-Xassertions=always-disable: disable, ignore JVM assertion settings;
-Xassertions=jvm: enable, depend on JVM assertion settings;
-Xassertions=legacy: calculate the condition on each call, the behavior depends on JVM assertion settings in the kotlin package;
default: legacy
-Xbackend-threads=<N> When using the IR backend, run lowerings by file in N parallel threads.
0 means use a thread per processor core.
Default value is 1
-Xbuild-file=<path> Path to the .xml build file to compile
-Xcompile-java Reuse javac analysis and compile Java source files
-Xdump-declarations-to=<path> Path to JSON file to dump Java to Kotlin declaration mappings
0 means use one thread per processor core.
The default value is 1.
-Xbuild-file=<path> Path to the .xml build file to compile.
-Xcompile-java Reuse 'javac' analysis and compile Java source files.
-Xdump-declarations-to=<path> Path to the JSON file where Java-to-Kotlin declaration mappings should be dumped.
-Xdefault-script-extension=<script filename extension>
Compile expressions and unrecognized scripts passed with the -script argument as scripts with given filename extension
-Xdisable-standard-script Disable standard kotlin script support
Compile expressions and unrecognized scripts passed with the -script argument as scripts with the given filename extension.
-Xdisable-standard-script Disable standard Kotlin scripting support.
-Xir-do-not-clear-binding-context
When using the IR backend, do not clear BindingContext between psi2ir and lowerings
-Xemit-jvm-type-annotations Emit JVM type annotations in bytecode
When using the IR backend, do not clear BindingContext between 'psi2ir' and lowerings.
-Xemit-jvm-type-annotations Emit JVM type annotations in bytecode.
-Xdebug Enable debug mode for compilation.
Currently this includes spilling all variables in a suspending context regardless their liveness.
-Xir-inliner Inline functions using IR inliner instead of bytecode inliner
-Xjvm-enable-preview Allow using features from Java language that are in preview phase.
Works as `--enable-preview` in Java. All class files are marked as preview-generated thus it won't be possible to use them in release environment
Currently this includes spilling all variables in a suspending context regardless of whether they are alive.
-Xir-inliner Inline functions using the IR inliner instead of the bytecode inliner.
-Xjvm-enable-preview Allow using Java features that are in the preview phase.
This works like '--enable-preview' in Java. All class files are marked as compiled with preview features, meaning it won't be possible to use them in release environments.
-Xenhance-type-parameter-types-to-def-not-null
Enhance not null annotated type parameter's types to definitely not null types (@NotNull T => T & Any)
-Xfriend-paths=<path> Paths to output directories for friend modules (whose internals should be visible)
-Xmultifile-parts-inherit Compile multifile classes as a hierarchy of parts and facade
-Xmodule-path=<path> Paths where to find Java 9+ modules
-Xjava-package-prefix Package prefix for Java files
-Xjava-source-roots=<path> Paths to directories with Java source files
-Xjavac-arguments=<option[,]> Java compiler arguments
-Xjdk-release=<version> Compile against the specified JDK API version, similarly to javac's `-release`. Requires JDK 9 or newer.
Supported versions depend on the used JDK; for JDK 17+ supported versions are 1.8, 9, 10, ..., 21.
Also sets `-jvm-target` value equal to the selected JDK version
Enhance not-null-annotated type parameter types to definitely-non-nullable types ('@NotNull T' => 'T & Any').
-Xfriend-paths=<path> Paths to output directories for friend modules (modules whose internals should be visible).
-Xmultifile-parts-inherit Compile multifile classes as a hierarchy of parts and a facade.
-Xmodule-path=<path> Paths to Java 9+ modules.
-Xjava-package-prefix Package prefix for Java files.
-Xjava-source-roots=<path> Paths to directories with Java source files.
-Xjavac-arguments=<option[,]> Java compiler arguments.
-Xjdk-release=<version> Compile against the specified JDK API version, similarly to javac's '-release'. This requires JDK 9 or newer.
The supported versions depend on the JDK used; for JDK 17+, the supported versions are 1.8 and 921.
This also sets the value of '-jvm-target' to be equal to the selected JDK version.
-Xjspecify-annotations=ignore|strict|warn
Specify behavior for jspecify annotations.
Default value is 'warn'
Specify the behavior of 'jspecify' annotations.
The default value is 'warn'.
-Xjsr305={ignore/strict/warn}|under-migration:{ignore/strict/warn}|@<fq.name>:{ignore/strict/warn}
Specify behavior for JSR-305 nullability annotations:
-Xjsr305={ignore/strict/warn} globally (all non-@UnderMigration annotations)
Specify the behavior of 'JSR-305' nullability annotations:
-Xjsr305={ignore/strict/warn} global (all non-@UnderMigration annotations)
-Xjsr305=under-migration:{ignore/strict/warn} all @UnderMigration annotations
-Xjsr305=@<fq.name>:{ignore/strict/warn} annotation with the given fully qualified class name
Modes:
* ignore
* strict (experimental; treat as other supported nullability annotations)
* warn (report a warning)
* ignore
* strict (experimental; treat like other supported nullability annotations)
* warn (report a warning)
-Xjvm-default={all|all-compatibility|disable}
Emit JVM default methods for interface declarations with bodies. Default is 'disable'.
Emit JVM default methods for interface declarations with bodies. The default is 'disable'.
-Xjvm-default=all Generate JVM default methods for all interface declarations with bodies in the module.
Do not generate DefaultImpls stubs for interface declarations with bodies, which are generated by default
in the 'disable' mode. If interface inherits a method with body from an interface compiled in the 'disable'
mode and doesn't override it, then a DefaultImpls stub will be generated for it.
BREAKS BINARY COMPATIBILITY if some client code relies on the presence of DefaultImpls classes.
Do not generate 'DefaultImpls' stubs for interface declarations with bodies. If an interface inherits a method with a
body from an interface compiled in 'disable' mode and doesn't override it, then a 'DefaultImpls' stub will be
generated for it.
This BREAKS BINARY COMPATIBILITY if some client code relies on the presence of 'DefaultImpls' classes.
Note that if interface delegation is used, all interface methods are delegated.
-Xjvm-default=all-compatibility In addition to the 'all' mode, generate compatibility stubs in the DefaultImpls classes.
Compatibility stubs could be useful for library and runtime authors to keep backward binary compatibility
-Xjvm-default=all-compatibility Like 'all', but additionally generate compatibility stubs in the 'DefaultImpls' classes.
Compatibility stubs can help library and runtime authors maintain backward binary compatibility
for existing clients compiled against previous library versions.
'all' and 'all-compatibility' modes are changing the library ABI surface that will be used by clients after
the recompilation of the library. In that sense, clients might be incompatible with previous library
versions. This usually means that proper library versioning is required, e.g. major version increase in SemVer.
In case of inheritance from a Kotlin interface compiled in 'all' or 'all-compatibility' modes, DefaultImpls
'all' and 'all-compatibility' modes change the library ABI surface that will be used by clients after
the recompilation of the library. Because of this, clients might be incompatible with previous library
versions. This usually means that proper library versioning is required, for example with major version increases in SemVer.
In subtypes of Kotlin interfaces compiled in 'all' or 'all-compatibility' mode, 'DefaultImpls'
compatibility stubs will invoke the default method of the interface with standard JVM runtime resolution semantics.
Perform additional compatibility checks for classes inheriting generic interfaces where in some cases
additional implicit method with specialized signatures was generated in the 'disable' mode:
unlike in the 'disable' mode, the compiler will report an error if such method is not overridden explicitly
and the class is not annotated with @JvmDefaultWithoutCompatibility (see KT-39603 for more details).
Perform additional compatibility checks for classes inheriting generic interfaces where in some cases an
additional implicit method with specialized signatures was generated in 'disable' mode.
Unlike in 'disable' mode, the compiler will report an error if such a method is not overridden explicitly
and the class is not annotated with '@JvmDefaultWithoutCompatibility' (see KT-39603 for more details).
-Xjvm-default=disable Default behavior. Do not generate JVM default methods.
-Xklib=<path> Paths to cross-platform libraries in .klib format
-Xlambdas={class|indy} Select code generation scheme for lambdas.
-Xlambdas=indy Generate lambdas using `invokedynamic` with `LambdaMetafactory.metafactory`. Requires `-jvm-target 1.8` or greater.
Lambda objects created using `LambdaMetafactory.metafactory` will have different `toString()`.
-Xlambdas=class Generate lambdas as explicit classes
-Xlink-via-signatures Link JVM IR symbols via signatures, instead of descriptors.
This mode is slower, but can be useful in troubleshooting problems with the JVM IR backend
-Xno-call-assertions Don't generate not-null assertions for arguments of platform types
-Xklib=<path> Paths to cross-platform libraries in the .klib format.
-Xlambdas={class|indy} Select the code generation scheme for lambdas.
-Xlambdas=indy Generate lambdas using 'invokedynamic' with 'LambdaMetafactory.metafactory'. This requires '-jvm-target 1.8' or greater.
A lambda object created using 'LambdaMetafactory.metafactory' will have a different 'toString()'.
-Xlambdas=class Generate lambdas as explicit classes.
-Xlink-via-signatures Link JVM IR symbols via signatures instead of descriptors.
This mode is slower, but it can be useful for troubleshooting problems with the JVM IR backend.
-Xno-call-assertions Don't generate not-null assertions for arguments of platform types.
-Xno-kotlin-nothing-value-exception
Do not use KotlinNothingValueException available since 1.4
Don't use KotlinNothingValueException, which has been available since 1.4.
-Xno-new-java-annotation-targets
Do not generate Java 1.8+ targets for Kotlin annotation classes
-Xno-optimize Disable optimizations
Don't generate Java 1.8+ targets for Kotlin annotation classes.
-Xno-optimize Disable optimizations.
-Xno-optimized-callable-references
Do not use optimized callable reference superclasses available from 1.4
-Xno-param-assertions Don't generate not-null assertions on parameters of methods accessible from Java
-Xno-receiver-assertions Don't generate not-null assertion for extension receiver arguments of platform types
-Xno-reset-jar-timestamps Do not reset jar entry timestamps to a fixed date
-Xno-source-debug-extension Do not generate @kotlin.jvm.internal.SourceDebugExtension annotation on a class with the copy of SMAP
-Xno-unified-null-checks Use pre-1.4 exception types in null checks instead of java.lang.NPE. See KT-22275 for more details
Don't use optimized callable reference superclasses, which have been available since 1.4.
-Xno-param-assertions Don't generate not-null assertions on parameters of methods accessible from Java.
-Xno-receiver-assertions Don't generate not-null assertions for extension receiver arguments of platform types.
-Xno-reset-jar-timestamps Don't reset jar entry timestamps to a fixed date.
-Xno-source-debug-extension Don't generate the '@kotlin.jvm.internal.SourceDebugExtension' annotation with an SMAP copy on classes.
-Xno-unified-null-checks Use pre-1.4 exception types instead of 'java.lang.NPE' in null checks. See KT-22275 for more details.
-Xnullability-annotations=@<fq.name>:{ignore/strict/warn}
Specify behavior for specific Java nullability annotations (provided with fully qualified package name)
Specify the behavior for specific Java nullability annotations (provided with fully qualified package name).
Modes:
* ignore
* strict
* warn (report a warning)
-Xuse-old-innerclasses-logic Use old logic for generation of InnerClasses attributes.
* ignore
* strict
* warn (report a warning)
-Xuse-old-innerclasses-logic Use the old logic for the generation of 'InnerClasses' attributes.
This option is deprecated and will be deleted in future versions.
-Xprofile=<profilerPath:command:outputDir>
Debug option: Run compiler with async profiler and save snapshots to `outputDir`; `command` is passed to async-profiler on start.
`profilerPath` is a path to libasyncProfiler.so; async-profiler.jar should be on the compiler classpath.
Debug option: Run the compiler with the async profiler and save snapshots to `outputDir`; `command` is passed to the async profiler on start.
`profilerPath` is the path to libasyncProfiler.so; async-profiler.jar should be on the compiler classpath.
If it's not on the classpath, the compiler will attempt to load async-profiler.jar from the containing directory of profilerPath.
Example: -Xprofile=<PATH_TO_ASYNC_PROFILER>/async-profiler/build/libasyncProfiler.so:event=cpu,interval=1ms,threads,start:<SNAPSHOT_DIR_PATH>
-Xrepeat=<number> Debug option: Repeats modules compilation <number> times
-Xsam-conversions={class|indy} Select code generation scheme for SAM conversions.
-Xsam-conversions=indy Generate SAM conversions using `invokedynamic` with `LambdaMetafactory.metafactory`. Requires `-jvm-target 1.8` or greater.
-Xsam-conversions=class Generate SAM conversions as explicit classes
-Xrepeat=<number> Debug option: Repeat module compilation <number> times.
-Xsam-conversions={class|indy} Select the code generation scheme for SAM conversions.
-Xsam-conversions=indy Generate SAM conversions using 'invokedynamic' with 'LambdaMetafactory.metafactory'. Requires '-jvm-target 1.8' or greater.
-Xsam-conversions=class Generate SAM conversions as explicit classes
-Xsanitize-parentheses Transform '(' and ')' in method names to some other character sequence.
This mode can BREAK BINARY COMPATIBILITY and is only supposed to be used to workaround
problems with parentheses in identifiers on certain platforms
This mode can BREAK BINARY COMPATIBILITY and should only be used as a workaround for
problems with parentheses in identifiers on certain platforms.
-Xscript-resolver-environment=<key=value[,]>
Script resolver environment in key-value pairs (the value could be quoted and escaped)
Set the script resolver environment in key-value pairs (the value can be quoted and escaped).
-Xserialize-ir={none|inline|all}
Save IR to metadata (EXPERIMENTAL)
Save the IR to metadata (Experimental).
-Xgenerate-strict-metadata-version
Generate metadata with strict version semantics (see kdoc on Metadata.extraInt)
Generate metadata with strict version semantics (see the KDoc entry on 'Metadata.extraInt').
-Xstring-concat={indy-with-constants|indy|inline}
Select code generation scheme for string concatenation.
-Xstring-concat=indy-with-constants Concatenate strings using `invokedynamic` `makeConcatWithConstants`. Requires `-jvm-target 9` or greater.
-Xstring-concat=indy Concatenate strings using `invokedynamic` `makeConcat`. Requires `-jvm-target 9` or greater.
-Xstring-concat=inline Concatenate strings using `StringBuilder`
default: `indy-with-constants` for JVM target 9 or greater, `inline` otherwise
Select the code generation scheme for string concatenation:
-Xstring-concat=indy-with-constants Concatenate strings using 'invokedynamic' and 'makeConcatWithConstants'. This requires '-jvm-target 9' or greater.
-Xstring-concat=indy Concatenate strings using 'invokedynamic' and 'makeConcat'. This requires '-jvm-target 9' or greater.
-Xstring-concat=inline Concatenate strings using 'StringBuilder'
default: 'indy-with-constants' for JVM targets 9 or greater, 'inline' otherwise.
-Xsupport-compatqual-checker-framework-annotations=enable|disable
Specify behavior for Checker Framework compatqual annotations (NullableDecl/NonNullDecl).
Default value is 'enable'
Specify the behavior for Checker Framework 'compatqual' annotations ('NullableDecl'/'NonNullDecl').
The default value is 'enable'.
-Xsuppress-deprecated-jvm-target-warning
Suppress deprecation warning about deprecated JVM target versions.
Suppress warnings about deprecated JVM target versions.
This option has no effect and will be deleted in a future version.
-Xsuppress-missing-builtins-error
Suppress the "cannot access built-in declaration" error (useful with -no-stdlib)
Suppress the "cannot access built-in declaration" error (useful with '-no-stdlib').
-Xtype-enhancement-improvements-strict-mode
Enable strict mode for some improvements in the type enhancement for loaded Java types based on nullability annotations,
including freshly supported reading of the type use annotations from class files.
See KT-45671 for more details
-Xuse-fast-jar-file-system Use fast implementation on Jar FS. This may speed up compilation time, but currently it's an experimental mode
-Xuse-javac Use javac for Java source and class files analysis
Enable strict mode for improvements to type enhancement for loaded Java types based on nullability annotations,
including the ability to read type-use annotations from class files.
See KT-45671 for more details.
-Xuse-fast-jar-file-system Use the fast implementation of Jar FS. This may speed up compilation time, but it is experimental.
-Xuse-javac Use javac for Java source and class file analysis.
-Xuse-kapt4 Enable the experimental KAPT 4.
-Xuse-old-backend Use the old JVM backend
-Xuse-old-class-files-reading Use old class files reading implementation. This may slow down the build and cause problems with Groovy interop.
Should be used in case of problems with the new implementation
-Xuse-old-backend Use the old JVM backend.
-Xuse-old-class-files-reading Use the old implementation for reading class files. This may slow down the compilation and cause problems with Groovy interop.
This can be used in the event of problems with the new implementation.
-Xuse-14-inline-classes-mangling-scheme
Use 1.4 inline classes mangling scheme instead of 1.4.30 one
-Xuse-type-table Use type table in metadata serialization
-Xvalidate-bytecode Validate generated JVM bytecode before and after optimizations
-Xvalidate-ir Validate IR before and after lowering
-Xvalue-classes Enable experimental value classes
Use the scheme for inline class mangling from version 1.4 instead of the one from 1.4.30.
-Xuse-type-table Use a type table in metadata serialization.
-Xvalidate-bytecode Validate generated JVM bytecode before and after optimizations.
-Xvalidate-ir Validate IR before and after lowering.
-Xvalue-classes Enable experimental value classes.
-Xallow-any-scripts-in-source-roots
Allow to compile any scripts along with regular Kotlin sources
-Xallow-kotlin-package Allow compiling code in package 'kotlin' and allow not requiring kotlin.stdlib in module-info
-Xallow-result-return-type Allow compiling code when `kotlin.Result` is used as a return type
-Xbuiltins-from-sources Compile builtIns from sources
-Xcheck-phase-conditions Check pre- and postconditions on phases
Allow compiling scripts along with regular Kotlin sources.
-Xallow-kotlin-package Allow compiling code in the 'kotlin' package, and allow not requiring 'kotlin.stdlib' in 'module-info'.
-Xallow-result-return-type Allow compiling code when 'kotlin.Result' is used as a return type.
-Xbuiltins-from-sources Compile built-ins from sources.
-Xcheck-phase-conditions Check pre- and postconditions of IR lowering phases.
-Xcheck-sticky-phase-conditions
Run sticky condition checks on subsequent phases as well. Implies -Xcheck-phase-conditions
-Xcommon-sources=<path> Sources of the common module that need to be compiled together with this module in the multi-platform mode.
Should be a subset of sources passed as free arguments
-Xcontext-receivers Enable experimental context receivers
Run sticky condition checks on subsequent phases. Implicitly enables '-Xcheck-phase-conditions'.
-Xcommon-sources=<path> Sources of the common module that need to be compiled together with this module in multiplatform mode.
They should be a subset of sources passed as free arguments.
-Xcontext-receivers Enable experimental context receivers.
-Xdisable-default-scripting-plugin
Do not enable scripting plugin by default
-Xdisable-phases Disable backend phases
-Xdisable-ultra-light-classes Do not use the ultra light classes implementation
Don't enable the scripting plugin by default.
-Xdisable-phases Disable backend phases.
-Xdisable-ultra-light-classes Don't use ultra-light classes.
-Xdont-warn-on-error-suppression
Don't report a warning when an error is suppressed. Only affects K2.
-Xdump-directory Dump backend state into directory
-Xdump-fqname FqName of declaration that should be dumped
-Xdump-perf=<path> Dump detailed performance statistics to the specified file
-Xeffect-system Enable experimental language feature: effect system
-Xenable-builder-inference Use the builder inference by default, for all calls with lambdas which can't be resolved without it.
Don't report warnings when errors are suppressed. This only affects K2.
-Xdump-directory Dump the backend state into this directory.
-Xdump-fqname Dump the declaration with the given FqName.
-Xdump-perf=<path> Dump detailed performance statistics to the specified file.
-Xeffect-system Enable experimental language feature: effect system.
-Xenable-builder-inference Use builder inference by default for all calls with lambdas that can't be resolved without it.
The corresponding calls' declarations may not be marked with @BuilderInference.
-Xklib-enable-signature-clash-checks
Enable the checks on uniqueness of signatures
Enable signature uniqueness checks.
-Xexpect-actual-classes 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta.
Kotlin reports a warning every time you use them. You can use this flag to mute the warning.
Kotlin reports a warning every time you use one of them. You can use this flag to mute the warning.
-Xexplicit-api={strict|warning|disable}
Force compiler to report errors on all public API declarations without explicit visibility or return type.
Use 'warning' level to issue warnings instead of errors.
Force the compiler to report errors on all public API declarations without an explicit visibility or a return type.
Use the 'warning' level to issue warnings instead of errors.
-Xextended-compiler-checks Enable additional compiler checks that might provide verbose diagnostic information for certain errors.
Warning: this mode is not backward-compatible and might cause compilation errors in previously compiled code.
Warning: This mode is not backward compatible and might cause compilation errors in previously compiled code.
-Xfragment-refines=<fromModuleName>:<onModuleName>
Declares that <fromModuleName> refines <onModuleName> with dependsOn/refines relation
Declare that <fromModuleName> refines <onModuleName> with the dependsOn/refines relation.
-Xfragment-sources=<fragment name>:<path>
Adds sources to a specific fragment of a multiplatform compilation
-Xfragments=<fragment name> Declares all known fragments of a multiplatform compilation
Add sources to a specific fragment of a multiplatform compilation.
-Xfragments=<fragment name> Declare all known fragments of a multiplatform compilation.
-Xignore-const-optimization-errors
Ignore all compilation exceptions while optimizing some constant expressions.
-Xenable-incremental-compilation
Enable incremental compilation
-Xinference-compatibility Enable compatibility changes for generic type inference algorithm
-Xinline-classes Enable experimental inline classes
-Xintellij-plugin-root=<path> Path to the kotlin-compiler.jar or directory where IntelliJ configuration files can be found
-Xlegacy-smart-cast-after-try Allow var smart casts despite assignment in try block
-Xlist-phases List backend phases
-Xmetadata-klib Produce a klib that only contains the declarations metadata
-Xmetadata-version Change metadata version of the generated binary files
-Xmulti-platform Enable language support for multi-platform projects
-Xnew-inference Enable new experimental generic type inference algorithm
-Xno-check-actual Do not check presence of 'actual' modifier in multi-platform projects
-Xno-inline Disable method inlining
-Xklib-normalize-absolute-path Normalize absolute paths in klibs
-Xphases-to-dump Dump backend state both before and after these phases
-Xphases-to-dump-after Dump backend state after these phases
-Xphases-to-dump-before Dump backend state before these phases
-Xphases-to-validate Validate backend state both before and after these phases
-Xphases-to-validate-after Validate backend state after these phases
-Xphases-to-validate-before Validate backend state before these phases
-Xplugin=<path> Load plugins from the given classpath
Enable incremental compilation.
-Xinference-compatibility Enable compatibility changes for the generic type inference algorithm.
-Xinline-classes Enable experimental inline classes.
-Xintellij-plugin-root=<path> Path to 'kotlin-compiler.jar' or the directory where the IntelliJ IDEA configuration files can be found.
-Xlegacy-smart-cast-after-try Allow 'var' smart casts even in the presence of assignments in 'try' blocks.
-Xlist-phases List backend phases.
-Xmetadata-klib Produce a klib that only contains the metadata of declarations.
-Xmetadata-version Change the metadata version of the generated binary files.
-Xmulti-platform Enable language support for multiplatform projects.
-Xnew-inference Enable the new experimental generic type inference algorithm.
-Xno-check-actual Do not check for the presence of the 'actual' modifier in multiplatform projects.
-Xno-inline Disable method inlining.
-Xklib-normalize-absolute-path Normalize absolute paths in klibs.
-Xphases-to-dump Dump the backend's state both before and after these phases.
-Xphases-to-dump-after Dump the backend's state after these phases.
-Xphases-to-dump-before Dump the backend's state before these phases.
-Xphases-to-validate Validate the backend's state both before and after these phases.
-Xphases-to-validate-after Validate the backend's state after these phases.
-Xphases-to-validate-before Validate the backend's state before these phases.
-Xplugin=<path> Load plugins from the given classpath.
-Xcompiler-plugin=<path1>,<path2>:<optionName>=<value>,<optionName>=<value>
Register compiler plugin
-Xprofile-phases Profile backend phases
-Xproper-ieee754-comparisons Generate proper IEEE 754 comparisons in all cases if values are statically known to be of primitive numeric types
-Xread-deserialized-contracts Enable reading of contracts from metadata
-Xklib-relative-path-base Provide a base paths to compute source's relative paths in klib (default is empty)
Register a compiler plugin.
-Xprofile-phases Profile backend phases.
-Xproper-ieee754-comparisons Generate proper IEEE 754 comparisons in all cases if values are statically known to be of primitive numeric types.
-Xread-deserialized-contracts Enable reading contracts from metadata.
-Xklib-relative-path-base Provide a base path to compute the source's relative paths in klib (default is empty).
-Xrender-internal-diagnostic-names
Render internal names of warnings and errors
-Xreport-output-files Report source to output files mapping
-Xreport-perf Report detailed performance statistics
-Xself-upper-bound-inference Support inferring type arguments based on only self upper bounds of the corresponding type parameters
-Xskip-metadata-version-check Allow to load classes with bad metadata version and pre-release classes
-Xskip-prerelease-check Allow to load pre-release classes
-Xsuppress-version-warnings Suppress warnings about outdated, inconsistent or experimental language or API versions
Render the internal names of warnings and errors.
-Xreport-output-files Report the source-to-output file mapping.
-Xreport-perf Report detailed performance statistics.
-Xself-upper-bound-inference Support inferring type arguments from the self-type upper bounds of the corresponding type parameters.
-Xskip-metadata-version-check Allow loading classes with bad metadata versions and pre-release classes.
-Xskip-prerelease-check Allow loading pre-release classes.
-Xsuppress-version-warnings Suppress warnings about outdated, inconsistent, or experimental language or API versions.
-Xunrestricted-builder-inference
Eliminate builder inference restrictions like allowance of returning type variables of a builder inference call
-Xuse-fir-extended-checkers Use extended analysis mode based on Front-end IR. Warning: this feature is far from being production-ready
-Xuse-fir-ic Compile using Front-end IR internal incremental compilation cycle. Warning: this feature is far from being production-ready
-Xuse-fir-lt Compile using LightTree parser with Front-end IR
Eliminate builder inference restrictions, for example by allowing type variables to be returned from builder inference calls.
-Xuse-fir-extended-checkers Use extended analysis mode based on the frontend IR.
Warning: This feature is not yet production-ready.
-Xuse-fir-ic Compile using frontend IR internal incremental compilation.
Warning: This feature is not yet production-ready.
-Xuse-fir-lt Compile using the LightTree parser with the frontend IR.
-Xuse-ir-fake-override-builder Generate fake overrides via IR. See KT-61514
-Xuse-k2 Compile using experimental K2. K2 is a new compiler pipeline, no compatibility guarantees are yet provided
-Xuse-mixed-named-arguments Enable Support named arguments in their own position even if the result appears as mixed
-Xverbose-phases Be verbose while performing these backend phases
-Xuse-k2 Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet.
-Xuse-mixed-named-arguments Allow mixing named and unnamed arguments when the arguments appear in their default order.
-Xverbose-phases Be verbose while performing the given backend phases.
Advanced options are non-standard and may be changed or removed without any notice.
OK
+29 -29
View File
@@ -1,38 +1,38 @@
Usage: kotlinc-jvm <options> <source files>
where possible options include:
-classpath (-cp) <path> List of directories and JAR/ZIP archives to search for user class files
-d <directory|jar> Destination for generated class files
-expression (-e) Evaluate the given string as a Kotlin script
-include-runtime Include Kotlin runtime into the resulting JAR
-java-parameters Generate metadata for Java 1.8 reflection on method parameters
-jdk-home <path> Include a custom JDK from the specified location into the classpath instead of the default JAVA_HOME
-jvm-target <version> Target version of the generated JVM bytecode (1.8, 9, 10, ..., 21), default is 1.8
-module-name <name> Name of the generated .kotlin_module file
-no-jdk Don't automatically include the Java runtime into the classpath
-no-reflect Don't automatically include Kotlin reflection into the classpath
-no-stdlib Don't automatically include the Kotlin/JVM stdlib and Kotlin reflection into the classpath
-classpath (-cp) <path> List of directories and JAR/ZIP archives to search for user class files.
-d <directory|jar> Destination for generated class files.
-expression (-e) Evaluate the given string as a Kotlin script.
-include-runtime Include the Kotlin runtime in the resulting JAR.
-java-parameters Generate metadata for Java 1.8 reflection on method parameters.
-jdk-home <path> Include a custom JDK from the specified location in the classpath instead of the default 'JAVA_HOME'.
-jvm-target <version> The target version of the generated JVM bytecode (1.8, 9, 10, ..., 21), with 1.8 as the default.
-module-name <name> Name of the generated '.kotlin_module' file.
-no-jdk Don't automatically include the Java runtime in the classpath.
-no-reflect Don't automatically include the Kotlin reflection dependency in the classpath.
-no-stdlib Don't automatically include the Kotlin/JVM stdlib and Kotlin reflection dependencies in the classpath.
-script-templates <fully qualified class name[,]>
Script definition template classes
-Werror Report an error if there are any warnings
-api-version <version> Allow using declarations only from the specified version of bundled libraries
-X Print a synopsis of advanced options
-help (-h) Print a synopsis of standard options
-kotlin-home <path> Path to the home directory of Kotlin compiler used for discovery of runtime libraries
-language-version <version> Provide source compatibility with the specified version of Kotlin
-opt-in <fq.name> Enable usages of API that requires opt-in with an opt-in requirement marker with the given fully qualified name
Script definition template classes.
-Werror Report an error if there are any warnings.
-api-version <version> Allow using declarations from only the specified version of bundled libraries.
-X Print a synopsis of advanced options.
-help (-h) Print a synopsis of standard options.
-kotlin-home <path> Path to the Kotlin compiler home directory used for the discovery of runtime libraries.
-language-version <version> Provide source compatibility with the specified version of Kotlin.
-opt-in <fq.name> Enable API usages that require opt-in with an opt-in requirement marker with the given fully qualified name.
-P plugin:<pluginId>:<optionName>=<value>
Pass an option to a plugin
Pass an option to a plugin.
-progressive Enable progressive compiler mode.
In this mode, deprecations and bug fixes for unstable code take effect immediately,
In this mode, deprecations and bug fixes for unstable code take effect immediately
instead of going through a graceful migration cycle.
Code written in the progressive mode is backward compatible; however, code written in
non-progressive mode may cause compilation errors in the progressive mode.
-script Evaluate the given Kotlin script (*.kts) file
-nowarn Generate no warnings
-verbose Enable verbose logging output
-version Display compiler version
-J<option> Pass an option directly to JVM
@<argfile> Read compiler arguments and file paths from the given file
Code written in progressive mode is backward compatible; however, code written without
progressive mode enabled may cause compilation errors in progressive mode.
-script Evaluate the given Kotlin script (*.kts) file.
-nowarn Don't generate any warnings.
-verbose Enable verbose logging output.
-version Display the compiler version.
-J<option> Pass an option directly to JVM.
@<argfile> Read compiler arguments and file paths from the given file.
For details, see https://kotl.in/cli
OK
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.dsl
interface KotlinCommonCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions {
/**
* Allow using declarations only from the specified version of bundled libraries
* Allow using declarations from only the specified version of bundled libraries.
* Possible values: "1.4 (deprecated)", "1.5 (deprecated)", "1.6 (deprecated)", "1.7", "1.8", "1.9", "2.0", "2.1 (experimental)"
* Default value: null
*/
@@ -17,7 +17,7 @@ interface KotlinCommonCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCo
val apiVersion: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.KotlinVersion>
/**
* Provide source compatibility with the specified version of Kotlin
* Provide source compatibility with the specified version of Kotlin.
* Possible values: "1.4 (deprecated)", "1.5 (deprecated)", "1.6 (deprecated)", "1.7", "1.8", "1.9", "2.0", "2.1 (experimental)"
* Default value: null
*/
@@ -26,21 +26,21 @@ interface KotlinCommonCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCo
val languageVersion: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.KotlinVersion>
/**
* Enable usages of API that requires opt-in with an opt-in requirement marker with the given fully qualified name
* Enable API usages that require opt-in with an opt-in requirement marker with the given fully qualified name.
* Default value: emptyList<String>()
*/
@get:org.gradle.api.tasks.Input
val optIn: org.gradle.api.provider.ListProperty<kotlin.String>
/**
* Enable progressive compiler mode. In this mode, deprecations and bug fixes for unstable code take effect immediately, instead of going through a graceful migration cycle. Code written in the progressive mode is backward compatible; however, code written in non-progressive mode may cause compilation errors in the progressive mode.
* Enable progressive compiler mode. In this mode, deprecations and bug fixes for unstable code take effect immediately instead of going through a graceful migration cycle. Code written in progressive mode is backward compatible; however, code written without progressive mode enabled may cause compilation errors in progressive mode.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
val progressiveMode: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Compile using experimental K2. K2 is a new compiler pipeline, no compatibility guarantees are yet provided
* Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet.
* Default value: false
*/
@Deprecated(message = "Compiler flag -Xuse-k2 is deprecated; please use language version 2.0 instead", level = DeprecationLevel.WARNING)
@@ -8,21 +8,21 @@ package org.jetbrains.kotlin.gradle.dsl
interface KotlinCommonCompilerToolOptions {
/**
* Report an error if there are any warnings
* Report an error if there are any warnings.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
val allWarningsAsErrors: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Generate no warnings
* Don't generate any warnings.
* Default value: false
*/
@get:org.gradle.api.tasks.Internal
val suppressWarnings: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Enable verbose logging output
* Enable verbose logging output.
* Default value: false
*/
@get:org.gradle.api.tasks.Internal
@@ -13,7 +13,7 @@ interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonTool
private val org.jetbrains.kotlin.gradle.dsl.KotlinVersion?.apiVersionKotlinOption get() = this?.version
/**
* Allow using declarations only from the specified version of bundled libraries
* Allow using declarations from only the specified version of bundled libraries.
* Possible values: "1.4 (deprecated)", "1.5 (deprecated)", "1.6 (deprecated)", "1.7", "1.8", "1.9", "2.0", "2.1 (experimental)"
* Default value: null
*/
@@ -26,7 +26,7 @@ interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonTool
private val org.jetbrains.kotlin.gradle.dsl.KotlinVersion?.languageVersionKotlinOption get() = this?.version
/**
* Provide source compatibility with the specified version of Kotlin
* Provide source compatibility with the specified version of Kotlin.
* Possible values: "1.4 (deprecated)", "1.5 (deprecated)", "1.6 (deprecated)", "1.7", "1.8", "1.9", "2.0", "2.1 (experimental)"
* Default value: null
*/
@@ -35,7 +35,7 @@ interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonTool
set(value) = options.languageVersion.set(value.languageVersionCompilerOption)
/**
* Compile using experimental K2. K2 is a new compiler pipeline, no compatibility guarantees are yet provided
* Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet.
* Default value: false
*/
@Deprecated(message = "Compiler flag -Xuse-k2 is deprecated; please use language version 2.0 instead", level = DeprecationLevel.WARNING)
@@ -9,7 +9,7 @@ interface KotlinCommonToolOptions {
val options: org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions
/**
* Report an error if there are any warnings
* Report an error if there are any warnings.
* Default value: false
*/
var allWarningsAsErrors: kotlin.Boolean
@@ -17,7 +17,7 @@ interface KotlinCommonToolOptions {
set(value) = options.allWarningsAsErrors.set(value)
/**
* Generate no warnings
* Don't generate any warnings.
* Default value: false
*/
var suppressWarnings: kotlin.Boolean
@@ -25,7 +25,7 @@ interface KotlinCommonToolOptions {
set(value) = options.suppressWarnings.set(value)
/**
* Enable verbose logging output
* Enable verbose logging output.
* Default value: false
*/
var verbose: kotlin.Boolean
@@ -8,14 +8,14 @@ package org.jetbrains.kotlin.gradle.dsl
interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions {
/**
* Disable internal declaration export
* Disable internal declaration export.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
val friendModulesDisabled: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Define whether the `main` function should be called upon execution
* Specify whether the 'main' function should be called upon execution.
* Possible values: "call", "noCall"
* Default value: JsMainFunctionExecutionMode.CALL
*/
@@ -23,14 +23,14 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val main: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.JsMainFunctionExecutionMode>
/**
* Generate .meta.js and .kjsm files with metadata. Use to create a library
* Generate .meta.js and .kjsm files with metadata. Use this to create a library.
* Default value: true
*/
@get:org.gradle.api.tasks.Input
val metaInfo: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Kind of the JS module generated by the compiler
* The kind of JS module generated by the compiler.
* Possible values: "plain", "amd", "commonjs", "umd"
* Default value: JsModuleKind.MODULE_PLAIN
*/
@@ -38,7 +38,7 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val moduleKind: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.JsModuleKind>
/**
* Base name of generated files
* Base name of generated files.
* Default value: null
*/
@get:org.gradle.api.tasks.Optional
@@ -46,14 +46,14 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val moduleName: org.gradle.api.provider.Property<kotlin.String>
/**
* Don't automatically include the default Kotlin/JS stdlib into compilation dependencies
* Don't automatically include the default Kotlin/JS stdlib in compilation dependencies.
* Default value: true
*/
@get:org.gradle.api.tasks.Input
val noStdlib: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Destination *.js file for the compilation result
* Destination *.js file for the compilation result.
* Default value: null
*/
@Deprecated(message = "Only for legacy backend. For IR backend please use task.destinationDirectory and moduleName", level = DeprecationLevel.WARNING)
@@ -61,14 +61,14 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val outputFile: org.gradle.api.provider.Property<kotlin.String>
/**
* Generate source map
* Generate a source map.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
val sourceMap: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Embed source files into source map
* Embed source files into the source map.
* Possible values: "never", "always", "inlining"
* Default value: null
*/
@@ -77,7 +77,7 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val sourceMapEmbedSources: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.JsSourceMapEmbedMode>
/**
* How to map generated names to original names (IR backend only)
* Mode for mapping generated names to original names (IR backend only).
* Possible values: "no", "simple-names", "fully-qualified-names"
* Default value: null
*/
@@ -86,7 +86,7 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val sourceMapNamesPolicy: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.JsSourceMapNamesPolicy>
/**
* Add the specified prefix to paths in the source map
* Add the specified prefix to the paths in the source map.
* Default value: null
*/
@get:org.gradle.api.tasks.Optional
@@ -94,7 +94,7 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val sourceMapPrefix: org.gradle.api.provider.Property<kotlin.String>
/**
* Generate JS files for specific ECMA version
* Generate JS files for the specified ECMA version.
* Possible values: "v5"
* Default value: "v5"
*/
@@ -102,14 +102,14 @@ interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommon
val target: org.gradle.api.provider.Property<kotlin.String>
/**
* Translate primitive arrays to JS typed arrays
* Translate primitive arrays into JS typed arrays.
* Default value: true
*/
@get:org.gradle.api.tasks.Input
val typedArrays: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Generated JavaScript will use ES2015 classes.
* Let generated JavaScript code use ES2015 classes.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
@@ -8,14 +8,14 @@ package org.jetbrains.kotlin.gradle.dsl
interface KotlinJsDceCompilerToolOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions {
/**
* Development mode: don't strip out any code, just copy dependencies
* Development mode: don't strip out any code, just copy dependencies.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
val devMode: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Output directory
* Output directory.
* Default value: null
*/
@Deprecated(message = "Use task 'destinationDirectory' to configure output directory", level = DeprecationLevel.WARNING)
@@ -9,7 +9,7 @@ interface KotlinJsDceOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolO
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsDceCompilerToolOptions
/**
* Development mode: don't strip out any code, just copy dependencies
* Development mode: don't strip out any code, just copy dependencies.
* Default value: false
*/
var devMode: kotlin.Boolean
@@ -17,7 +17,7 @@ interface KotlinJsDceOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolO
set(value) = options.devMode.set(value)
/**
* Output directory
* Output directory.
* Default value: null
*/
@Deprecated(message = "Use task 'destinationDirectory' to configure output directory", level = DeprecationLevel.WARNING)
@@ -9,7 +9,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
/**
* Disable internal declaration export
* Disable internal declaration export.
* Default value: false
*/
var friendModulesDisabled: kotlin.Boolean
@@ -21,7 +21,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
private val org.jetbrains.kotlin.gradle.dsl.JsMainFunctionExecutionMode.mainKotlinOption get() = this.mode
/**
* Define whether the `main` function should be called upon execution
* Specify whether the 'main' function should be called upon execution.
* Possible values: "call", "noCall"
* Default value: JsMainFunctionExecutionMode.CALL
*/
@@ -30,7 +30,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.main.set(value.mainCompilerOption)
/**
* Generate .meta.js and .kjsm files with metadata. Use to create a library
* Generate .meta.js and .kjsm files with metadata. Use this to create a library.
* Default value: true
*/
var metaInfo: kotlin.Boolean
@@ -42,7 +42,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
private val org.jetbrains.kotlin.gradle.dsl.JsModuleKind.moduleKindKotlinOption get() = this.kind
/**
* Kind of the JS module generated by the compiler
* The kind of JS module generated by the compiler.
* Possible values: "plain", "amd", "commonjs", "umd"
* Default value: JsModuleKind.MODULE_PLAIN
*/
@@ -51,7 +51,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.moduleKind.set(value.moduleKindCompilerOption)
/**
* Base name of generated files
* Base name of generated files.
* Default value: null
*/
var moduleName: kotlin.String?
@@ -59,7 +59,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.moduleName.set(value)
/**
* Don't automatically include the default Kotlin/JS stdlib into compilation dependencies
* Don't automatically include the default Kotlin/JS stdlib in compilation dependencies.
* Default value: true
*/
var noStdlib: kotlin.Boolean
@@ -67,7 +67,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.noStdlib.set(value)
/**
* Destination *.js file for the compilation result
* Destination *.js file for the compilation result.
* Default value: null
*/
@Deprecated(message = "Only for legacy backend. For IR backend please use task.destinationDirectory and moduleName", level = DeprecationLevel.WARNING)
@@ -76,7 +76,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.outputFile.set(value)
/**
* Generate source map
* Generate a source map.
* Default value: false
*/
var sourceMap: kotlin.Boolean
@@ -88,7 +88,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
private val org.jetbrains.kotlin.gradle.dsl.JsSourceMapEmbedMode?.sourceMapEmbedSourcesKotlinOption get() = this?.mode
/**
* Embed source files into source map
* Embed source files into the source map.
* Possible values: "never", "always", "inlining"
* Default value: null
*/
@@ -101,7 +101,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
private val org.jetbrains.kotlin.gradle.dsl.JsSourceMapNamesPolicy?.sourceMapNamesPolicyKotlinOption get() = this?.policy
/**
* How to map generated names to original names (IR backend only)
* Mode for mapping generated names to original names (IR backend only).
* Possible values: "no", "simple-names", "fully-qualified-names"
* Default value: null
*/
@@ -110,7 +110,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.sourceMapNamesPolicy.set(value.sourceMapNamesPolicyCompilerOption)
/**
* Add the specified prefix to paths in the source map
* Add the specified prefix to the paths in the source map.
* Default value: null
*/
var sourceMapPrefix: kotlin.String?
@@ -118,7 +118,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.sourceMapPrefix.set(value)
/**
* Generate JS files for specific ECMA version
* Generate JS files for the specified ECMA version.
* Possible values: "v5"
* Default value: "v5"
*/
@@ -127,7 +127,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.target.set(value)
/**
* Translate primitive arrays to JS typed arrays
* Translate primitive arrays into JS typed arrays.
* Default value: true
*/
var typedArrays: kotlin.Boolean
@@ -135,7 +135,7 @@ interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.typedArrays.set(value)
/**
* Generated JavaScript will use ES2015 classes.
* Let generated JavaScript code use ES2015 classes.
* Default value: false
*/
var useEsClasses: kotlin.Boolean
@@ -8,14 +8,14 @@ package org.jetbrains.kotlin.gradle.dsl
interface KotlinJvmCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions {
/**
* Generate metadata for Java 1.8 reflection on method parameters
* Generate metadata for Java 1.8 reflection on method parameters.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
val javaParameters: org.gradle.api.provider.Property<kotlin.Boolean>
/**
* Target version of the generated JVM bytecode (1.8, 9, 10, ..., 21), default is 1.8
* The target version of the generated JVM bytecode (1.8, 9, 10, ..., 21), with 1.8 as the default.
* Possible values: "1.8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21"
* Default value: JvmTarget.DEFAULT
*/
@@ -23,7 +23,7 @@ interface KotlinJvmCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommo
val jvmTarget: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.JvmTarget>
/**
* Name of the generated .kotlin_module file
* Name of the generated '.kotlin_module' file.
* Default value: null
*/
@get:org.gradle.api.tasks.Optional
@@ -31,7 +31,7 @@ interface KotlinJvmCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommo
val moduleName: org.gradle.api.provider.Property<kotlin.String>
/**
* Don't automatically include the Java runtime into the classpath
* Don't automatically include the Java runtime in the classpath.
* Default value: false
*/
@get:org.gradle.api.tasks.Input
@@ -9,7 +9,7 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
/**
* Generate metadata for Java 1.8 reflection on method parameters
* Generate metadata for Java 1.8 reflection on method parameters.
* Default value: false
*/
var javaParameters: kotlin.Boolean
@@ -21,7 +21,7 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
private val org.jetbrains.kotlin.gradle.dsl.JvmTarget.jvmTargetKotlinOption get() = this.target
/**
* Target version of the generated JVM bytecode (1.8, 9, 10, ..., 21), default is 1.8
* The target version of the generated JVM bytecode (1.8, 9, 10, ..., 21), with 1.8 as the default.
* Possible values: "1.8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21"
* Default value: JvmTarget.DEFAULT
*/
@@ -30,7 +30,7 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.jvmTarget.set(value.jvmTargetCompilerOption)
/**
* Name of the generated .kotlin_module file
* Name of the generated '.kotlin_module' file.
* Default value: null
*/
var moduleName: kotlin.String?
@@ -38,7 +38,7 @@ interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
set(value) = options.moduleName.set(value)
/**
* Don't automatically include the Java runtime into the classpath
* Don't automatically include the Java runtime in the classpath.
* Default value: false
*/
var noJdk: kotlin.Boolean
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.dsl
interface KotlinNativeCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions {
/**
* Specify a name for the compilation module
* Specify a name for the compilation module.
* Default value: null
*/
@get:org.gradle.api.tasks.Optional