[KT-53339] KMM: skip embedding for static frameworks.
This commit is contained in:
committed by
Space
parent
ad1b10cdb0
commit
8a7b399dbe
+31
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.native
|
|||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
||||||
import org.jetbrains.kotlin.gradle.GradleVersionRequired
|
import org.jetbrains.kotlin.gradle.GradleVersionRequired
|
||||||
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
||||||
|
import org.jetbrains.kotlin.gradle.util.modify
|
||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
import org.jetbrains.kotlin.test.util.KtTestUtil
|
import org.jetbrains.kotlin.test.util.KtTestUtil
|
||||||
import org.junit.Assume
|
import org.junit.Assume
|
||||||
@@ -180,4 +181,34 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `check that static framework for Arm64 is built but is not embedded`() {
|
||||||
|
with(Project("sharedAppleFramework")) {
|
||||||
|
val options: BuildOptions = defaultBuildOptions().copy(
|
||||||
|
customEnvironmentVariables = mapOf(
|
||||||
|
"CONFIGURATION" to "debug",
|
||||||
|
"SDK_NAME" to "iphoneos123",
|
||||||
|
"ARCHS" to "arm64",
|
||||||
|
"TARGET_BUILD_DIR" to "no use",
|
||||||
|
"FRAMEWORKS_FOLDER_PATH" to "no use"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
setupWorkingDir()
|
||||||
|
projectDir.resolve("shared/build.gradle.kts").modify {
|
||||||
|
it.replace(
|
||||||
|
"baseName = \"sdk\"",
|
||||||
|
"baseName = \"sdk\"\nisStatic = true"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
build("embedAndSignAppleFrameworkForXcode", options = options) {
|
||||||
|
assertSuccessful()
|
||||||
|
assertTasksExecuted(":shared:assembleDebugAppleFrameworkForXcodeIosArm64")
|
||||||
|
assertTasksNotExecuted(":shared:embedAndSignAppleFrameworkForXcode")
|
||||||
|
assertFileExists("/shared/build/xcode-frameworks/debug/iphoneos123/sdk.framework")
|
||||||
|
assertNoSuchFile("/shared/build/xcode-frameworks/debug/iphoneos123/sdk.framework.dSYM")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+1
@@ -172,6 +172,7 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
|
|||||||
val embedAndSignTask = locateOrRegisterTask<FrameworkCopy>(frameworkTaskName) { task ->
|
val embedAndSignTask = locateOrRegisterTask<FrameworkCopy>(frameworkTaskName) { task ->
|
||||||
task.group = BasePlugin.BUILD_GROUP
|
task.group = BasePlugin.BUILD_GROUP
|
||||||
task.description = "Embed and sign ${framework.namePrefix} framework as requested by Xcode's environment variables"
|
task.description = "Embed and sign ${framework.namePrefix} framework as requested by Xcode's environment variables"
|
||||||
|
task.isEnabled = !framework.isStatic
|
||||||
task.inputs.apply {
|
task.inputs.apply {
|
||||||
property("type", envBuildType)
|
property("type", envBuildType)
|
||||||
property("targets", envTargets)
|
property("targets", envTargets)
|
||||||
|
|||||||
Reference in New Issue
Block a user