Skip to content

Commit

Permalink
Migrate to Gradle's Version Catalogs (#403)
Browse files Browse the repository at this point in the history
  • Loading branch information
gesellix authored Jan 18, 2025
1 parent 78f88b1 commit ed339a8
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 57 deletions.
19 changes: 8 additions & 11 deletions api-model-v1-41/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import java.util.*

plugins {
id("java")
id("org.jetbrains.kotlin.jvm")
alias(libs.plugins.kotlinJvm)
id("com.google.devtools.ksp")
id("maven-publish")
id("signing")
Expand Down Expand Up @@ -108,23 +108,20 @@ repositories {

dependencies {
constraints {
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-jdk8:2.1.0")
implementation(libs.kotlinJdk8)

implementation("com.squareup.moshi:moshi:1.15.2")
ksp("com.squareup.moshi:moshi-kotlin-codegen:1.15.2")
compileOnly("com.squareup.okhttp3:okhttp:4.12.0")
implementation(libs.moshi)
ksp("com.squareup.moshi:moshi-kotlin-codegen:${libs.versions.moshi.get()}")
compileOnly(libs.okhttp)

testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4")
Expand Down
19 changes: 8 additions & 11 deletions api-model-v1-45/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import java.util.*

plugins {
id("java")
id("org.jetbrains.kotlin.jvm")
alias(libs.plugins.kotlinJvm)
id("com.google.devtools.ksp")
id("maven-publish")
id("signing")
Expand Down Expand Up @@ -108,23 +108,20 @@ repositories {

dependencies {
constraints {
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-jdk8:2.1.0")
implementation(libs.kotlinJdk8)

implementation("com.squareup.moshi:moshi:1.15.2")
ksp("com.squareup.moshi:moshi-kotlin-codegen:1.15.2")
compileOnly("com.squareup.okhttp3:okhttp:4.12.0")
implementation(libs.moshi)
ksp("com.squareup.moshi:moshi-kotlin-codegen:${libs.versions.moshi.get()}")
compileOnly(libs.okhttp)

testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4")
Expand Down
70 changes: 35 additions & 35 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ import java.util.*
rootProject.extra.set("artifactVersion", SimpleDateFormat("yyyy-MM-dd\'T\'HH-mm-ss").format(Date()))

plugins {
id("maven-publish")
id("com.github.ben-manes.versions") version "0.51.0"
id("net.ossindex.audit") version "0.4.11"
id("io.freefair.maven-central.validate-poms") version "8.11"
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
id("org.jetbrains.kotlin.jvm") version "2.1.0" apply false
id("com.google.devtools.ksp") version "2.1.0-1.0.29" apply false
id("org.openapi.generator") version "7.10.0" apply false
id("org.jlleitschuh.gradle.ktlint") version "12.1.2" apply false
id("maven-publish")
id("com.github.ben-manes.versions") version "0.51.0"
id("net.ossindex.audit") version "0.4.11"
id("io.freefair.maven-central.validate-poms") version "8.11"
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
alias(libs.plugins.kotlinJvm) apply false
id("com.google.devtools.ksp") version "2.1.0-1.0.29" apply false
id("org.openapi.generator") version "7.10.0" apply false
id("org.jlleitschuh.gradle.ktlint") version "12.1.2" apply false
}

val dependencyVersions = listOf(
"org.jetbrains.kotlin:kotlin-reflect:2.1.0",
"org.jetbrains.kotlin:kotlin-script-runtime:2.1.0",
"org.jetbrains.kotlin:kotlin-stdlib:2.1.0",
"org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0",
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0",
"org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.0",
"org.slf4j:slf4j-api:2.0.16",
libs.kotlinReflect,
libs.kotlinScriptRuntime,
libs.kotlinStdlib,
libs.kotlinCommon,
libs.kotlinJdk7,
libs.kotlinJdk8,
libs.slf4j,
)

val dependencyGroupVersions = mapOf<String, String>(
Expand All @@ -31,32 +31,32 @@ val dependencyGroupVersions = mapOf<String, String>(
)

subprojects {
configurations.all {
resolutionStrategy {
failOnVersionConflict()
force(dependencyVersions)
eachDependency {
val forcedVersion = dependencyGroupVersions[requested.group]
if (forcedVersion != null) {
useVersion(forcedVersion)
configurations.all {
resolutionStrategy {
failOnVersionConflict()
force(dependencyVersions)
eachDependency {
val forcedVersion = dependencyGroupVersions[requested.group]
if (forcedVersion != null) {
useVersion(forcedVersion)
}
}
}
}
}
}
}

fun findProperty(s: String) = project.findProperty(s) as String?

val isSnapshot = project.version == "unspecified"
nexusPublishing {
repositories {
if (!isSnapshot) {
sonatype {
// 'sonatype' is pre-configured for Sonatype Nexus (OSSRH) which is used for The Central Repository
stagingProfileId.set(System.getenv("SONATYPE_STAGING_PROFILE_ID") ?: findProperty("sonatype.staging.profile.id")) //can reduce execution time by even 10 seconds
username.set(System.getenv("SONATYPE_USERNAME") ?: findProperty("sonatype.username"))
password.set(System.getenv("SONATYPE_PASSWORD") ?: findProperty("sonatype.password"))
}
repositories {
if (!isSnapshot) {
sonatype {
// 'sonatype' is pre-configured for Sonatype Nexus (OSSRH) which is used for The Central Repository
stagingProfileId.set(System.getenv("SONATYPE_STAGING_PROFILE_ID") ?: findProperty("sonatype.staging.profile.id")) //can reduce execution time by even 10 seconds
username.set(System.getenv("SONATYPE_USERNAME") ?: findProperty("sonatype.username"))
password.set(System.getenv("SONATYPE_PASSWORD") ?: findProperty("sonatype.password"))
}
}
}
}
}
40 changes: 40 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
[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)"
okhttp = "4.12.0"
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" }
kotlinScriptRuntime = { module = "org.jetbrains.kotlin:kotlin-script-runtime", 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" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
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"]

[plugins]
kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }

0 comments on commit ed339a8

Please sign in to comment.