Make 'Framework.embedBitcodeMode' lazy provider.

This commit is contained in:
konstantin.tskhovrebov
2022-09-27 12:56:44 +02:00
committed by Space Team
parent 8c2b2eb278
commit 7ca5750255
2 changed files with 19 additions and 6 deletions
@@ -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)
}
/**
@@ -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<BitcodeEmbeddingMode> =
(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,