diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkIT.kt index f8e2cafadc6..6b1af66644c 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkIT.kt @@ -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") + } + } + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt index c2ff0ed43aa..8dc23b603ed 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt @@ -172,6 +172,7 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework val embedAndSignTask = locateOrRegisterTask(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)