diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt index ad906d04779..122de3349cb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceDependency.Type.Regu import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.* import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.util.* +import org.jetbrains.kotlin.konan.target.HostManager import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.condition.OS import kotlin.test.assertEquals @@ -242,6 +243,41 @@ class MppCompositeBuildIT : KGPBaseTest() { } } + @GradleTest + fun `test - sample2-withHostSpecificTargets - import cinterop dependencies`(gradleVersion: GradleVersion) { + val producer = project("mpp-composite-build/sample2-withHostSpecificTargets/producerBuild", gradleVersion) { + if (HostManager.hostIsMac) { + subProject("producerA").buildGradleKts.append( + """ + tasks.configureEach { + if (name == "iosArm64MetadataJar" || name == "iosX64MetadataJar") { + enabled = false + } + } + """.trimIndent() + ) + } + } + + project("mpp-composite-build/sample2-withHostSpecificTargets/consumerBuild", gradleVersion) { + settingsGradleKts.toFile().replaceText("", producer.projectPath.toUri().path) + gradleProperties.append("kotlin.mpp.enableCInteropCommonization=true") + + build("cleanNativeDistributionCommonization") + build(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde") { + if (HostManager.hostIsMac) { + assertTasksSkipped(":producerBuild:producerA:iosArm64MetadataJar") + assertTasksSkipped(":producerBuild:producerA:iosX64MetadataJar") + } else { + assertTasksNotExecuted(":producerBuild:producerA:iosArm64MetadataJar") + assertTasksNotExecuted(":producerBuild:producerA:iosX64MetadataJar") + } + assertTasksExecuted(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde") + + } + } + } + @GradleTest fun `test - sample3-KT-56198-singleTargetMpp-includingJvm - ide dependencies`(gradleVersion: GradleVersion) { val producer = project("mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild", gradleVersion)