Skip to content

Commit 2f1dbdb

Browse files
authored
Use explicit kotlin-stdlib and kotlin-test versions from version catalog (#2818)
Using explicit versions helps work around the issue where the stdlib version was missing from the POM (https://youtrack.jetbrains.com/issue/KT-71443/Unexpected-POM-file-change-when-updating-from-Kotlin-2.0.0-to-Kotlin-2.0.20). Also, simplify dependencies' setup since `stdlib-common` does not have to be declared explicitly since 1.9.20 (https://kotlinlang.org/docs/whatsnew1920.html#easier-configuration-of-new-standard-library-versions-in-gradle) and kotlin-test-junit is selected automatically if no other runner is specified (https://kotlinlang.org/docs/gradle-configure-project.html#jvm-variants-of-kotlin-test). Fixes #2810
1 parent 595bcbd commit 2f1dbdb

File tree

2 files changed

+7
-39
lines changed

2 files changed

+7
-39
lines changed

buildSrc/src/main/kotlin/source-sets-conventions.gradle.kts

Lines changed: 4 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ tasks.withType<JavaCompile>().configureEach {
2222
options.release = 8
2323
}
2424

25+
internal fun Project.versionCatalog(): VersionCatalog = versionCatalogs.named("libs")
26+
2527
kotlin {
2628
explicitApi()
2729

@@ -73,38 +75,13 @@ kotlin {
7375
sourceSets {
7476
commonMain {
7577
dependencies {
76-
api("org.jetbrains.kotlin:kotlin-stdlib-common")
78+
api(versionCatalog().findLibrary("kotlin.stdlib").get())
7779
}
7880
}
7981

8082
commonTest {
8183
dependencies {
82-
api("org.jetbrains.kotlin:kotlin-test-common")
83-
api("org.jetbrains.kotlin:kotlin-test-annotations-common")
84-
}
85-
}
86-
87-
jvmMain {
88-
dependencies {
89-
api("org.jetbrains.kotlin:kotlin-stdlib")
90-
}
91-
}
92-
93-
jvmTest {
94-
dependencies {
95-
api("org.jetbrains.kotlin:kotlin-test-junit")
96-
}
97-
}
98-
99-
jsMain {
100-
dependencies {
101-
api("org.jetbrains.kotlin:kotlin-stdlib-js")
102-
}
103-
}
104-
105-
jsTest {
106-
dependencies {
107-
api("org.jetbrains.kotlin:kotlin-test-js")
84+
api(versionCatalog().findLibrary("kotlin.test").get())
10885
}
10986
}
11087

@@ -117,30 +94,18 @@ kotlin {
11794

11895
named("wasmJsMain") {
11996
dependsOn(named("wasmMain").get())
120-
dependencies {
121-
api("org.jetbrains.kotlin:kotlin-stdlib-wasm-js")
122-
}
12397
}
12498

12599
named("wasmJsTest") {
126100
dependsOn(named("wasmTest").get())
127-
dependencies {
128-
api("org.jetbrains.kotlin:kotlin-test-wasm-js")
129-
}
130101
}
131102

132103
named("wasmWasiMain") {
133104
dependsOn(named("wasmMain").get())
134-
dependencies {
135-
api("org.jetbrains.kotlin:kotlin-stdlib-wasm-wasi")
136-
}
137105
}
138106

139107
named("wasmWasiTest") {
140108
dependsOn(named("wasmTest").get())
141-
dependencies {
142-
api("org.jetbrains.kotlin:kotlin-test-wasm-wasi")
143-
}
144109
}
145110
}
146111

gradle/libs.versions.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ gradlePlugin-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", versi
3030
gradlePlugin-animalsniffer = { module = "ru.vyarus:gradle-animalsniffer-plugin", version.ref = "animalsniffer"}
3131
gradlePlugin-binaryCompatibilityValidator = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version.ref = "bcv"}
3232

33+
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
34+
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
35+
3336
dokka-pathsaver = { module = "org.jetbrains.kotlinx:dokka-pathsaver-plugin", version.ref = "knit"}
3437
knitTest = { module = "org.jetbrains.kotlinx:kotlinx-knit-test", version.ref = "knit"}
3538
jmhCore = { module = "org.openjdk.jmh:jmh-core", version.ref = "jmh-core"}

0 commit comments

Comments
 (0)