Skip to content

Commit f960715

Browse files
authored
Migrate to Gradle's Version Catalogs (#509)
* Migrate to Gradle's Version Catalogs https://docs.gradle.org/current/userguide/version_catalogs.html
1 parent 2c9eda5 commit f960715

File tree

2 files changed

+59
-36
lines changed

2 files changed

+59
-36
lines changed

build.gradle.kts

+22-36
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import java.text.SimpleDateFormat
44
import java.util.*
55

66
plugins {
7-
kotlin("jvm") version "2.1.0"
7+
alias(libs.plugins.kotlinJvm)
88
id("maven-publish")
99
id("signing")
1010
id("com.github.ben-manes.versions") version "0.51.0"
@@ -19,67 +19,53 @@ repositories {
1919

2020
dependencies {
2121
constraints {
22-
implementation("org.slf4j:slf4j-api") {
22+
implementation(libs.slf4j) {
2323
version {
24-
strictly("[1.7,3)")
25-
prefer("2.0.16")
24+
strictly(libs.versions.slf4jVersionrange.get())
25+
prefer(libs.versions.slf4j.get())
2626
}
2727
}
28-
listOf(
29-
"org.jetbrains.kotlin:kotlin-reflect",
30-
"org.jetbrains.kotlin:kotlin-scripting-jvm",
31-
"org.jetbrains.kotlin:kotlin-stdlib",
32-
"org.jetbrains.kotlin:kotlin-stdlib-jdk7",
33-
"org.jetbrains.kotlin:kotlin-stdlib-jdk8",
34-
"org.jetbrains.kotlin:kotlin-stdlib-common",
35-
"org.jetbrains.kotlin:kotlin-test"
36-
).forEach {
28+
listOf(libs.bundles.kotlin).forEach {
3729
implementation(it) {
3830
version {
39-
strictly("[1.6,3)")
40-
prefer("2.1.0")
31+
strictly(libs.versions.kotlinVersionrange.get())
32+
prefer(libs.versions.kotlin.get())
4133
}
4234
}
4335
}
44-
listOf(
45-
"com.squareup.moshi:moshi",
46-
"com.squareup.moshi:moshi-kotlin"
47-
).forEach {
36+
listOf(libs.bundles.moshi).forEach {
4837
implementation(it) {
4938
version {
50-
strictly("[1.12.0,2)")
51-
prefer("1.15.2")
39+
strictly(libs.versions.moshiVersionrange.get())
40+
prefer(libs.versions.moshi.get())
5241
}
5342
}
5443
}
55-
listOf(
56-
"com.squareup.okio:okio",
57-
"com.squareup.okio:okio-jvm"
58-
).forEach {
44+
listOf(libs.bundles.okio).forEach {
5945
implementation(it) {
6046
version {
61-
strictly("[3,4)")
62-
prefer("3.9.1")
47+
strictly(libs.versions.okioVersionrange.get())
48+
prefer(libs.versions.okio.get())
6349
}
6450
}
6551
}
6652
}
67-
implementation("org.jetbrains.kotlin:kotlin-stdlib:2.1.0")
68-
implementation("org.jetbrains.kotlin:kotlin-reflect:2.1.0")
53+
implementation(libs.kotlinStdlib)
54+
implementation(libs.kotlinReflect)
6955

7056
implementation("io.github.microutils:kotlin-logging:3.0.5")
71-
implementation("org.slf4j:slf4j-api:2.0.16")
72-
testRuntimeOnly("ch.qos.logback:logback-classic:1.3.14")
57+
implementation(libs.slf4j)
58+
testRuntimeOnly("ch.qos.logback:logback-classic:${libs.versions.logback.get()}")
7359

7460
implementation("org.yaml:snakeyaml:2.3")
75-
implementation("com.squareup.moshi:moshi:1.15.2")
76-
implementation("com.squareup.moshi:moshi-kotlin:1.15.2")
61+
implementation(libs.moshi)
62+
implementation(libs.moshiKotlin)
7763
testImplementation("com.beust:klaxon:5.5")
7864

7965
implementation("com.google.re2j:re2j:1.8")
8066
// implementation("com.github.fge:json-schema-validator:2.2.6")
8167

82-
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5:2.1.0")
68+
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5:${libs.versions.kotlin.get()}")
8369
testImplementation("io.kotest:kotest-runner-junit5:5.9.1")
8470
testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.11.4")
8571
}
@@ -92,8 +78,8 @@ val dependencyVersions = listOf(
9278
)
9379

9480
val dependencyGroupVersions = mapOf(
95-
"org.junit.jupiter" to "5.11.0",
96-
"org.junit.platform" to "1.11.0",
81+
"org.junit.jupiter" to libs.versions.junitJupiter.get(),
82+
"org.junit.platform" to libs.versions.junitPlatform.get(),
9783
)
9884

9985
configurations.all {

gradle/libs.versions.toml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
[versions]
2+
junitJupiter = "5.11.0"
3+
junitPlatform = "1.11.0"
4+
kotlin = "2.1.0"
5+
kotlinVersionrange = "[1.6,3)"
6+
logback = "1.3.15"
7+
logbackVersionrange = "[1.2,2)"
8+
moshi = "1.15.2"
9+
moshiVersionrange = "[1.12.0,2)"
10+
okio = "3.10.2"
11+
okioVersionrange = "[3,4)"
12+
slf4j = "2.0.16"
13+
slf4jVersionrange = "[1.7,3)"
14+
15+
[libraries]
16+
kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
17+
kotlinCommon = { module = "org.jetbrains.kotlin:kotlin-stdlib-common", version.ref = "kotlin" }
18+
kotlinJdk7 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk7", version.ref = "kotlin" }
19+
kotlinJdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
20+
kotlinReflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
21+
kotlinScriptingJvm = { module = "org.jetbrains.kotlin:kotlin-scripting-jvm", version.ref = "kotlin" }
22+
kotlinStdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
23+
kotlinTest = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
24+
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
25+
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
26+
moshiKotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" }
27+
okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
28+
okioJvm = { module = "com.squareup.okio:okio-jvm", version.ref = "okio" }
29+
slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
30+
31+
[bundles]
32+
kotlin = ["kotlin", "kotlinCommon", "kotlinJdk7", "kotlinJdk8", "kotlinReflect", "kotlinScriptingJvm", "kotlinStdlib", "kotlinTest"]
33+
moshi = ["moshi", "moshiKotlin"]
34+
okio = ["okio", "okioJvm"]
35+
36+
[plugins]
37+
kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }

0 commit comments

Comments
 (0)