[Gradle] Test composite build import with enabled CInterop commonization
On non-mac machines. With projects that have enabled MacOS targets. In this scenario we don't want to ruin IDE UX for users that just want to use IDE and work with project parts that is not related to apple ^KT-63197
This commit is contained in:
committed by
Space Team
parent
9ad7b00613
commit
9fc7d3693e
+36
@@ -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_path>", 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)
|
||||
|
||||
Reference in New Issue
Block a user