diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinArtifact.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinArtifact.kt index a06c9b05926..0dfc07d9d42 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinArtifact.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinArtifact.kt @@ -24,11 +24,11 @@ interface KotlinNativeArtifact : KotlinArtifact { val linkerOptions: List @Suppress("DEPRECATION") @Deprecated( - message = "Replaced by compilerOptionsConfigure", - replaceWith = ReplaceWith("compilerOptionsConfigure") + message = "Replaced by toolOptionsConfigure", + replaceWith = ReplaceWith("toolOptionsConfigure") ) val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit - val compilerOptionsConfigure: CompilerCommonToolOptions.() -> Unit + val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit val binaryOptions: Map } @@ -65,7 +65,12 @@ interface KotlinNativeArtifactConfig : KotlinArtifactConfig { var isStatic: Boolean var linkerOptions: List @Suppress("DEPRECATION") + @Deprecated( + message = "Replaced with toolOptions()", + replaceWith = ReplaceWith("toolOptions(fn)") + ) fun kotlinOptions(fn: Action) + fun toolOptions(configure: Action) fun binaryOption(name: String, value: String) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifact.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifact.kt index 40074c06bb0..377c1cfd157 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifact.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifact.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.native.tasks.artifact import org.gradle.api.Action import org.gradle.api.Project import org.gradle.api.attributes.Usage +import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinArtifactConfig import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinNativeArtifactConfig @@ -48,6 +49,12 @@ abstract class KotlinNativeArtifactConfigImpl(artifactName: String) : KotlinArti override var isStatic: Boolean = false override var linkerOptions: List = emptyList() + internal var toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit = {} + override fun toolOptions(configure: Action) { + toolOptionsConfigure = configure::execute + } + + @Suppress("DEPRECATION") internal var kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit = {} override fun kotlinOptions(fn: Action) { kotlinOptionsFn = fn::execute diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFatFramework.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFatFramework.kt index d87dbb4effd..de54d1aeece 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFatFramework.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFatFramework.kt @@ -9,6 +9,7 @@ import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.plugins.ExtensionAware import org.gradle.language.base.plugins.LifecycleBasePlugin +import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFramework import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFrameworkConfig @@ -54,6 +55,7 @@ abstract class KotlinNativeFatFrameworkConfigImpl @Inject constructor(artifactNa isStatic = isStatic, linkerOptions = linkerOptions, kotlinOptionsFn = kotlinOptionsFn, + toolOptionsConfigure = toolOptionsConfigure, binaryOptions = binaryOptions, targets = targets, embedBitcode = embedBitcode, @@ -68,7 +70,10 @@ class KotlinNativeFatFrameworkImpl( override val modes: Set, override val isStatic: Boolean, override val linkerOptions: List, + @Suppress("DEPRECATION") + @Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure")) override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, + override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val binaryOptions: Map, override val targets: Set, override val embedBitcode: BitcodeEmbeddingMode?, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFramework.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFramework.kt index 9bd97dc201e..a8bd879e7b0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFramework.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeFramework.kt @@ -11,10 +11,7 @@ import org.gradle.api.plugins.BasePlugin import org.gradle.api.plugins.ExtensionAware import org.gradle.api.tasks.TaskProvider import org.gradle.language.base.plugins.LifecycleBasePlugin -import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions -import org.jetbrains.kotlin.gradle.dsl.KotlinNativeArtifact -import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFramework -import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFrameworkConfig +import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind @@ -47,6 +44,7 @@ abstract class KotlinNativeFrameworkConfigImpl @Inject constructor(artifactName: isStatic = isStatic, linkerOptions = linkerOptions, kotlinOptionsFn = kotlinOptionsFn, + toolOptionsConfigure = toolOptionsConfigure, binaryOptions = binaryOptions, target = target, embedBitcode = embedBitcode, @@ -61,7 +59,10 @@ class KotlinNativeFrameworkImpl( override val modes: Set, override val isStatic: Boolean, override val linkerOptions: List, + @Suppress("DEPRECATION") + @Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure")) override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, + override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val binaryOptions: Map, override val target: KonanTarget, override val embedBitcode: BitcodeEmbeddingMode?, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLibrary.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLibrary.kt index 89847cb78c7..9564cea717e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLibrary.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLibrary.kt @@ -10,6 +10,7 @@ import org.gradle.api.Task import org.gradle.api.plugins.BasePlugin import org.gradle.api.plugins.ExtensionAware import org.gradle.language.base.plugins.LifecycleBasePlugin +import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibrary import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibraryConfig @@ -44,6 +45,7 @@ abstract class KotlinNativeLibraryConfigImpl @Inject constructor(artifactName: S isStatic = isStatic, linkerOptions = linkerOptions, kotlinOptionsFn = kotlinOptionsFn, + toolOptionsConfigure = toolOptionsConfigure, binaryOptions = binaryOptions, target = target, extensions = extensions @@ -57,7 +59,10 @@ class KotlinNativeLibraryImpl( override val modes: Set, override val isStatic: Boolean, override val linkerOptions: List, + @Suppress("DEPRECATION") + @Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure")) override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, + override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val binaryOptions: Map, override val target: KonanTarget, extensions: ExtensionAware @@ -90,7 +95,9 @@ class KotlinNativeLibraryImpl( task.binaryOptions = binaryOptions task.librariesConfiguration = librariesConfigurationName task.exportLibrariesConfiguration = exportConfigurationName + @Suppress("DEPRECATION") task.kotlinOptions(kotlinOptionsFn) + task.toolOptions(toolOptionsConfigure) } resultTask.dependsOn(targetTask) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeXCFramework.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeXCFramework.kt index 19eab837ddc..ee0cf16c9f8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeXCFramework.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeXCFramework.kt @@ -9,6 +9,7 @@ import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.plugins.ExtensionAware import org.gradle.language.base.plugins.LifecycleBasePlugin +import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFramework import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFrameworkConfig @@ -54,6 +55,7 @@ abstract class KotlinNativeXCFrameworkConfigImpl @Inject constructor(artifactNam isStatic = isStatic, linkerOptions = linkerOptions, kotlinOptionsFn = kotlinOptionsFn, + toolOptionsConfigure = toolOptionsConfigure, binaryOptions = binaryOptions, targets = targets, embedBitcode = embedBitcode, @@ -68,7 +70,10 @@ class KotlinNativeXCFrameworkImpl( override val modes: Set, override val isStatic: Boolean, override val linkerOptions: List, + @Suppress("DEPRECATION") + @Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure")) override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, + override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val binaryOptions: Map, override val targets: Set, override val embedBitcode: BitcodeEmbeddingMode?,