Implement HierarchicalMppIT.testNativeLeafTestSourceSetsKt46417 to cover ^KT-46417
This commit is contained in:
committed by
teamcityserver
parent
c62a965180
commit
e8bd8a938f
+23
-9
@@ -19,6 +19,7 @@ import java.io.File
|
|||||||
import java.util.zip.ZipFile
|
import java.util.zip.ZipFile
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertNotNull
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class HierarchicalMppIT : BaseGradleIT() {
|
class HierarchicalMppIT : BaseGradleIT() {
|
||||||
@@ -505,12 +506,13 @@ class HierarchicalMppIT : BaseGradleIT() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testCompileOnlyDependencyProcessingForMetadataCompilations() = with(transformNativeTestProjectWithPluginDsl("hierarchical-mpp-project-dependency")) {
|
fun testCompileOnlyDependencyProcessingForMetadataCompilations() =
|
||||||
publishThirdPartyLib(withGranularMetadata = true)
|
with(transformNativeTestProjectWithPluginDsl("hierarchical-mpp-project-dependency")) {
|
||||||
|
publishThirdPartyLib(withGranularMetadata = true)
|
||||||
|
|
||||||
gradleBuildScript("my-lib-foo").appendText("\ndependencies { \"jvmAndJsMainCompileOnly\"(kotlin(\"test-annotations-common\")) }")
|
gradleBuildScript("my-lib-foo").appendText("\ndependencies { \"jvmAndJsMainCompileOnly\"(kotlin(\"test-annotations-common\")) }")
|
||||||
projectDir.resolve("my-lib-foo/src/jvmAndJsMain/kotlin/UseCompileOnlyDependency.kt").writeText(
|
projectDir.resolve("my-lib-foo/src/jvmAndJsMain/kotlin/UseCompileOnlyDependency.kt").writeText(
|
||||||
"""
|
"""
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
class UseCompileOnlyDependency {
|
class UseCompileOnlyDependency {
|
||||||
@@ -518,12 +520,12 @@ class HierarchicalMppIT : BaseGradleIT() {
|
|||||||
fun myTest() = Unit
|
fun myTest() = Unit
|
||||||
}
|
}
|
||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
)
|
)
|
||||||
|
|
||||||
build(":my-lib-foo:compileJvmAndJsMainKotlinMetadata") {
|
build(":my-lib-foo:compileJvmAndJsMainKotlinMetadata") {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testHmppDependenciesInJsTests() {
|
fun testHmppDependenciesInJsTests() {
|
||||||
@@ -619,6 +621,18 @@ class HierarchicalMppIT : BaseGradleIT() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testNativeLeafTestSourceSetsKt46417() {
|
||||||
|
with(Project("kt-46417-ios-test-source-sets")) {
|
||||||
|
testDependencyTransformations("p2") { reports ->
|
||||||
|
val report = reports.singleOrNull { it.sourceSetName == "iosArm64Test" && it.scope == "implementation" }
|
||||||
|
assertNotNull(report, "No single report for 'iosArm64' and implementation scope")
|
||||||
|
assertEquals(setOf("commonMain", "iosMain"), report.allVisibleSourceSets)
|
||||||
|
assertTrue(report.groupAndModule.endsWith(":p1"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun Project.testDependencyTransformations(
|
private fun Project.testDependencyTransformations(
|
||||||
subproject: String? = null,
|
subproject: String? = null,
|
||||||
check: CompiledProject.(reports: Iterable<DependencyTransformationReport>) -> Unit
|
check: CompiledProject.(reports: Iterable<DependencyTransformationReport>) -> Unit
|
||||||
|
|||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
allprojects {
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
google()
|
||||||
|
mavenLocal()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
kotlin("multiplatform") apply false
|
||||||
|
}
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
kotlin.mpp.enableGranularSourceSetsMetadata=true
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
plugins {
|
||||||
|
kotlin("multiplatform")
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
jvm()
|
||||||
|
ios()
|
||||||
|
}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
plugins {
|
||||||
|
kotlin("multiplatform")
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
jvm()
|
||||||
|
ios()
|
||||||
|
|
||||||
|
val commonMain by sourceSets.getting
|
||||||
|
commonMain.dependencies {
|
||||||
|
implementation(project(":p1"))
|
||||||
|
}
|
||||||
|
}
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
gradlePluginPortal()
|
||||||
|
}
|
||||||
|
val kotlin_version: String by settings
|
||||||
|
plugins {
|
||||||
|
kotlin("multiplatform").version(kotlin_version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
include(":p1")
|
||||||
|
include(":p2")
|
||||||
|
|
||||||
Reference in New Issue
Block a user