diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt index 0a185d341ad..37aead5f7bd 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt @@ -279,14 +279,22 @@ class Framework( /** * Embed bitcode for the framework or not. See [BitcodeEmbeddingMode]. */ - var embedBitcode: org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode = - Xcode.defaultBitcodeEmbeddingMode(konanTarget, buildType) + val embedBitcodeMode = project.objects.property(org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode::class.java).apply { + convention(project.provider { Xcode.defaultBitcodeEmbeddingMode(konanTarget, buildType) }) + } + + @Deprecated("Use 'embedBitcodeMode' property instead.") + var embedBitcode: org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode + get() = embedBitcodeMode.get() + set(value) { + embedBitcodeMode.set(value) + } /** * Enable or disable embedding bitcode for the framework. See [BitcodeEmbeddingMode]. */ fun embedBitcode(mode: org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode) { - embedBitcode = mode + embedBitcodeMode.set(mode) } /** diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt index b9dbbfdc92e..c74d06fc6be 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt @@ -192,9 +192,14 @@ constructor( val target: String get() = compilation.konanTarget.name - @get:Input + @Deprecated("Use 'embedBitcodeMode' provider instead.", ReplaceWith("embedBitcodeMode.get()")) + @get:Internal val embedBitcode: BitcodeEmbeddingMode - get() = (binary as? Framework)?.embedBitcode ?: BitcodeEmbeddingMode.DISABLE + get() = embedBitcodeMode.get() + + @get:Input + val embedBitcodeMode: Provider = + (binary as? Framework)?.embedBitcodeMode ?: project.provider { BitcodeEmbeddingMode.DISABLE } @get:Internal val apiFiles = project.files(project.configurations.getByName(compilation.apiConfigurationName)).filterKlibsPassedToCompiler() @@ -331,7 +336,7 @@ constructor( plugins, processTests, entryPoint, - embedBitcode, + embedBitcodeMode.get(), linkerOpts, binaryOptions, isStaticFramework,