[Gradle] Deprecate KotlinCompilation.compilerOptions

Users quite often confuse that compilerOptions in KotlinCompilation is
actually the same object in the Kotlin compilation task. We want to make
 our API more straightforward and remove this ambiguity by proposing to
 use task compiler options DSL.

^KT-65568 Verification Pending
This commit is contained in:
Yahor Berdnikau
2024-02-12 16:43:12 +01:00
committed by Space Team
parent 5df05d5797
commit d662f72d07
24 changed files with 71 additions and 58 deletions
+6 -6
View File
@@ -92,22 +92,22 @@ kotlin {
browser {} browser {}
} }
nodejs {} nodejs {}
compilations["main"].compilerOptions.configure { compilations["main"].compileTaskProvider.configure {
freeCompilerArgs.add("-Xir-module-name=kotlin-test") compilerOptions.freeCompilerArgs.add("-Xir-module-name=kotlin-test")
} }
} }
@OptIn(ExperimentalWasmDsl::class) @OptIn(ExperimentalWasmDsl::class)
wasmJs { wasmJs {
nodejs() nodejs()
compilations["main"].compilerOptions.configure { compilations["main"].compileTaskProvider.configure {
freeCompilerArgs.add("-Xir-module-name=kotlin-test") compilerOptions.freeCompilerArgs.add("-Xir-module-name=kotlin-test")
} }
} }
@OptIn(ExperimentalWasmDsl::class) @OptIn(ExperimentalWasmDsl::class)
wasmWasi { wasmWasi {
nodejs() nodejs()
compilations["main"].compilerOptions.configure { compilations["main"].compileTaskProvider.configure {
freeCompilerArgs.add("-Xir-module-name=kotlin-test") compilerOptions.freeCompilerArgs.add("-Xir-module-name=kotlin-test")
} }
} }
@@ -59,6 +59,10 @@ interface KotlinCompilation<out T : KotlinCommonOptionsDeprecated> : Named,
val compileKotlinTaskName: String val compileKotlinTaskName: String
@Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
val compilerOptions: HasCompilerOptions<*> val compilerOptions: HasCompilerOptions<*>
@@ -17,6 +17,10 @@ class PrototypeAndroidCompilation(delegate: Delegate) : DecoratedExternalKotlinC
override val kotlinOptions: KotlinCommonOptions override val kotlinOptions: KotlinCommonOptions
get() = super.kotlinOptions as KotlinJvmOptions get() = super.kotlinOptions as KotlinJvmOptions
@Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions> override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions>
get() = super.compilerOptions as HasCompilerOptions<KotlinJvmCompilerOptions> get() = super.compilerOptions as HasCompilerOptions<KotlinJvmCompilerOptions>
@@ -57,7 +57,7 @@ internal sealed class KotlinCompilationInfo {
override val moduleName: String override val moduleName: String
get() = origin.moduleNameForCompilation().get() get() = origin.moduleNameForCompilation().get()
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") @Suppress("TYPEALIAS_EXPANSION_DEPRECATION", "DEPRECATION")
override val compilerOptions: DeprecatedHasCompilerOptions<*> override val compilerOptions: DeprecatedHasCompilerOptions<*>
get() = origin.compilerOptions get() = origin.compilerOptions
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.moduleNameForCompilation
internal object KotlinCompilationCompilerOptionsFromTargetConfigurator : KotlinCompilationImplFactory.PostConfigure { internal object KotlinCompilationCompilerOptionsFromTargetConfigurator : KotlinCompilationImplFactory.PostConfigure {
override fun configure(compilation: DecoratedKotlinCompilation<*>) { override fun configure(compilation: DecoratedKotlinCompilation<*>) {
when (val compilationCompilerOptions = compilation.compilerOptions.options) { when (@Suppress("DEPRECATION") val compilationCompilerOptions = compilation.compilerOptions.options) {
is KotlinJvmCompilerOptions -> compilation.configureJvmCompilerOptions(compilationCompilerOptions) is KotlinJvmCompilerOptions -> compilation.configureJvmCompilerOptions(compilationCompilerOptions)
is KotlinJsCompilerOptions -> compilation.configureJsCompilerOptions(compilationCompilerOptions) is KotlinJsCompilerOptions -> compilation.configureJsCompilerOptions(compilationCompilerOptions)
is KotlinNativeCompilerOptions -> { is KotlinNativeCompilerOptions -> {
@@ -172,6 +172,10 @@ internal class KotlinCompilationImpl constructor(
override val kotlinOptions: KotlinCommonOptions override val kotlinOptions: KotlinCommonOptions
get() = params.kotlinOptions get() = params.kotlinOptions
@Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
override val compilerOptions: DeprecatedHasCompilerOptions<*> override val compilerOptions: DeprecatedHasCompilerOptions<*>
get() = params.compilerOptions get() = params.compilerOptions
@@ -35,6 +35,7 @@ internal object KotlinCompilationLanguageSettingsConfigurator : KotlinCompilatio
return return
} }
@Suppress("DEPRECATION")
languageSettingsBuilder languageSettingsBuilder
.compilationCompilerOptions .compilationCompilerOptions
.complete(compilation.compilerOptions.options) .complete(compilation.compilerOptions.options)
@@ -33,6 +33,7 @@ internal val KotlinCreateNativeCompileTasksSideEffect = KotlinCompilationSideEff
val kotlinNativeCompile = project.registerTask<KotlinNativeCompile>( val kotlinNativeCompile = project.registerTask<KotlinNativeCompile>(
compilation.compileKotlinTaskName, compilation.compileKotlinTaskName,
@Suppress("DEPRECATION")
listOf(compilationInfo, compilation.compilerOptions.options) listOf(compilationInfo, compilation.compilerOptions.options)
) { task -> ) { task ->
task.group = BasePlugin.BUILD_GROUP task.group = BasePlugin.BUILD_GROUP
@@ -188,7 +188,7 @@ internal class AndroidProjectHandler(
task.destinationDirectory.set(project.layout.buildDirectory.dir("tmp/kotlin-classes/$variantDataName")) task.destinationDirectory.set(project.layout.buildDirectory.dir("tmp/kotlin-classes/$variantDataName"))
task.description = "Compiles the $variantDataName kotlin." task.description = "Compiles the $variantDataName kotlin."
} }
val kotlinTask = tasksProvider.registerKotlinJVMTask( @Suppress("DEPRECATION") val kotlinTask = tasksProvider.registerKotlinJVMTask(
project, project,
compilation.compileKotlinTaskName, compilation.compileKotlinTaskName,
compilation.compilerOptions.options, compilation.compilerOptions.options,
@@ -31,18 +31,14 @@ open class KotlinJsCompilation @Inject internal constructor(
) : DeprecatedAbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(compilation), ) : DeprecatedAbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(compilation),
HasBinaries<KotlinJsBinaryContainer> { HasBinaries<KotlinJsBinaryContainer> {
@Suppress("UNCHECKED_CAST") @Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
@Suppress("UNCHECKED_CAST", "DEPRECATION")
final override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJsCompilerOptions> final override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJsCompilerOptions>
get() = compilation.compilerOptions as DeprecatedHasCompilerOptions<KotlinJsCompilerOptions> get() = compilation.compilerOptions as DeprecatedHasCompilerOptions<KotlinJsCompilerOptions>
internal fun compilerOptions(configure: KotlinJsCompilerOptions.() -> Unit) {
compilerOptions.configure(configure)
}
internal fun compilerOptions(configure: Action<KotlinJsCompilerOptions>) {
configure.execute(compilerOptions.options)
}
override val binaries: KotlinJsBinaryContainer = override val binaries: KotlinJsBinaryContainer =
compilation.target.project.objects.newInstance( compilation.target.project.objects.newInstance(
KotlinJsBinaryContainer::class.java, KotlinJsBinaryContainer::class.java,
@@ -107,6 +103,7 @@ open class KotlinJsCompilation @Inject internal constructor(
val KotlinJsCompilation.fileExtension: Provider<String> val KotlinJsCompilation.fileExtension: Provider<String>
get() { get() {
val isWasm = platformType == KotlinPlatformType.wasm val isWasm = platformType == KotlinPlatformType.wasm
@Suppress("DEPRECATION")
return compilerOptions.options.moduleKind.map { moduleKind -> return compilerOptions.options.moduleKind.map { moduleKind ->
if (isWasm || moduleKind == JsModuleKind.MODULE_ES) { if (isWasm || moduleKind == JsModuleKind.MODULE_ES) {
"mjs" "mjs"
@@ -57,6 +57,7 @@ abstract class KotlinJsIrSubTarget(
internal fun configure() { internal fun configure() {
target.compilations.all { target.compilations.all {
val npmProject = it.npmProject val npmProject = it.npmProject
@Suppress("DEPRECATION")
it.compilerOptions.options.freeCompilerArgs.add("$PER_MODULE_OUTPUT_NAME=${npmProject.name}") it.compilerOptions.options.freeCompilerArgs.add("$PER_MODULE_OUTPUT_NAME=${npmProject.name}")
} }
@@ -6,7 +6,6 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.Action
import org.gradle.api.file.FileCollection import org.gradle.api.file.FileCollection
import org.gradle.api.provider.Property import org.gradle.api.provider.Property
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
@@ -27,17 +26,14 @@ open class KotlinJvmAndroidCompilation @Inject internal constructor(
override val target: KotlinAndroidTarget = compilation.target as KotlinAndroidTarget override val target: KotlinAndroidTarget = compilation.target as KotlinAndroidTarget
@Suppress("DEPRECATION")
@Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> = override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> =
compilation.compilerOptions.castCompilerOptionsType() compilation.compilerOptions.castCompilerOptionsType()
internal fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {
compilerOptions.configure(configure)
}
internal fun compilerOptions(configure: Action<KotlinJvmCompilerOptions>) {
configure.execute(compilerOptions.options)
}
internal val testedVariantArtifacts: Property<FileCollection> = internal val testedVariantArtifacts: Property<FileCollection> =
compilation.project.objects.property(FileCollection::class.java) compilation.project.objects.property(FileCollection::class.java)
@@ -6,7 +6,6 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.Action
import org.gradle.api.provider.Provider import org.gradle.api.provider.Provider
import org.gradle.api.tasks.SourceSet import org.gradle.api.tasks.SourceSet
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
@@ -33,17 +32,14 @@ open class KotlinJvmCompilation @Inject internal constructor(
final override val target: KotlinJvmTarget = compilation.target as KotlinJvmTarget final override val target: KotlinJvmTarget = compilation.target as KotlinJvmTarget
@Suppress("DEPRECATION")
@Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> = override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> =
compilation.compilerOptions.castCompilerOptionsType() compilation.compilerOptions.castCompilerOptionsType()
internal fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {
compilerOptions.configure(configure)
}
internal fun compilerOptions(configure: Action<KotlinJvmCompilerOptions>) {
configure.execute(compilerOptions.options)
}
@Deprecated("Replaced with compileTaskProvider", replaceWith = ReplaceWith("compileTaskProvider")) @Deprecated("Replaced with compileTaskProvider", replaceWith = ReplaceWith("compileTaskProvider"))
@Suppress("UNCHECKED_CAST", "DEPRECATION") @Suppress("UNCHECKED_CAST", "DEPRECATION")
override val compileKotlinTaskProvider: TaskProvider<out org.jetbrains.kotlin.gradle.tasks.KotlinCompile> override val compileKotlinTaskProvider: TaskProvider<out org.jetbrains.kotlin.gradle.tasks.KotlinCompile>
@@ -62,6 +62,7 @@ class KotlinJvmWithJavaTargetPreset(
} }
target.compilations.configureEach { target.compilations.configureEach {
@Suppress("DEPRECATION")
it.compilerOptions.options.moduleName.convention( it.compilerOptions.options.moduleName.convention(
it.moduleNameForCompilation() it.moduleNameForCompilation()
) )
@@ -6,7 +6,6 @@
@file:Suppress("PackageDirectoryMismatch", "UNCHECKED_CAST") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch", "UNCHECKED_CAST") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.Action
import org.gradle.api.tasks.SourceSet import org.gradle.api.tasks.SourceSet
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.compile.JavaCompile
@@ -25,18 +24,14 @@ open class KotlinWithJavaCompilation<KotlinOptionsType : KotlinCommonOptions, CO
) : DeprecatedAbstractKotlinCompilationToRunnableFiles<KotlinOptionsType>(compilation), ) : DeprecatedAbstractKotlinCompilationToRunnableFiles<KotlinOptionsType>(compilation),
DeprecatedKotlinCompilationWithResources<KotlinOptionsType> { DeprecatedKotlinCompilationWithResources<KotlinOptionsType> {
@Suppress("UNCHECKED_CAST") @Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
@Suppress("UNCHECKED_CAST", "DEPRECATION")
override val compilerOptions: DeprecatedHasCompilerOptions<CO> = override val compilerOptions: DeprecatedHasCompilerOptions<CO> =
compilation.compilerOptions as DeprecatedHasCompilerOptions<CO> compilation.compilerOptions as DeprecatedHasCompilerOptions<CO>
internal fun compilerOptions(configure: CO.() -> Unit) {
compilerOptions.configure(configure)
}
internal fun compilerOptions(configure: Action<CO>) {
configure.execute(compilerOptions.options)
}
val compileJavaTaskProvider: TaskProvider<out JavaCompile> val compileJavaTaskProvider: TaskProvider<out JavaCompile>
get() = target.project.tasks.withType(JavaCompile::class.java).named(javaSourceSet.compileJavaTaskName) get() = target.project.tasks.withType(JavaCompile::class.java).named(javaSourceSet.compileJavaTaskName)
@@ -75,7 +75,7 @@ private fun Project.createLinkTask(binary: NativeBinary) {
// workaround for too late compilation compilerOptions creation // workaround for too late compilation compilerOptions creation
// which leads to not able run project.afterEvaluate because of wrong context // which leads to not able run project.afterEvaluate because of wrong context
// this afterEvaluate comes from NativeCompilerOptions // this afterEvaluate comes from NativeCompilerOptions
val compilationCompilerOptions = binary.compilation.compilerOptions @Suppress("DEPRECATION") val compilationCompilerOptions = binary.compilation.compilerOptions
val konanPropertiesBuildService = KonanPropertiesBuildService.registerIfAbsent(project) val konanPropertiesBuildService = KonanPropertiesBuildService.registerIfAbsent(project)
val xcodeVersionTask = XcodeVersionTask.locateOrRegister(project) val xcodeVersionTask = XcodeVersionTask.locateOrRegister(project)
val linkTask = registerTask<KotlinNativeLink>( val linkTask = registerTask<KotlinNativeLink>(
@@ -40,18 +40,14 @@ abstract class AbstractKotlinNativeCompilation internal constructor(
override val compileTaskProvider: TaskProvider<KotlinNativeCompile> override val compileTaskProvider: TaskProvider<KotlinNativeCompile>
get() = compilation.compileTaskProvider as TaskProvider<KotlinNativeCompile> get() = compilation.compileTaskProvider as TaskProvider<KotlinNativeCompile>
@Suppress("UNCHECKED_CAST") @Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
@Suppress("UNCHECKED_CAST", "DEPRECATION")
override val compilerOptions: DeprecatedHasCompilerOptions<KotlinNativeCompilerOptions> override val compilerOptions: DeprecatedHasCompilerOptions<KotlinNativeCompilerOptions>
get() = compilation.compilerOptions as DeprecatedHasCompilerOptions<KotlinNativeCompilerOptions> get() = compilation.compilerOptions as DeprecatedHasCompilerOptions<KotlinNativeCompilerOptions>
internal fun compilerOptions(configure: KotlinNativeCompilerOptions.() -> Unit) {
compilerOptions.configure(configure)
}
internal fun compilerOptions(configure: Action<KotlinNativeCompilerOptions>) {
configure.execute(compilerOptions.options)
}
internal val useGenericPluginArtifact: Boolean internal val useGenericPluginArtifact: Boolean
get() = project.nativeUseEmbeddableCompilerJar get() = project.nativeUseEmbeddableCompilerJar
} }
@@ -63,6 +59,11 @@ open class KotlinNativeCompilation @Inject internal constructor(
final override val target: KotlinNativeTarget final override val target: KotlinNativeTarget
get() = compilation.target as KotlinNativeTarget get() = compilation.target as KotlinNativeTarget
@Suppress("DEPRECATION")
@Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
override val compilerOptions: NativeCompilerOptions override val compilerOptions: NativeCompilerOptions
get() = super.compilerOptions as NativeCompilerOptions get() = super.compilerOptions as NativeCompilerOptions
@@ -34,7 +34,7 @@ internal class KaptGenerateStubsConfig : BaseKotlinCompileConfig<KaptGenerateStu
configureTask { kaptGenerateStubsTask -> configureTask { kaptGenerateStubsTask ->
// Syncing compiler options from related KotlinJvmCompile task // Syncing compiler options from related KotlinJvmCompile task
val jvmCompilerOptions = compilation.compilerOptions.options as KotlinJvmCompilerOptions @Suppress("DEPRECATION") val jvmCompilerOptions = compilation.compilerOptions.options as KotlinJvmCompilerOptions
KotlinJvmCompilerOptionsHelper.syncOptionsAsConvention( KotlinJvmCompilerOptionsHelper.syncOptionsAsConvention(
from = jvmCompilerOptions, from = jvmCompilerOptions,
into = kaptGenerateStubsTask.compilerOptions into = kaptGenerateStubsTask.compilerOptions
@@ -142,7 +142,9 @@ class BuildKotlinToolingMetadataTest {
project.plugins.apply("kotlin-multiplatform") project.plugins.apply("kotlin-multiplatform")
val kotlin = multiplatformExtension val kotlin = multiplatformExtension
val jvm = kotlin.jvm() val jvm = kotlin.jvm()
@Suppress("DEPRECATION")
jvm.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME).compilerOptions.options.jvmTarget.set(JvmTarget.JVM_12) jvm.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME).compilerOptions.options.jvmTarget.set(JvmTarget.JVM_12)
@Suppress("DEPRECATION")
jvm.compilations.getByName(KotlinCompilation.TEST_COMPILATION_NAME).compilerOptions.options.jvmTarget.set(JvmTarget.JVM_10) jvm.compilations.getByName(KotlinCompilation.TEST_COMPILATION_NAME).compilerOptions.options.jvmTarget.set(JvmTarget.JVM_10)
assertEquals( assertEquals(
@@ -105,6 +105,7 @@ class K2MultiplatformStructureTest {
/* Enable K2 if necessary */ /* Enable K2 if necessary */
if (KotlinVersion.DEFAULT < KotlinVersion.KOTLIN_2_0) { if (KotlinVersion.DEFAULT < KotlinVersion.KOTLIN_2_0) {
@Suppress("Deprecation")
compilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0) compilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0)
} }
@@ -97,6 +97,7 @@ class KotlinCompileArgumentsTest {
kotlin.jvm() kotlin.jvm()
val jvmMainCompilation = kotlin.jvm().compilations.getByName("main") val jvmMainCompilation = kotlin.jvm().compilations.getByName("main")
@Suppress("DEPRECATION")
jvmMainCompilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0) jvmMainCompilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0)
project.evaluate() project.evaluate()
@@ -116,6 +117,7 @@ class KotlinCompileArgumentsTest {
val kotlin = project.multiplatformExtension val kotlin = project.multiplatformExtension
kotlin.jvm() kotlin.jvm()
val compilation = kotlin.jvm().compilations.main val compilation = kotlin.jvm().compilations.main
@Suppress("DEPRECATION")
compilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0) compilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0)
val compileTask = compilation.compileTaskProvider.get() as KotlinCompile val compileTask = compilation.compileTaskProvider.get() as KotlinCompile
@@ -25,6 +25,7 @@ class KotlinNativeCompilationModuleNameTest {
project.evaluate() project.evaluate()
@Suppress("DEPRECATION")
assertEquals( assertEquals(
PROJECT_NAME, PROJECT_NAME,
linuxX64Target.compilations.main.compilerOptions.options.moduleName.get(), linuxX64Target.compilations.main.compilerOptions.options.moduleName.get(),
@@ -43,6 +44,7 @@ class KotlinNativeCompilationModuleNameTest {
project.evaluate() project.evaluate()
@Suppress("DEPRECATION")
assertEquals( assertEquals(
"${PROJECT_NAME}_test", "${PROJECT_NAME}_test",
linuxX64Target.compilations.test.compilerOptions.options.moduleName.get(), linuxX64Target.compilations.test.compilerOptions.options.moduleName.get(),
@@ -66,7 +68,7 @@ class KotlinNativeCompilationModuleNameTest {
project.evaluate() project.evaluate()
val compilerOptions = project @Suppress("DEPRECATION") val compilerOptions = project
.multiplatformExtension .multiplatformExtension
.metadata() .metadata()
.compilations .compilations
@@ -92,6 +92,7 @@ class KotlinNativeCompileArgumentsTest {
val kotlin = project.multiplatformExtension val kotlin = project.multiplatformExtension
val linuxX64Target = kotlin.linuxX64() val linuxX64Target = kotlin.linuxX64()
linuxX64Target.compilations.all { linuxX64Target.compilations.all {
@Suppress("DEPRECATION")
it.compilerOptions.options.apply { it.compilerOptions.options.apply {
optIn.add("my.OptIn") optIn.add("my.OptIn")
optIn.add("my.other.OptIn") optIn.add("my.other.OptIn")
@@ -14,6 +14,10 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
class FakeCompilation(delegate: Delegate) : DecoratedExternalKotlinCompilation(delegate) { class FakeCompilation(delegate: Delegate) : DecoratedExternalKotlinCompilation(delegate) {
@Deprecated(
"To configure compilation compiler options use 'compileTaskProvider':\ncompilation.compileTaskProvider.configure{\n" +
" compilerOptions {}\n}"
)
@Suppress("UNCHECKED_CAST", "DEPRECATION") @Suppress("UNCHECKED_CAST", "DEPRECATION")
override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions> override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions>
get() = super.compilerOptions as HasCompilerOptions<KotlinJvmCompilerOptions> get() = super.compilerOptions as HasCompilerOptions<KotlinJvmCompilerOptions>