diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 9b4820d1941..c2dcd30077f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -1201,7 +1201,8 @@ class NewMultiplatformIT : BaseGradleIT() { ) } - gradleBuildScript().appendText("\n" + """ + gradleBuildScript().appendText( + "\n" + """ publishing { publications { jvm6 { @@ -1211,7 +1212,23 @@ class NewMultiplatformIT : BaseGradleIT() { } } } - """.trimIndent()) + """.trimIndent() + ) + + if (withMetadata) { + gradleBuildScript().appendText( + "\n" + """ + publishing { + publications { + kotlinMultiplatform { + // KT-29485 + artifactId = 'sample-lib-multiplatform' + } + } + } + """.trimIndent() + ) + } build("clean", "publish") { assertSuccessful() @@ -1240,7 +1257,7 @@ class NewMultiplatformIT : BaseGradleIT() { // Check that, despite the rewritten POM, the module metadata contains the original dependency: val moduleMetadata = projectDir.resolve("repo/com/exampleapp/sample-app-jvm8/1.0/sample-app-jvm8-1.0.module").readText() .replace("\\s+".toRegex(), "").replace("\n", "") - assertTrue { "\"group\":\"com.example\",\"module\":\"sample-lib\"" in moduleMetadata } + assertTrue { "\"group\":\"com.example\",\"module\":\"sample-lib-multiplatform\"" in moduleMetadata } assertTrue { "\"group\":\"com.external.dependency\",\"module\":\"external\"" in moduleMetadata } } assertFileExists("repo/foo/bar/42/bar-42.jar") diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt index 7515b85a2de..b9d05ce8502 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt @@ -171,6 +171,7 @@ class KotlinMultiplatformPlugin( val rootPublication = publishing.publications.create("kotlinMultiplatform", MavenPublication::class.java).apply { from(kotlinSoftwareComponent) (this as MavenPublicationInternal).publishWithOriginalFileName() + kotlinSoftwareComponent.publicationDelegate = this@apply } // Publish the root publication only if Gradle metadata publishing is enabled: