diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt index 45dd0697bd5..f73879d5733 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt @@ -280,10 +280,9 @@ open class HierarchicalMppIT : KGPBaseTest() { "my-lib-bar-metadata-1.0-all.jar", "third-party-lib-metadata-1.0.jar", "kotlin-stdlib-${buildOptions.kotlinVersion}-all.jar", - "kotlin-test-js-${buildOptions.kotlinVersion}.jar", "kotlin-dom-api-compat-${buildOptions.kotlinVersion}.klib" - ), - transformedArtifacts() + ).toSortedSet(), + transformedArtifacts().toSortedSet() ) } } @@ -390,7 +389,7 @@ open class HierarchicalMppIT : KGPBaseTest() { withGranularMetadata: Boolean, gradleVersion: GradleVersion, localRepoDir: Path, - beforePublishing: TestProject.() -> Unit = { } + beforePublishing: TestProject.() -> Unit = { }, ): TestProject = nativeProject( projectName = projectName, @@ -435,10 +434,15 @@ open class HierarchicalMppIT : KGPBaseTest() { sourceSetModuleDependencies = mapOf( "jvmAndJsMain" to setOf("com.example.thirdparty" to "third-party-lib"), "linuxAndJsMain" to emptySet(), - "commonMain" to emptySet() + "commonMain" to setOf("org.jetbrains.kotlin" to "kotlin-stdlib") ) ) + assertEquals( + expectedProjectStructureMetadata.sourceSetModuleDependencies.toSortedMap(), + parsedProjectStructureMetadata.sourceSetModuleDependencies.toSortedMap() + ) + assertEquals(expectedProjectStructureMetadata, parsedProjectStructureMetadata) } @@ -483,12 +487,20 @@ open class HierarchicalMppIT : KGPBaseTest() { val expectedProjectStructureMetadata = expectedProjectStructureMetadata( sourceSetModuleDependencies = mapOf( - "jvmAndJsMain" to setOf(), + "jvmAndJsMain" to emptySet(), "linuxAndJsMain" to emptySet(), - "commonMain" to setOf("com.example.foo" to "my-lib-foo") + "commonMain" to setOf( + "org.jetbrains.kotlin" to "kotlin-stdlib", + "com.example.foo" to "my-lib-foo" + ) ) ) + assertEquals( + expectedProjectStructureMetadata.sourceSetModuleDependencies.toSortedMap(), + parsedProjectStructureMetadata.sourceSetModuleDependencies.toSortedMap() + ) + assertEquals(expectedProjectStructureMetadata, parsedProjectStructureMetadata) } @@ -597,7 +609,7 @@ open class HierarchicalMppIT : KGPBaseTest() { private fun BuildResult.checkNamesOnCompileClasspath( taskPath: String, shouldInclude: Iterable> = emptyList(), - shouldNotInclude: Iterable> = emptyList() + shouldNotInclude: Iterable> = emptyList(), ) { val compilerArgsLine = output.lines().single { "$taskPath Kotlin compiler args:" in it } val classpathItems = compilerArgsLine.substringAfter("-classpath").substringBefore(" -").split(File.pathSeparator) @@ -634,7 +646,7 @@ open class HierarchicalMppIT : KGPBaseTest() { // the projects used in these tests are similar and only the dependencies differ: private fun expectedProjectStructureMetadata( - sourceSetModuleDependencies: Map>> + sourceSetModuleDependencies: Map>>, ): KotlinProjectStructureMetadata { val jvmSourceSets = setOf("commonMain", "jvmAndJsMain") @@ -878,7 +890,8 @@ open class HierarchicalMppIT : KGPBaseTest() { gradleVersion = gradleVersion, localRepoDir = tempDir ) { - buildGradleKts.appendText(""" + buildGradleKts.appendText( + """ testResolutionToSourcesVariant( "common", KotlinPlatformType.common, @@ -900,7 +913,8 @@ open class HierarchicalMppIT : KGPBaseTest() { KotlinPlatformType.native, nativePlatform = "linux_x64" ) - """.trimIndent()) + """.trimIndent() + ) val expectedReports = mapOf( "common" to SourcesVariantResolutionReport( @@ -909,18 +923,24 @@ open class HierarchicalMppIT : KGPBaseTest() { ), "jvm" to SourcesVariantResolutionReport( files = listOf("lib-jvm-1.0-sources.jar"), - dependencyToVariant = mapOf("test:lib:1.0" to "jvmSourcesElements-published", - "test:lib-jvm:1.0" to "jvmSourcesElements-published") + dependencyToVariant = mapOf( + "test:lib:1.0" to "jvmSourcesElements-published", + "test:lib-jvm:1.0" to "jvmSourcesElements-published" + ) ), "jvm2" to SourcesVariantResolutionReport( files = listOf("lib-jvm2-1.0-sources.jar"), - dependencyToVariant = mapOf("test:lib:1.0" to "jvm2SourcesElements-published", - "test:lib-jvm2:1.0" to "jvm2SourcesElements-published") + dependencyToVariant = mapOf( + "test:lib:1.0" to "jvm2SourcesElements-published", + "test:lib-jvm2:1.0" to "jvm2SourcesElements-published" + ) ), "linuxX64" to SourcesVariantResolutionReport( files = listOf("lib-linuxx64-1.0-sources.jar"), - dependencyToVariant = mapOf("test:lib:1.0" to "linuxX64SourcesElements-published", - "test:lib-linuxx64:1.0" to "linuxX64SourcesElements-published") + dependencyToVariant = mapOf( + "test:lib:1.0" to "linuxX64SourcesElements-published", + "test:lib-linuxx64:1.0" to "linuxX64SourcesElements-published" + ) ), ) @@ -1028,7 +1048,11 @@ open class HierarchicalMppIT : KGPBaseTest() { fun testNativeLeafTestSourceSetsKt46417(gradleVersion: GradleVersion) { with(project("kt-46417-ios-test-source-sets", gradleVersion = gradleVersion)) { testDependencyTransformations("p2") { reports -> - val report = reports.singleOrNull { it.sourceSetName == "iosArm64Test" && it.scope == "implementation" } + val report = reports.singleOrNull { + it.sourceSetName == "iosArm64Test" && + it.scope == "implementation" && + it.groupAndModule.endsWith(":p1") + } assertNotNull(report, "No single report for 'iosArm64' and implementation scope") assertEquals(setOf("commonMain", "iosMain"), report.allVisibleSourceSets) assertTrue(report.groupAndModule.endsWith(":p1")) @@ -1217,7 +1241,7 @@ open class HierarchicalMppIT : KGPBaseTest() { private fun TestProject.testDependencyTransformations( subproject: String? = null, - check: BuildResult.(reports: Iterable) -> Unit + check: BuildResult.(reports: Iterable) -> Unit, ) { val buildGradleKts = (subproject?.let { subProject(subproject).buildGradleKts } ?: buildGradleKts).toFile() assert(buildGradleKts.exists()) { "Kotlin scripts are not found." } @@ -1277,7 +1301,7 @@ open class HierarchicalMppIT : KGPBaseTest() { val groupAndModule: String, val allVisibleSourceSets: Set, val newVisibleSourceSets: Set, // those which the dependsOn parents don't see - val useFiles: List + val useFiles: List, ) { val isExcluded: Boolean get() = allVisibleSourceSets.isEmpty() @@ -1304,7 +1328,7 @@ open class HierarchicalMppIT : KGPBaseTest() { private data class SourcesVariantResolutionReport( val files: List, - val dependencyToVariant: Map + val dependencyToVariant: Map, ) { companion object { fun parse(output: String, targetNames: Iterable): Map { @@ -1319,7 +1343,7 @@ open class HierarchicalMppIT : KGPBaseTest() { private fun List.betweenMarkers( start: String, - end: String + end: String, ): List { val startPos = indexOf(start) val endPos = indexOf(end) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts index 28d56b51cd1..a6d64867238 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts @@ -20,7 +20,6 @@ kotlin { val commonMain by getting { dependencies { api(project(":my-lib-bar")) - implementation(kotlin("stdlib-common")) } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts index b937cd26b0a..7699f681d86 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts @@ -21,7 +21,6 @@ kotlin { val commonMain by getting { dependencies { api(project(":my-lib-foo")) - implementation(kotlin("stdlib-common")) } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts index d05ae438dbd..e8953c55a75 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts @@ -19,11 +19,7 @@ kotlin { linuxX64() sourceSets { - val commonMain by getting { - dependencies { - implementation(kotlin("stdlib-common")) - } - } + val commonMain by getting val commonTest by getting { dependencies { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts index 1dbee8d8c6f..b9c5da055c7 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts @@ -16,11 +16,7 @@ kotlin { js() sourceSets { - val commonMain by getting { - dependencies { - implementation(kotlin("stdlib-common")) - } - } + val commonMain by getting val commonTest by getting { dependencies { implementation(kotlin("test-common")) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts index dddf4b0fd6f..5d0bc145f99 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts @@ -21,7 +21,6 @@ kotlin { val commonMain by getting { dependencies { api("com.example.bar:my-lib-bar:1.0") - implementation(kotlin("stdlib-common")) } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts index 4fb376f3b7c..21d57d9b809 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts @@ -22,7 +22,6 @@ kotlin { val commonMain by getting { dependencies { api("com.example.foo:my-lib-foo:1.0") - implementation(kotlin("stdlib-common")) } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts index 5bdbc563bde..88c3cecfadc 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts @@ -20,11 +20,7 @@ kotlin { linuxX64() sourceSets { - val commonMain by getting { - dependencies { - implementation(kotlin("stdlib-common")) - } - } + val commonMain by getting val commonTest by getting { dependencies {