Interface FluxoConfigurationExtensionKotlinOptions

    • Constructor Detail

    • Method Detail

      • explicitApi

         Unit explicitApi()

        Sets explicitApi option to report issues as errors.

        WARN: Automatically sets for Gradle plugins configured via setupGradlePlugin!

      • getKotlinLangVersion

         abstract String getKotlinLangVersion()

        The Kotlin language version. Provide source compatibility with the specified version of Kotlin.

        Possible values: '1.4 (deprecated)', '1.5 (deprecated)', '1.6', '1.7', '1.8', '1.9', '2.0 (experimental)', '2.1 (experimental)'. Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set. Default value: null.

        Auto set using the version names in the toml version catalog: kotlinLangVersion, kotlinLang.

        Note: can't be lower than kotlinApiVersion!

      • setKotlinLangVersion

         abstract Unit setKotlinLangVersion(String kotlinLangVersion)

        The Kotlin language version. Provide source compatibility with the specified version of Kotlin.

        Possible values: '1.4 (deprecated)', '1.5 (deprecated)', '1.6', '1.7', '1.8', '1.9', '2.0 (experimental)', '2.1 (experimental)'. Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set. Default value: null.

        Auto set using the version names in the toml version catalog: kotlinLangVersion, kotlinLang.

        Note: can't be lower than kotlinApiVersion!

      • getKotlinApiVersion

         abstract String getKotlinApiVersion()

        The Kotlin api version. Allow using declarations only from the specified version of the bundled libraries.

        Possible values: '1.4 (deprecated)', '1.5 (deprecated)', '1.6', '1.7', '1.8', '1.9', '2.0 (experimental)', '2.1 (experimental)'. Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set. Default value: kotlinLangVersion.

        Auto set using the version names in the toml version catalog: kotlinApiVersion, kotlinApi.

        Note: can't be greater than kotlinLangVersion!

      • setKotlinApiVersion

         abstract Unit setKotlinApiVersion(String kotlinApiVersion)

        The Kotlin api version. Allow using declarations only from the specified version of the bundled libraries.

        Possible values: '1.4 (deprecated)', '1.5 (deprecated)', '1.6', '1.7', '1.8', '1.9', '2.0 (experimental)', '2.1 (experimental)'. Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set. Default value: kotlinLangVersion.

        Auto set using the version names in the toml version catalog: kotlinApiVersion, kotlinApi.

        Note: can't be greater than kotlinLangVersion!

      • getKotlinTestsLangVersion

         abstract String getKotlinTestsLangVersion()

        Override the Kotlin language/api version for tests. Provide source compatibility with the specified version of Kotlin.

        Possible values: '1.4 (deprecated)', '1.5 (deprecated)', '1.6', '1.7', '1.8', '1.9', '2.0 (experimental)', '2.1 (experimental)'. Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set. Default value: null.

        Auto set using the version names in the toml version catalog: testsKotlinLangVersion, testsKotlinLang.

        Note: can't be lower than kotlinApiVersion or kotlinLangVersion!

      • setKotlinTestsLangVersion

         abstract Unit setKotlinTestsLangVersion(String kotlinTestsLangVersion)

        Override the Kotlin language/api version for tests. Provide source compatibility with the specified version of Kotlin.

        Possible values: '1.4 (deprecated)', '1.5 (deprecated)', '1.6', '1.7', '1.8', '1.9', '2.0 (experimental)', '2.1 (experimental)'. Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set. Default value: null.

        Auto set using the version names in the toml version catalog: testsKotlinLangVersion, testsKotlinLang.

        Note: can't be lower than kotlinApiVersion or kotlinLangVersion!

      • getKotlinCoreLibraries

         abstract String getKotlinCoreLibraries()

        Version of the core Kotlin libraries added to Kotlin compile classpath, unless stdlib dependency already added to the project.

        Inherited from the parent project if not set. By default, this version is the same as the version of the used Kotlin Gradle plugin.

        Auto set using the version names in the toml version catalog: kotlinCoreLibraries, kotlinCoreLibrariesVersion, kotlinStdlib, kotlin, kotlinVersion.

      • setKotlinCoreLibraries

         abstract Unit setKotlinCoreLibraries(String kotlinCoreLibraries)

        Version of the core Kotlin libraries added to Kotlin compile classpath, unless stdlib dependency already added to the project.

        Inherited from the parent project if not set. By default, this version is the same as the version of the used Kotlin Gradle plugin.

        Auto set using the version names in the toml version catalog: kotlinCoreLibraries, kotlinCoreLibrariesVersion, kotlinStdlib, kotlin, kotlinVersion.

      • getJavaLangTarget

         abstract String getJavaLangTarget()

        The Java lang target (and source) version. Configures to generate class files suitable for the specified Java SE release. And compiles source code according to the rules of the Java programming language for the specified Java SE release.

        Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set.

        Auto set using the version names in the toml version catalog: jvmTarget, javaLangTarget, javaLangSource, javaToolchain, sourceCompatibility, targetCompatibility.

        Note: the Java lang target must not be lower than the source release.

      • setJavaLangTarget

         abstract Unit setJavaLangTarget(String javaLangTarget)

        The Java lang target (and source) version. Configures to generate class files suitable for the specified Java SE release. And compiles source code according to the rules of the Java programming language for the specified Java SE release.

        Set 'latest' or 'last' for the latest possible value. Set 'current' for the current Kotlin plugin base value.

        Inherited from the parent project if not set.

        Auto set using the version names in the toml version catalog: jvmTarget, javaLangTarget, javaLangSource, javaToolchain, sourceCompatibility, targetCompatibility.

        Note: the Java lang target must not be lower than the source release.

      • getJavaTestsLangTarget

         abstract String getJavaTestsLangTarget()

        Override the Java lang target (and source) version for tests.

        Inherited from the parent project if not set.

        Auto set using the version names in the toml version catalog: jvmTestsTarget, javaTestsLangTarget

        Note: can't be lower than javaLangTarget!

      • setJavaTestsLangTarget

         abstract Unit setJavaTestsLangTarget(String javaTestsLangTarget)

        Override the Java lang target (and source) version for tests.

        Inherited from the parent project if not set.

        Auto set using the version names in the toml version catalog: jvmTestsTarget, javaTestsLangTarget

        Note: can't be lower than javaLangTarget!

      • getSetupJvmToolchain

         abstract Boolean getSetupJvmToolchain()

        Flag to configure Java toolchain both for Kotlin JVM and Java tasks.

        Turned off by default as it can slow down the build.

        Inherited from the parent project if not set.

      • setSetupJvmToolchain

         abstract Unit setSetupJvmToolchain(Boolean setupJvmToolchain)

        Flag to configure Java toolchain both for Kotlin JVM and Java tasks.

        Turned off by default as it can slow down the build.

        Inherited from the parent project if not set.

      • getSetupKotlin

         abstract Boolean getSetupKotlin()

        Flag that allows to disable kotlin plugin configuration completely.

        Inherited from the parent project if not set. Default value: true.

      • setSetupKotlin

         abstract Unit setSetupKotlin(Boolean setupKotlin)

        Flag that allows to disable kotlin plugin configuration completely.

        Inherited from the parent project if not set. Default value: true.

      • getOptInInternal

         abstract Boolean getOptInInternal()

        Flag to add opt-ins for internal Kotlin and Coroutines features.

        For Coroutines:

        • kotlinx.coroutines.DelicateCoroutinesApi

        • kotlinx.coroutines.ExperimentalCoroutinesApi

        • kotlinx.coroutines.InternalCoroutinesApi

      • setOptInInternal

         abstract Unit setOptInInternal(Boolean optInInternal)

        Flag to add opt-ins for internal Kotlin and Coroutines features.

        For Coroutines:

        • kotlinx.coroutines.DelicateCoroutinesApi

        • kotlinx.coroutines.ExperimentalCoroutinesApi

        • kotlinx.coroutines.InternalCoroutinesApi

      • getExplicitApi

         abstract ExplicitApiMode getExplicitApi()

        Option that tells the Kotlin compiler if and how to report issues on all public API declarations without explicit visibility or return type.

        Inherited from the parent project if not set. Default value:

        • ExplicitApiMode.Strict for Gradle plugins configured via setupGradlePlugin!

        • in other cases null.

      • setExplicitApi

         abstract Unit setExplicitApi(ExplicitApiMode explicitApi)

        Option that tells the Kotlin compiler if and how to report issues on all public API declarations without explicit visibility or return type.

        Inherited from the parent project if not set. Default value:

        • ExplicitApiMode.Strict for Gradle plugins configured via setupGradlePlugin!

        • in other cases null.

      • getJavaParameters

         abstract Boolean getJavaParameters()

        Generate metadata for Java 1.8 reflection on method parameters.

        Inherited from the parent project if not set. Default value: false.

        More details

      • setJavaParameters

         abstract Unit setJavaParameters(Boolean javaParameters)

        Generate metadata for Java 1.8 reflection on method parameters.

        Inherited from the parent project if not set. Default value: false.

        More details

      • getUseIndyLambdas

         abstract Boolean getUseIndyLambdas()

        Flag to turn off dynamic invocations (invokedynamic) compilation for Kotlin lambdas and SAM conversions (indy mode).

        Inherited from the parent project if not set. Default value: true.

        Indy mode produces faster and more compact bytecode, using the invokedynamic JVM instruction. Note: legacy class mode provides names for lambda arguments. Indy mode doesn't!

        Uses -Xlambdas and -Xsam-conversions compiler options.

        More info

      • setUseIndyLambdas

         abstract Unit setUseIndyLambdas(Boolean useIndyLambdas)

        Flag to turn off dynamic invocations (invokedynamic) compilation for Kotlin lambdas and SAM conversions (indy mode).

        Inherited from the parent project if not set. Default value: true.

        Indy mode produces faster and more compact bytecode, using the invokedynamic JVM instruction. Note: legacy class mode provides names for lambda arguments. Indy mode doesn't!

        Uses -Xlambdas and -Xsam-conversions compiler options.

        More info

      • getProgressiveMode

         abstract Boolean getProgressiveMode()

        Flag to turn on the progressive mode.

        Deprecations and bug fixes for unstable code take effect immediately in this mode. Instead of going through a graceful migration cycle.

        Progressive code is backward compatible. But not otherwise.

        Only applied if the latest kotlinLangVersion used (otherwise meaningless).

        Inherited from the parent project if not set. Default value: true.

      • setProgressiveMode

         abstract Unit setProgressiveMode(Boolean progressiveMode)

        Flag to turn on the progressive mode.

        Deprecations and bug fixes for unstable code take effect immediately in this mode. Instead of going through a graceful migration cycle.

        Progressive code is backward compatible. But not otherwise.

        Only applied if the latest kotlinLangVersion used (otherwise meaningless).

        Inherited from the parent project if not set. Default value: true.

      • getLatestSettingsForTests

         abstract Boolean getLatestSettingsForTests()

        Flag to create an experimental compilation with the latest language features.

        Inherited from the parent project if not set. Default value: true.

      • setLatestSettingsForTests

         abstract Unit setLatestSettingsForTests(Boolean latestSettingsForTests)

        Flag to create an experimental compilation with the latest language features.

        Inherited from the parent project if not set. Default value: true.

      • getExperimentalLatestCompilation

         abstract Boolean getExperimentalLatestCompilation()

        Flag to create an experimental compilation with the latest language features.

        Inherited from the parent project if not set. Default value: false.

      • setExperimentalLatestCompilation

         abstract Unit setExperimentalLatestCompilation(Boolean experimentalLatestCompilation)

        Flag to create an experimental compilation with the latest language features.

        Inherited from the parent project if not set. Default value: false.

      • getRemoveAssertionsInRelease

         abstract Boolean getRemoveAssertionsInRelease()

        Flag to remove utility bytecode, eliminating names/data leaks in release artifacts (better for minification and obfuscation).

        Inherited from the parent project if not set. Default value: true.

        Uses -Xno-call-assertions, -Xno-param-assertions, and -Xno-receiver-assertions compiler options.

        More info 2

      • setRemoveAssertionsInRelease

         abstract Unit setRemoveAssertionsInRelease(Boolean removeAssertionsInRelease)

        Flag to remove utility bytecode, eliminating names/data leaks in release artifacts (better for minification and obfuscation).

        Inherited from the parent project if not set. Default value: true.

        Uses -Xno-call-assertions, -Xno-param-assertions, and -Xno-receiver-assertions compiler options.

        More info 2

      • getUseExperimentalFastJarFs

         abstract Boolean getUseExperimentalFastJarFs()

        Flag to turn on the new faster version of JAR FS should make build faster, but it is experimental and causes warning. So auto turned off when allWarningsAsErrors enabled.

        Inherited from the parent project if not set. Default value: true.

        Uses -Xuse-fast-jar-file-system compiler option.

      • setUseExperimentalFastJarFs

         abstract Unit setUseExperimentalFastJarFs(Boolean useExperimentalFastJarFs)

        Flag to turn on the new faster version of JAR FS should make build faster, but it is experimental and causes warning. So auto turned off when allWarningsAsErrors enabled.

        Inherited from the parent project if not set. Default value: true.

        Uses -Xuse-fast-jar-file-system compiler option.