From 20ed72152b0a74e4d9fed5f9e38fd220a4d7b884 Mon Sep 17 00:00:00 2001 From: "konstantin.tskhovrebov" Date: Wed, 3 Aug 2022 17:42:17 +0200 Subject: [PATCH] [KT-53131] XCFramework: add missing watchosX86 target. --- .../kotlin/gradle/native/XCFrameworkIT.kt | 11 +++++-- .../appleXCFramework/shared/build.gradle.kts | 32 ++++++++++++------- .../plugin/mpp/apple/XCFrameworkTask.kt | 2 +- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt index 75d161f1892..ed8af5d5d39 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt @@ -35,15 +35,22 @@ class XCFrameworkIT : BaseGradleIT() { with(Project("appleXCFramework")) { build("assembleSharedDebugXCFramework") { assertSuccessful() - assertTasksExecuted(":shared:linkDebugFrameworkIosArm64") assertTasksExecuted(":shared:linkDebugFrameworkIosX64") + assertTasksExecuted(":shared:linkDebugFrameworkIosArm64") + assertTasksExecuted(":shared:linkDebugFrameworkIosArm32") + assertTasksExecuted(":shared:linkDebugFrameworkIosSimulatorArm64") + assertTasksExecuted(":shared:assembleDebugIosFatFrameworkForSharedXCFramework") + assertTasksExecuted(":shared:assembleDebugIosSimulatorFatFrameworkForSharedXCFramework") assertTasksExecuted(":shared:linkDebugFrameworkWatchosArm32") assertTasksExecuted(":shared:linkDebugFrameworkWatchosArm64") + assertTasksExecuted(":shared:linkDebugFrameworkWatchosSimulatorArm64") + assertTasksExecuted(":shared:linkDebugFrameworkWatchosX86") assertTasksExecuted(":shared:linkDebugFrameworkWatchosX64") assertTasksExecuted(":shared:assembleDebugWatchosFatFrameworkForSharedXCFramework") + assertTasksExecuted(":shared:assembleDebugWatchosSimulatorFatFrameworkForSharedXCFramework") assertTasksExecuted(":shared:assembleSharedDebugXCFramework") assertFileExists("/shared/build/XCFrameworks/debug/shared.xcframework") - assertFileExists("/shared/build/XCFrameworks/debug/shared.xcframework/ios-arm64/dSYMs/shared.framework.dSYM") + assertFileExists("/shared/build/XCFrameworks/debug/shared.xcframework/ios-arm64_x86_64-simulator/dSYMs/shared.framework.dSYM") assertFileExists("/shared/build/sharedXCFrameworkTemp/fatframework/debug/watchos/shared.framework") assertFileExists("/shared/build/sharedXCFrameworkTemp/fatframework/debug/watchos/shared.framework.dSYM") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/appleXCFramework/shared/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/appleXCFramework/shared/build.gradle.kts index 6ea6e64af33..2f62032c389 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/appleXCFramework/shared/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/appleXCFramework/shared/build.gradle.kts @@ -13,22 +13,30 @@ kotlin { val xcf = XCFramework() val otherXCFramework = XCFramework("other") - ios { - binaries { - framework { - baseName = "shared" - xcf.add(this) + val iosX64 = iosX64() + val iosArm64 = iosArm64() + val iosArm32 = iosArm32() + val iosSimulatorArm64 = iosSimulatorArm64() + + listOf(iosX64, iosArm64, iosArm32, iosSimulatorArm64).forEach { target -> + target.binaries.framework { + baseName = "shared" + xcf.add(this) + if (target == iosX64 || target == iosArm64) { otherXCFramework.add(this) } } } - - watchos { - binaries { - framework { - baseName = "shared" - xcf.add(this) - } + listOf( + watchosArm32(), + watchosArm64(), + watchosSimulatorArm64(), + watchosX86(), + watchosX64() + ).forEach { target -> + target.binaries.framework { + baseName = "shared" + xcf.add(this) } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt index e78ab4ccae6..5ce1ca28cf7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt @@ -27,7 +27,7 @@ internal enum class AppleTarget( IPHONE_DEVICE("ios", listOf(KonanTarget.IOS_ARM32, KonanTarget.IOS_ARM64)), IPHONE_SIMULATOR("iosSimulator", listOf(KonanTarget.IOS_X64, KonanTarget.IOS_SIMULATOR_ARM64)), WATCHOS_DEVICE("watchos", listOf(KonanTarget.WATCHOS_ARM32, KonanTarget.WATCHOS_ARM64)), - WATCHOS_SIMULATOR("watchosSimulator", listOf(KonanTarget.WATCHOS_X64, KonanTarget.WATCHOS_SIMULATOR_ARM64)), + WATCHOS_SIMULATOR("watchosSimulator", listOf(KonanTarget.WATCHOS_X86, KonanTarget.WATCHOS_X64, KonanTarget.WATCHOS_SIMULATOR_ARM64)), TVOS_DEVICE("tvos", listOf(KonanTarget.TVOS_ARM64)), TVOS_SIMULATOR("tvosSimulator", listOf(KonanTarget.TVOS_X64, KonanTarget.TVOS_SIMULATOR_ARM64)) }