Update KotlinNativeArtifact usages

^KT-27301 In Progress
This commit is contained in:
Yahor Berdnikau
2022-09-12 15:40:15 +02:00
parent f949bb1fa1
commit c81f1259c3
6 changed files with 37 additions and 7 deletions
@@ -24,11 +24,11 @@ interface KotlinNativeArtifact : KotlinArtifact {
val linkerOptions: List<String> val linkerOptions: List<String>
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated( @Deprecated(
message = "Replaced by compilerOptionsConfigure", message = "Replaced by toolOptionsConfigure",
replaceWith = ReplaceWith("compilerOptionsConfigure") replaceWith = ReplaceWith("toolOptionsConfigure")
) )
val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit
val compilerOptionsConfigure: CompilerCommonToolOptions.() -> Unit val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit
val binaryOptions: Map<String, String> val binaryOptions: Map<String, String>
} }
@@ -65,7 +65,12 @@ interface KotlinNativeArtifactConfig : KotlinArtifactConfig {
var isStatic: Boolean var isStatic: Boolean
var linkerOptions: List<String> var linkerOptions: List<String>
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun kotlinOptions(fn: Action<KotlinCommonToolOptions>) fun kotlinOptions(fn: Action<KotlinCommonToolOptions>)
fun toolOptions(configure: Action<CompilerCommonToolOptions>)
fun binaryOption(name: String, value: String) fun binaryOption(name: String, value: String)
} }
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.native.tasks.artifact
import org.gradle.api.Action import org.gradle.api.Action
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.attributes.Usage 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.KotlinArtifactConfig
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeArtifactConfig import org.jetbrains.kotlin.gradle.dsl.KotlinNativeArtifactConfig
@@ -48,6 +49,12 @@ abstract class KotlinNativeArtifactConfigImpl(artifactName: String) : KotlinArti
override var isStatic: Boolean = false override var isStatic: Boolean = false
override var linkerOptions: List<String> = emptyList() override var linkerOptions: List<String> = emptyList()
internal var toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit = {}
override fun toolOptions(configure: Action<CompilerCommonToolOptions>) {
toolOptionsConfigure = configure::execute
}
@Suppress("DEPRECATION")
internal var kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit = {} internal var kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit = {}
override fun kotlinOptions(fn: Action<KotlinCommonToolOptions>) { override fun kotlinOptions(fn: Action<KotlinCommonToolOptions>) {
kotlinOptionsFn = fn::execute kotlinOptionsFn = fn::execute
@@ -9,6 +9,7 @@ import org.gradle.api.Project
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.language.base.plugins.LifecycleBasePlugin 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.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFramework import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFramework
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFrameworkConfig import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFrameworkConfig
@@ -54,6 +55,7 @@ abstract class KotlinNativeFatFrameworkConfigImpl @Inject constructor(artifactNa
isStatic = isStatic, isStatic = isStatic,
linkerOptions = linkerOptions, linkerOptions = linkerOptions,
kotlinOptionsFn = kotlinOptionsFn, kotlinOptionsFn = kotlinOptionsFn,
toolOptionsConfigure = toolOptionsConfigure,
binaryOptions = binaryOptions, binaryOptions = binaryOptions,
targets = targets, targets = targets,
embedBitcode = embedBitcode, embedBitcode = embedBitcode,
@@ -68,7 +70,10 @@ class KotlinNativeFatFrameworkImpl(
override val modes: Set<NativeBuildType>, override val modes: Set<NativeBuildType>,
override val isStatic: Boolean, override val isStatic: Boolean,
override val linkerOptions: List<String>, override val linkerOptions: List<String>,
@Suppress("DEPRECATION")
@Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val targets: Set<KonanTarget>, override val targets: Set<KonanTarget>,
override val embedBitcode: BitcodeEmbeddingMode?, override val embedBitcode: BitcodeEmbeddingMode?,
@@ -11,10 +11,7 @@ import org.gradle.api.plugins.BasePlugin
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.*
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.plugin.mpp.BitcodeEmbeddingMode import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind
@@ -47,6 +44,7 @@ abstract class KotlinNativeFrameworkConfigImpl @Inject constructor(artifactName:
isStatic = isStatic, isStatic = isStatic,
linkerOptions = linkerOptions, linkerOptions = linkerOptions,
kotlinOptionsFn = kotlinOptionsFn, kotlinOptionsFn = kotlinOptionsFn,
toolOptionsConfigure = toolOptionsConfigure,
binaryOptions = binaryOptions, binaryOptions = binaryOptions,
target = target, target = target,
embedBitcode = embedBitcode, embedBitcode = embedBitcode,
@@ -61,7 +59,10 @@ class KotlinNativeFrameworkImpl(
override val modes: Set<NativeBuildType>, override val modes: Set<NativeBuildType>,
override val isStatic: Boolean, override val isStatic: Boolean,
override val linkerOptions: List<String>, override val linkerOptions: List<String>,
@Suppress("DEPRECATION")
@Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val target: KonanTarget, override val target: KonanTarget,
override val embedBitcode: BitcodeEmbeddingMode?, override val embedBitcode: BitcodeEmbeddingMode?,
@@ -10,6 +10,7 @@ import org.gradle.api.Task
import org.gradle.api.plugins.BasePlugin import org.gradle.api.plugins.BasePlugin
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.language.base.plugins.LifecycleBasePlugin 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.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibrary import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibrary
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibraryConfig import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibraryConfig
@@ -44,6 +45,7 @@ abstract class KotlinNativeLibraryConfigImpl @Inject constructor(artifactName: S
isStatic = isStatic, isStatic = isStatic,
linkerOptions = linkerOptions, linkerOptions = linkerOptions,
kotlinOptionsFn = kotlinOptionsFn, kotlinOptionsFn = kotlinOptionsFn,
toolOptionsConfigure = toolOptionsConfigure,
binaryOptions = binaryOptions, binaryOptions = binaryOptions,
target = target, target = target,
extensions = extensions extensions = extensions
@@ -57,7 +59,10 @@ class KotlinNativeLibraryImpl(
override val modes: Set<NativeBuildType>, override val modes: Set<NativeBuildType>,
override val isStatic: Boolean, override val isStatic: Boolean,
override val linkerOptions: List<String>, override val linkerOptions: List<String>,
@Suppress("DEPRECATION")
@Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val target: KonanTarget, override val target: KonanTarget,
extensions: ExtensionAware extensions: ExtensionAware
@@ -90,7 +95,9 @@ class KotlinNativeLibraryImpl(
task.binaryOptions = binaryOptions task.binaryOptions = binaryOptions
task.librariesConfiguration = librariesConfigurationName task.librariesConfiguration = librariesConfigurationName
task.exportLibrariesConfiguration = exportConfigurationName task.exportLibrariesConfiguration = exportConfigurationName
@Suppress("DEPRECATION")
task.kotlinOptions(kotlinOptionsFn) task.kotlinOptions(kotlinOptionsFn)
task.toolOptions(toolOptionsConfigure)
} }
resultTask.dependsOn(targetTask) resultTask.dependsOn(targetTask)
} }
@@ -9,6 +9,7 @@ import org.gradle.api.Project
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.language.base.plugins.LifecycleBasePlugin 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.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFramework import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFramework
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFrameworkConfig import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFrameworkConfig
@@ -54,6 +55,7 @@ abstract class KotlinNativeXCFrameworkConfigImpl @Inject constructor(artifactNam
isStatic = isStatic, isStatic = isStatic,
linkerOptions = linkerOptions, linkerOptions = linkerOptions,
kotlinOptionsFn = kotlinOptionsFn, kotlinOptionsFn = kotlinOptionsFn,
toolOptionsConfigure = toolOptionsConfigure,
binaryOptions = binaryOptions, binaryOptions = binaryOptions,
targets = targets, targets = targets,
embedBitcode = embedBitcode, embedBitcode = embedBitcode,
@@ -68,7 +70,10 @@ class KotlinNativeXCFrameworkImpl(
override val modes: Set<NativeBuildType>, override val modes: Set<NativeBuildType>,
override val isStatic: Boolean, override val isStatic: Boolean,
override val linkerOptions: List<String>, override val linkerOptions: List<String>,
@Suppress("DEPRECATION")
@Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val targets: Set<KonanTarget>, override val targets: Set<KonanTarget>,
override val embedBitcode: BitcodeEmbeddingMode?, override val embedBitcode: BitcodeEmbeddingMode?,