From 0a642d204a0b6a708401bc821a63a734cc132ee1 Mon Sep 17 00:00:00 2001 From: Tobias Gesellchen Date: Sat, 18 Jan 2025 12:39:28 +0100 Subject: [PATCH 1/2] Migrate to Gradle's Version Catalogs https://docs.gradle.org/current/userguide/version_catalogs.html --- build.gradle.kts | 54 +++++++++++++++------------------------ gradle/libs.versions.toml | 34 ++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 34 deletions(-) create mode 100644 gradle/libs.versions.toml diff --git a/build.gradle.kts b/build.gradle.kts index dbb1087..87cee5d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,61 +19,47 @@ repositories { dependencies { constraints { - implementation("org.slf4j:slf4j-api") { + implementation(libs.slf4j) { version { - strictly("[1.7,3)") - prefer("2.0.16") + strictly(libs.versions.slf4jVersionrange.get()) + prefer(libs.versions.slf4j.get()) } } - listOf( - "org.jetbrains.kotlin:kotlin-reflect", - "org.jetbrains.kotlin:kotlin-scripting-jvm", - "org.jetbrains.kotlin:kotlin-stdlib", - "org.jetbrains.kotlin:kotlin-stdlib-jdk7", - "org.jetbrains.kotlin:kotlin-stdlib-jdk8", - "org.jetbrains.kotlin:kotlin-stdlib-common", - "org.jetbrains.kotlin:kotlin-test" - ).forEach { + listOf(libs.bundles.kotlin).forEach { implementation(it) { version { - strictly("[1.6,3)") - prefer("2.1.0") + strictly(libs.versions.kotlinVersionrange.get()) + prefer(libs.versions.kotlin.get()) } } } - listOf( - "com.squareup.moshi:moshi", - "com.squareup.moshi:moshi-kotlin" - ).forEach { + listOf(libs.bundles.moshi).forEach { implementation(it) { version { - strictly("[1.12.0,2)") - prefer("1.15.2") + strictly(libs.versions.moshiVersionrange.get()) + prefer(libs.versions.moshi.get()) } } } - listOf( - "com.squareup.okio:okio", - "com.squareup.okio:okio-jvm" - ).forEach { + listOf(libs.bundles.okio).forEach { implementation(it) { version { - strictly("[3,4)") - prefer("3.9.1") + strictly(libs.versions.okioVersionrange.get()) + prefer(libs.versions.okio.get()) } } } } - implementation("org.jetbrains.kotlin:kotlin-stdlib:2.1.0") - implementation("org.jetbrains.kotlin:kotlin-reflect:2.1.0") + implementation(libs.kotlinStdlib) + implementation(libs.kotlinReflect) implementation("io.github.microutils:kotlin-logging:3.0.5") - implementation("org.slf4j:slf4j-api:2.0.16") - testRuntimeOnly("ch.qos.logback:logback-classic:1.3.14") + implementation(libs.slf4j) + testRuntimeOnly("ch.qos.logback:logback-classic:${libs.versions.logback.get()}") implementation("org.yaml:snakeyaml:2.3") - implementation("com.squareup.moshi:moshi:1.15.2") - implementation("com.squareup.moshi:moshi-kotlin:1.15.2") + implementation(libs.moshi) + implementation(libs.moshiKotlin) testImplementation("com.beust:klaxon:5.5") implementation("com.google.re2j:re2j:1.8") @@ -92,8 +78,8 @@ val dependencyVersions = listOf( ) val dependencyGroupVersions = mapOf( - "org.junit.jupiter" to "5.11.0", - "org.junit.platform" to "1.11.0", + "org.junit.jupiter" to libs.versions.junitJupiter.get(), + "org.junit.platform" to libs.versions.junitPlatform.get(), ) configurations.all { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..8eaa1ee --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,34 @@ +[versions] +junitJupiter = "5.11.0" +junitPlatform = "1.11.0" +kotlin = "2.1.0" +kotlinVersionrange = "[1.6,3)" +logback = "1.3.15" +logbackVersionrange = "[1.2,2)" +moshi = "1.15.2" +moshiVersionrange = "[1.12.0,2)" +okio = "3.10.2" +okioVersionrange = "[3,4)" +slf4j = "2.0.16" +slf4jVersionrange = "[1.7,3)" + +[libraries] +kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } +kotlinCommon = { module = "org.jetbrains.kotlin:kotlin-stdlib-common", version.ref = "kotlin" } +kotlinJdk7 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk7", version.ref = "kotlin" } +kotlinJdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" } +kotlinReflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" } +kotlinScriptingJvm = { module = "org.jetbrains.kotlin:kotlin-scripting-jvm", version.ref = "kotlin" } +kotlinStdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } +kotlinTest = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } +logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } +moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" } +moshiKotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" } +okio = { module = "com.squareup.okio:okio", version.ref = "okio" } +okioJvm = { module = "com.squareup.okio:okio-jvm", version.ref = "okio" } +slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } + +[bundles] +kotlin = ["kotlin", "kotlinCommon", "kotlinJdk7", "kotlinJdk8", "kotlinReflect", "kotlinScriptingJvm", "kotlinStdlib", "kotlinTest"] +moshi = ["moshi", "moshiKotlin"] +okio = ["okio", "okioJvm"] From 439acbc06f434223892888d9af06b567f070f673 Mon Sep 17 00:00:00 2001 From: Tobias Gesellchen Date: Sat, 18 Jan 2025 12:42:09 +0100 Subject: [PATCH 2/2] Migrate to Gradle's Version Catalogs https://docs.gradle.org/current/userguide/version_catalogs.html --- build.gradle.kts | 4 ++-- gradle/libs.versions.toml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 87cee5d..fbb3c09 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ import java.text.SimpleDateFormat import java.util.* plugins { - kotlin("jvm") version "2.1.0" + alias(libs.plugins.kotlinJvm) id("maven-publish") id("signing") id("com.github.ben-manes.versions") version "0.51.0" @@ -65,7 +65,7 @@ dependencies { implementation("com.google.re2j:re2j:1.8") // implementation("com.github.fge:json-schema-validator:2.2.6") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit5:2.1.0") + testImplementation("org.jetbrains.kotlin:kotlin-test-junit5:${libs.versions.kotlin.get()}") testImplementation("io.kotest:kotest-runner-junit5:5.9.1") testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.11.4") } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8eaa1ee..4f4aa0e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -32,3 +32,6 @@ slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } kotlin = ["kotlin", "kotlinCommon", "kotlinJdk7", "kotlinJdk8", "kotlinReflect", "kotlinScriptingJvm", "kotlinStdlib", "kotlinTest"] moshi = ["moshi", "moshiKotlin"] okio = ["okio", "okioJvm"] + +[plugins] +kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }