[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.GradleVersionRequired
|
||||
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.test.util.KtTestUtil
|
||||
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 ->
|
||||
task.group = BasePlugin.BUILD_GROUP
|
||||
task.description = "Embed and sign ${framework.namePrefix} framework as requested by Xcode's environment variables"
|
||||
task.isEnabled = !framework.isStatic
|
||||
task.inputs.apply {
|
||||
property("type", envBuildType)
|
||||
property("targets", envTargets)
|
||||
|
||||
Reference in New Issue
Block a user