Skip to content

Commit 12fe0ba

Browse files
nakamura-toclaude
andcommitted
Migrate to Gradle version catalog
Centralize dependency and plugin version management using Gradle's version catalog feature. This improves maintainability by having a single source of truth for all versions. Changes: - Add gradle/libs.versions.toml with all dependency and plugin versions - Update all build.gradle.kts files to use version catalog references - Configure version catalog in all settings.gradle.kts files - Replace hardcoded versions with catalog references throughout the project 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 8480442 commit 12fe0ba

File tree

9 files changed

+97
-43
lines changed

9 files changed

+97
-43
lines changed

compile-java-test/build.gradle.kts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
plugins {
2-
id("java")
2+
java
33
id("org.domaframework.doma.compile")
44
}
55

6-
val domaVersion = "3.9.1"
76

87
java {
9-
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
8+
toolchain.languageVersion.set(JavaLanguageVersion.of(libs.versions.java.get().toInt()))
109
}
1110

1211
tasks {
@@ -20,11 +19,11 @@ repositories {
2019
}
2120

2221
dependencies {
23-
annotationProcessor("org.seasar.doma:doma-processor:$domaVersion")
24-
implementation("org.seasar.doma:doma-core:$domaVersion")
22+
annotationProcessor(libs.doma.processor)
23+
implementation(libs.doma.core)
2524
// Use JUnit BOM for version management
26-
testImplementation(platform("org.junit:junit-bom:5.13.2"))
27-
testImplementation("org.junit.jupiter:junit-jupiter-api")
28-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
29-
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
25+
testImplementation(platform(libs.junit.bom))
26+
testImplementation(libs.junit.jupiter.api)
27+
testRuntimeOnly(libs.junit.jupiter.engine)
28+
testRuntimeOnly(libs.junit.platform.launcher)
3029
}
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1-
rootProject.name = "compile-java-test"
1+
rootProject.name = "compile-java-test"
2+
3+
dependencyResolutionManagement {
4+
versionCatalogs {
5+
create("libs") {
6+
from(files("../gradle/libs.versions.toml"))
7+
}
8+
}
9+
}
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
plugins {
2-
id("java")
2+
java
3+
alias(libs.plugins.kotlin.jvm)
4+
alias(libs.plugins.kotlin.kapt)
35
id("org.domaframework.doma.compile")
4-
id("org.jetbrains.kotlin.jvm") version "2.2.0"
5-
id("org.jetbrains.kotlin.kapt") version "2.2.0"
66
}
77

8-
val domaVersion = "3.9.1"
98

109
kapt {
1110
includeCompileClasspath = false
1211
}
1312

1413
java {
15-
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
14+
toolchain.languageVersion.set(JavaLanguageVersion.of(libs.versions.java.get().toInt()))
1615
}
1716

1817
repositories {
@@ -26,12 +25,12 @@ tasks {
2625
}
2726

2827
dependencies {
29-
kapt("org.seasar.doma:doma-processor:$domaVersion")
30-
implementation("org.seasar.doma:doma-core:$domaVersion")
31-
implementation("org.jetbrains.kotlin:kotlin-stdlib")
28+
kapt(libs.doma.processor)
29+
implementation(libs.doma.core)
30+
implementation(libs.kotlin.stdlib)
3231
// Use JUnit BOM for version management
33-
testImplementation(platform("org.junit:junit-bom:5.13.2"))
34-
testImplementation("org.junit.jupiter:junit-jupiter-api")
35-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
36-
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
32+
testImplementation(platform(libs.junit.bom))
33+
testImplementation(libs.junit.jupiter.api)
34+
testRuntimeOnly(libs.junit.jupiter.engine)
35+
testRuntimeOnly(libs.junit.platform.launcher)
3736
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
rootProject.name = "compile-kotlin-test"
2+
3+
dependencyResolutionManagement {
4+
versionCatalogs {
5+
create("libs") {
6+
from(files("../gradle/libs.versions.toml"))
7+
}
8+
}
9+
}

compile-mix-test/build.gradle.kts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
plugins {
2-
id("java")
2+
java
3+
alias(libs.plugins.kotlin.jvm)
4+
alias(libs.plugins.kotlin.kapt)
35
id("org.domaframework.doma.compile")
4-
id("org.jetbrains.kotlin.jvm") version "2.2.0"
5-
id("org.jetbrains.kotlin.kapt") version "2.2.0"
66
}
77

8-
val domaVersion = "3.9.1"
98

109
kapt {
1110
includeCompileClasspath = false
1211
}
1312

1413
java {
15-
toolchain.languageVersion.set(JavaLanguageVersion.of( 17))
14+
toolchain.languageVersion.set(JavaLanguageVersion.of(libs.versions.java.get().toInt()))
1615
}
1716

1817
tasks {
@@ -26,12 +25,12 @@ repositories {
2625
}
2726

2827
dependencies {
29-
kapt("org.seasar.doma:doma-processor:$domaVersion")
30-
implementation("org.seasar.doma:doma-core:$domaVersion")
31-
implementation("org.jetbrains.kotlin:kotlin-stdlib")
28+
kapt(libs.doma.processor)
29+
implementation(libs.doma.core)
30+
implementation(libs.kotlin.stdlib)
3231
// Use JUnit BOM for version management
33-
testImplementation(platform("org.junit:junit-bom:5.13.2"))
34-
testImplementation("org.junit.jupiter:junit-jupiter-api")
35-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
36-
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
32+
testImplementation(platform(libs.junit.bom))
33+
testImplementation(libs.junit.jupiter.api)
34+
testRuntimeOnly(libs.junit.jupiter.engine)
35+
testRuntimeOnly(libs.junit.platform.launcher)
3736
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
rootProject.name = "compile-mix-test"
2+
3+
dependencyResolutionManagement {
4+
versionCatalogs {
5+
create("libs") {
6+
from(files("../gradle/libs.versions.toml"))
7+
}
8+
}
9+
}

compile/build.gradle.kts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
plugins {
22
id("groovy")
33
id("java-gradle-plugin")
4-
id("com.gradle.plugin-publish") version "1.3.1"
5-
id("com.diffplug.spotless") version "7.0.4"
6-
id("net.researchgate.release") version "3.1.0"
4+
alias(libs.plugins.gradle.plugin.publish)
5+
alias(libs.plugins.spotless)
6+
alias(libs.plugins.release)
77
}
88

99
configure<net.researchgate.release.ReleaseExtension> {
@@ -41,12 +41,12 @@ sourceSets {
4141

4242
spotless {
4343
java {
44-
googleJavaFormat("1.23.0")
44+
googleJavaFormat(libs.versions.google.java.format.get())
4545
}
4646
}
4747

4848
java {
49-
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
49+
toolchain.languageVersion.set(JavaLanguageVersion.of(libs.versions.java.get().toInt()))
5050
}
5151

5252
repositories {
@@ -55,10 +55,10 @@ repositories {
5555

5656
dependencies {
5757
// Use JUnit BOM for version management
58-
testImplementation(platform("org.junit:junit-bom:5.13.2"))
59-
testImplementation("org.junit.jupiter:junit-jupiter-api")
60-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
61-
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
58+
testImplementation(platform(libs.junit.bom))
59+
testImplementation(libs.junit.jupiter.api)
60+
testRuntimeOnly(libs.junit.jupiter.engine)
61+
testRuntimeOnly(libs.junit.platform.launcher)
6262
}
6363

6464
tasks {

compile/settings.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
rootProject.name = "compile"
2+
3+
dependencyResolutionManagement {
4+
versionCatalogs {
5+
create("libs") {
6+
from(files("../gradle/libs.versions.toml"))
7+
}
8+
}
9+
}

gradle/libs.versions.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
[versions]
2+
doma = "3.9.1"
3+
junit-bom = "5.13.2"
4+
kotlin = "2.2.0"
5+
gradle-plugin-publish = "1.3.1"
6+
spotless = "7.0.4"
7+
release = "3.1.0"
8+
google-java-format = "1.23.0"
9+
java = "17"
10+
11+
[libraries]
12+
doma-core = { module = "org.seasar.doma:doma-core", version.ref = "doma" }
13+
doma-processor = { module = "org.seasar.doma:doma-processor", version.ref = "doma" }
14+
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit-bom" }
15+
junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api" }
16+
junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine" }
17+
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher" }
18+
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib" }
19+
20+
[plugins]
21+
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
22+
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
23+
gradle-plugin-publish = { id = "com.gradle.plugin-publish", version.ref = "gradle-plugin-publish" }
24+
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
25+
release = { id = "net.researchgate.release", version.ref = "release" }

0 commit comments

Comments
 (0)