Skip to content

Commit 69881f4

Browse files
authored
📦 migrate to version catalog for dependency management (#32)
1 parent 2b987ad commit 69881f4

File tree

6 files changed

+55
-24
lines changed

6 files changed

+55
-24
lines changed

build.gradle.kts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
plugins {
2-
kotlin("jvm") version "2.0.21" apply false
3-
kotlin("android") version "2.0.21" apply false
4-
id("com.android.library") version "8.11.1" apply false
5-
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
6-
id("org.jetbrains.dokka") version "1.9.20" apply false
2+
alias(libs.plugins.kotlin.jvm) apply false
3+
alias(libs.plugins.kotlin.android) apply false
4+
alias(libs.plugins.android.library) apply false
5+
alias(libs.plugins.nexus.publish)
6+
alias(libs.plugins.dokka) apply false
77
}
88

99
allprojects {
10-
group = "io.github.techouse"
11-
version = "1.3.1"
1210
repositories {
1311
google()
1412
mavenCentral()

gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
group=io.github.techouse
2+
version=1.3.1
13
kotlin.code.style=official

gradle/libs.versions.toml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[versions]
2+
kotlin = "2.0.21"
3+
agp = "8.11.1"
4+
dokka = "1.9.20"
5+
nexusPublish = "2.0.0"
6+
kotest = "5.9.1"
7+
junit = "5.13.4"
8+
ktfmt = "0.24.0"
9+
spotless = "7.2.1"
10+
jacoco = "0.8.13"
11+
googleJavaFormat = "1.22.0"
12+
desugarJdkLibs = "2.1.5"
13+
androidCompileSdk = "36"
14+
androidMinSdk = "25"
15+
16+
[plugins]
17+
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
18+
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
19+
android-library = { id = "com.android.library", version.ref = "agp" }
20+
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
21+
nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "nexusPublish" }
22+
ktfmt = { id = "com.ncorti.ktfmt.gradle", version.ref = "ktfmt" }
23+
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
24+
25+
[libraries]
26+
kotest-bom = { module = "io.kotest:kotest-bom", version.ref = "kotest" }
27+
kotest-runner-junit5 = { module = "io.kotest:kotest-runner-junit5" }
28+
kotest-assertions-core = { module = "io.kotest:kotest-assertions-core" }
29+
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
30+
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" }
31+
android-desugarJdkLibs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugarJdkLibs" }

qs-kotlin-android/build.gradle.kts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
22
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
33

44
plugins {
5-
kotlin("android")
6-
id("com.android.library")
7-
id("com.ncorti.ktfmt.gradle") version "0.24.0"
5+
alias(libs.plugins.kotlin.android)
6+
alias(libs.plugins.android.library)
7+
alias(libs.plugins.ktfmt)
88
`maven-publish`
99
signing
1010
}
1111

1212
android {
1313
namespace = "io.github.techouse.qskotlin.android"
14-
compileSdk = 36
15-
defaultConfig { minSdk = 25 }
14+
compileSdk = libs.versions.androidCompileSdk.get().toInt()
15+
defaultConfig { minSdk = libs.versions.androidMinSdk.get().toInt() }
1616

1717
compileOptions {
1818
sourceCompatibility = JavaVersion.VERSION_17
@@ -40,7 +40,7 @@ android {
4040

4141
dependencies {
4242
api(project(":qs-kotlin"))
43-
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
43+
coreLibraryDesugaring(libs.android.desugarJdkLibs)
4444
}
4545

4646
ktfmt { kotlinLangStyle() }

qs-kotlin/build.gradle.kts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
44
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
55

66
plugins {
7-
kotlin("jvm")
8-
id("com.ncorti.ktfmt.gradle") version "0.24.0"
9-
id("com.diffplug.spotless") version "7.2.1"
7+
alias(libs.plugins.kotlin.jvm)
8+
alias(libs.plugins.ktfmt)
9+
alias(libs.plugins.spotless)
1010
jacoco
1111
`maven-publish`
1212
signing
@@ -18,7 +18,7 @@ java {
1818
withJavadocJar()
1919
}
2020

21-
jacoco { toolVersion = "0.8.13" }
21+
jacoco { toolVersion = libs.versions.jacoco.get() }
2222

2323
tasks.withType<Jar>().configureEach {
2424
isPreserveFileTimestamps = false
@@ -34,11 +34,11 @@ tasks.withType<KotlinCompile> {
3434
}
3535

3636
dependencies {
37-
testImplementation(platform("io.kotest:kotest-bom:5.9.1"))
38-
testImplementation("io.kotest:kotest-runner-junit5")
39-
testImplementation("io.kotest:kotest-assertions-core")
40-
testImplementation(platform("org.junit:junit-bom:5.13.4"))
41-
testImplementation("org.junit.jupiter:junit-jupiter")
37+
testImplementation(platform(libs.kotest.bom))
38+
testImplementation(libs.kotest.runner.junit5)
39+
testImplementation(libs.kotest.assertions.core)
40+
testImplementation(platform(libs.junit.bom))
41+
testImplementation(libs.junit.jupiter)
4242
}
4343

4444
tasks.test {
@@ -65,7 +65,7 @@ ktfmt { kotlinLangStyle() }
6565

6666
spotless {
6767
java {
68-
googleJavaFormat("1.22.0") // pick a version you like
68+
googleJavaFormat(libs.versions.googleJavaFormat.get()) // pick a version you like
6969
target("src/**/*.java")
7070
}
7171
}

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
pluginManagement {
22
repositories {
3+
gradlePluginPortal()
34
google()
45
mavenCentral()
5-
gradlePluginPortal()
66
}
77
}
88

0 commit comments

Comments
 (0)