From 383b9834a167cab453a24837c0f1000ee18404c6 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Sun, 14 Feb 2021 11:51:18 +0300 Subject: [PATCH] [Gradle, K/N] Make BitcodeEmbeddingMode move backward compatible --- .../kotlin/gradle/targets/native/NativeBinaries.kt | 14 ++++++++++---- .../targets/native/tasks/KotlinNativeTasks.kt | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt index bb4099b0c8b..b5f36979ed8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/NativeBinaries.kt @@ -244,12 +244,12 @@ class Framework( /** * Embed bitcode for the framework or not. See [BitcodeEmbeddingMode]. */ - var embedBitcode: BitcodeEmbeddingMode = buildType.embedBitcode(konanTarget) + var embedBitcode: org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode = buildType.embedBitcode(konanTarget) /** * Enable or disable embedding bitcode for the framework. See [BitcodeEmbeddingMode]. */ - fun embedBitcode(mode: BitcodeEmbeddingMode) { + fun embedBitcode(mode: org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode) { embedBitcode = mode } @@ -263,15 +263,21 @@ class Framework( * marker - Embed placeholder LLVM IR data as a marker. * Has the same effect as the -Xembed-bitcode-marker command line option. */ - fun embedBitcode(mode: String) = embedBitcode(BitcodeEmbeddingMode.valueOf(mode.toUpperCase())) + fun embedBitcode(mode: String) = embedBitcode(org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.valueOf(mode.toUpperCase())) /** * Specifies if the framework is linked as a static library (false by default). */ var isStatic = false + object BitcodeEmbeddingMode { + val DISABLE = org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.DISABLE + val BITCODE = org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.BITCODE + val MARKER = org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.MARKER + } + companion object { - val frameworkTargets = Attribute.of( + val frameworkTargets: Attribute> = Attribute.of( "org.jetbrains.kotlin.native.framework.targets", Set::class.java ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 3dd402f4ad8..ef913351019 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -590,8 +590,8 @@ open class KotlinNativeLink : AbstractKotlinNativeCompile add("-Xembed-bitcode-marker") - BitcodeEmbeddingMode.BITCODE -> add("-Xembed-bitcode") + Framework.BitcodeEmbeddingMode.MARKER -> add("-Xembed-bitcode-marker") + Framework.BitcodeEmbeddingMode.BITCODE -> add("-Xembed-bitcode") else -> { /* Do nothing. */ } }