From 21565c612821b55d4e94617960d560e2cf09f384 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 28 Jul 2023 16:11:21 +0200 Subject: [PATCH] [stdlib-mpp] Add dependency constraints to JVM variant, KT-55297 --- gradle/verification-metadata.xml | 12 ++++++++++++ libraries/stdlib/build.gradle.kts | 12 ++++++++++++ .../kotlin/gradle/StdlibAlignmentIT.kt | 2 ++ .../kotlin/kotlin-stdlib/kotlin-stdlib.pom | 19 +++++++++++++++++++ 4 files changed, 45 insertions(+) diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index e5768490a5d..f12745e7188 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -4197,6 +4197,12 @@ + + + + + + @@ -4233,6 +4239,12 @@ + + + + + + diff --git a/libraries/stdlib/build.gradle.kts b/libraries/stdlib/build.gradle.kts index 04a486a444e..ae4222eca4b 100644 --- a/libraries/stdlib/build.gradle.kts +++ b/libraries/stdlib/build.gradle.kts @@ -445,6 +445,18 @@ kotlin { } } +dependencies { + val jvmMainImplementation by configurations.getting + constraints { + // there is no dependency anymore from kotlin-stdlib to kotlin-stdlib-common, + // but use this constraint to align it if another library brings it transitively + jvmMainImplementation(project(":kotlin-stdlib-common")) + // to avoid split package and duplicate classes on classpath after moving them from these artifacts in 1.8.0 + jvmMainImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") + jvmMainImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") + } +} + tasks { val metadataJar by existing(Jar::class) { archiveAppendix.set("metadata") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/StdlibAlignmentIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/StdlibAlignmentIT.kt index 87a336c3c91..adbd56b505b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/StdlibAlignmentIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/StdlibAlignmentIT.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle import org.gradle.api.JavaVersion import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.testbase.* +import org.jetbrains.kotlin.gradle.util.replaceText import org.junit.jupiter.api.DisplayName import kotlin.io.path.appendText @@ -71,6 +72,7 @@ class StdlibAlignmentIT : KGPBaseTest() { |} """.trimMargin() ) + buildGradle.replaceText("kotlin-stdlib:\$kotlin_version", "kotlin-stdlib:1.9.0") gradleProperties.appendText( """ diff --git a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-stdlib/kotlin-stdlib.pom b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-stdlib/kotlin-stdlib.pom index 89900137d11..4bfb3cf1458 100644 --- a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-stdlib/kotlin-stdlib.pom +++ b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-stdlib/kotlin-stdlib.pom @@ -31,6 +31,25 @@ scm:git:https://github.com/JetBrains/kotlin.git https://github.com/JetBrains/kotlin + + + + org.jetbrains.kotlin + kotlin-stdlib-common + ArtifactsTest.version + + + org.jetbrains.kotlin + kotlin-stdlib-jdk7 + 1.8.0 + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + 1.8.0 + + + org.jetbrains