[Gradle] Disable stdlib-jdk7/8 alignment from 1.9.20

Reason: kotlin-stdlib now publishes Gradle metadata with the required dependency constraints for these artifacts

KT-55297
This commit is contained in:
Ilya Gorbunov
2023-08-05 09:04:27 +02:00
committed by Space Team
parent 0882c645dd
commit aaa068596c
2 changed files with 26 additions and 19 deletions
@@ -15,6 +15,8 @@ import kotlin.io.path.appendText
@DisplayName("Stdlib 1.8+ version alignment") @DisplayName("Stdlib 1.8+ version alignment")
class StdlibAlignmentIT : KGPBaseTest() { class StdlibAlignmentIT : KGPBaseTest() {
val constrainedAlignmentVersion = "1.8.0"
@AndroidGradlePluginTests @AndroidGradlePluginTests
@DisplayName("stdlib-jdk7, stdlib-jdk8 versions aligned with stdlib:1.8+") @DisplayName("stdlib-jdk7, stdlib-jdk8 versions aligned with stdlib:1.8+")
@GradleAndroidTest @GradleAndroidTest
@@ -107,7 +109,7 @@ class StdlibAlignmentIT : KGPBaseTest() {
""" """
|\--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2 |\--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2
| \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2 | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30 -> ${buildOptions.kotlinVersion} | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30 -> ${constrainedAlignmentVersion}
""".trimMargin().normalizeLineEndings() """.trimMargin().normalizeLineEndings()
) )
} }
@@ -118,25 +120,30 @@ class StdlibAlignmentIT : KGPBaseTest() {
@DisplayName("alignment in Kotlin DSL") @DisplayName("alignment in Kotlin DSL")
@GradleTest @GradleTest
fun stdlibJdkAlignmentKotlinDsl(gradleVersion: GradleVersion) { fun stdlibJdkAlignmentKotlinDsl(gradleVersion: GradleVersion) {
project("sourceSetsKotlinDsl", gradleVersion) { for ((stdlibVersion, alignedVersion) in listOf(
buildGradleKts.appendText( defaultBuildOptions.kotlinVersion to constrainedAlignmentVersion,
""" "1.9.0" to "1.9.0"
| )) {
|dependencies { project("sourceSetsKotlinDsl", gradleVersion) {
| implementation(kotlin("stdlib")) buildGradleKts.appendText(
| implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2")
|}
""".trimMargin()
)
build("dependencies", "--configuration", "compileClasspath") {
assertOutputContains(
""" """
|\--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2 |
| \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2 |dependencies {
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30 -> ${buildOptions.kotlinVersion} | implementation(kotlin("stdlib", version = "$stdlibVersion"))
""".trimMargin().normalizeLineEndings() | implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2")
|}
""".trimMargin()
) )
build("dependencies", "--configuration", "compileClasspath") {
assertOutputContains(
"""
|\--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2
| \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30 -> ${alignedVersion}
""".trimMargin().normalizeLineEndings()
)
}
} }
} }
} }
@@ -81,7 +81,7 @@ internal fun ConfigurationContainer.configureStdlibVersionAlignment() = all { co
if (dependency.group == KOTLIN_MODULE_GROUP && if (dependency.group == KOTLIN_MODULE_GROUP &&
(dependency.name == KOTLIN_STDLIB_MODULE_NAME || dependency.name == KOTLIN_STDLIB_JDK7_MODULE_NAME) && (dependency.name == KOTLIN_STDLIB_MODULE_NAME || dependency.name == KOTLIN_STDLIB_JDK7_MODULE_NAME) &&
dependency.version != null && dependency.version != null &&
SemVer.fromGradleRichVersion(dependency.version!!) >= kotlin180Version SemVer.fromGradleRichVersion(dependency.version!!).let { it >= kotlin180Version && it < kotlin1920Version }
) { ) {
if (configuration.isCanBeResolved) configuration.alignStdlibJvmVariantVersions(dependency) if (configuration.isCanBeResolved) configuration.alignStdlibJvmVariantVersions(dependency)