Skip to content

Commit 38b5da1

Browse files
committed
build: migrate build to version catalogs
Ref: https://developer.android.com/build/migrate-to-catalogs
1 parent 8ad1248 commit 38b5da1

File tree

7 files changed

+116
-63
lines changed

7 files changed

+116
-63
lines changed

app/build.gradle.kts

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import org.gradle.configurationcache.extensions.capitalized
66

77
plugins {
88
id("com.osfans.trime.data-checksums")
9-
id("com.android.application")
10-
kotlin("android")
11-
kotlin("plugin.serialization") version Versions.kotlin
12-
id("com.google.devtools.ksp") version Versions.ksp
13-
id("com.mikepenz.aboutlibraries.plugin")
9+
alias(libs.plugins.android.application)
10+
alias(libs.plugins.aboutlibraries)
11+
alias(libs.plugins.kotlin.android)
12+
alias(libs.plugins.kotlin.serialization)
13+
alias(libs.plugins.ksp)
1414
}
1515

1616
android {
@@ -153,35 +153,35 @@ tasks.register<Delete>("cleanCxxIntermediates") {
153153

154154
dependencies {
155155
ksp(project(":codegen"))
156-
implementation("com.blankj:utilcodex:1.31.1")
157-
implementation("com.jakewharton.timber:timber:5.0.1")
158-
implementation("com.github.getActivity:XXPermissions:18.5")
159-
implementation("com.charleskorn.kaml:kaml:0.56.0")
160-
implementation("com.mikepenz:aboutlibraries-core:${Versions.aboutlibraries}")
161-
implementation("androidx.core:core-ktx:1.12.0")
162-
implementation("androidx.appcompat:appcompat:1.6.1")
163-
implementation("androidx.preference:preference-ktx:1.2.0")
164-
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
165-
implementation("androidx.viewpager2:viewpager2:1.0.0")
166-
implementation("androidx.fragment:fragment-ktx:1.5.4")
167-
implementation("androidx.navigation:navigation-fragment-ktx:${Versions.navigation}")
168-
implementation("androidx.navigation:navigation-ui-ktx:${Versions.navigation}")
169-
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlin}")
170-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinCoroutines}")
171-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.kotlinCoroutines}")
172-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.1")
173-
implementation("com.google.android.flexbox:flexbox:3.0.0")
174-
implementation("com.louiscad.splitties:splitties-bitflags:${Versions.splitties}")
175-
implementation("com.louiscad.splitties:splitties-systemservices:${Versions.splitties}")
176-
implementation("com.louiscad.splitties:splitties-views-dsl:${Versions.splitties}")
177-
implementation("com.louiscad.splitties:splitties-views-dsl-constraintlayout:${Versions.splitties}")
178-
implementation("com.louiscad.splitties:splitties-views-dsl-recyclerview:${Versions.splitties}")
179-
implementation("com.louiscad.splitties:splitties-views-recyclerview:${Versions.splitties}")
180-
implementation("androidx.room:room-runtime:${Versions.room}")
181-
ksp("androidx.room:room-compiler:${Versions.room}")
182-
implementation("androidx.room:room-ktx:${Versions.room}")
156+
implementation(libs.kotlinx.coroutines)
157+
implementation(libs.kotlinx.serialization.json)
158+
implementation(libs.androidx.activity)
159+
implementation(libs.androidx.appcompat)
160+
implementation(libs.androidx.constraintlayout)
161+
implementation(libs.androidx.core.ktx)
162+
implementation(libs.androidx.navigation.fragment)
163+
implementation(libs.androidx.navigation.ui)
164+
implementation(libs.androidx.preference)
165+
implementation(libs.androidx.recyclerview)
166+
ksp(libs.androidx.room.compiler)
167+
implementation(libs.androidx.room.runtime)
168+
implementation(libs.androidx.room.ktx)
169+
implementation(libs.androidx.viewpager2)
170+
implementation(libs.flexbox)
171+
implementation(libs.kaml)
172+
implementation(libs.timber)
173+
implementation(libs.utilcode)
174+
implementation(libs.xxpermissions)
175+
implementation(libs.splitties.bitflags)
176+
implementation(libs.splitties.systemservices)
177+
implementation(libs.splitties.views.dsl)
178+
implementation(libs.splitties.views.dsl.constraintlayout)
179+
implementation(libs.splitties.views.dsl.coordinatorlayout)
180+
implementation(libs.splitties.views.dsl.recyclerview)
181+
implementation(libs.splitties.views.recyclerview)
182+
implementation(libs.aboutlibraries.core)
183183

184184
// Testing
185-
testImplementation("junit:junit:4.13.2")
186-
androidTestImplementation("junit:junit:4.13.2")
185+
testImplementation(libs.junit)
186+
androidTestImplementation(libs.junit)
187187
}

build.gradle.kts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
*/
88

99
plugins {
10-
id("com.android.application") version Versions.androidGradlePlugin apply false
11-
id("com.android.library") version Versions.androidGradlePlugin apply false
12-
kotlin("android") version Versions.kotlin apply false
13-
id("com.diffplug.spotless") version "6.23.3"
14-
id("com.mikepenz.aboutlibraries.plugin") version Versions.aboutlibraries apply false
10+
alias(libs.plugins.android.application) apply false
11+
alias(libs.plugins.android.library) apply false
12+
alias(libs.plugins.aboutlibraries) apply false
13+
alias(libs.plugins.ksp) apply false
14+
alias(libs.plugins.kotlin.jvm) apply false
15+
alias(libs.plugins.kotlin.serialization) apply false
16+
alias(libs.plugins.kotlin.android) apply false
17+
alias(libs.plugins.spotless)
1518
}
1619

1720
spotless {

buildSrc/build.gradle.kts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,11 @@ plugins {
33
kotlin("plugin.serialization") version embeddedKotlinVersion
44
}
55

6-
repositories {
7-
google()
8-
mavenCentral()
9-
gradlePluginPortal()
10-
}
11-
126
dependencies {
13-
compileOnly("com.android.tools.build:gradle:8.2.0")
14-
compileOnly("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20")
15-
implementation("com.google.guava:guava:33.0.0-jre")
16-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.1")
7+
compileOnly(libs.android.gradlePlugin)
8+
compileOnly(libs.kotlin.gradlePlugin)
9+
implementation(libs.guava)
10+
implementation(libs.kotlinx.serialization.json)
1711
}
1812

1913
gradlePlugin {

buildSrc/settings.gradle.kts

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

buildSrc/src/main/kotlin/Versions.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.

codegen/build.gradle.kts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
plugins {
2-
id("java-library")
3-
kotlin("jvm")
2+
alias(libs.plugins.kotlin.jvm)
43
}
54

65
java {
@@ -13,6 +12,6 @@ kotlin {
1312
}
1413

1514
dependencies {
16-
implementation("com.squareup:kotlinpoet-ksp:1.12.0")
17-
implementation("com.google.devtools.ksp:symbol-processing-api:1.8.0-1.0.8")
15+
implementation(libs.kotlinpoet.ksp)
16+
implementation(libs.ksp)
1817
}

gradle/libs.versions.toml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
[versions]
2+
androidGradlePlugin = "8.2.0"
3+
kotlin = "1.9.20"
4+
ksp = "1.9.20-1.0.14"
5+
lifecycle = "2.6.2"
6+
navigation = "2.7.5"
7+
room = "2.6.1"
8+
splitties = "3.0.0"
9+
aboutlibraries = "10.9.2"
10+
11+
[libraries]
12+
android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" }
13+
kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
14+
kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version = "1.7.3" }
15+
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.6.1" }
16+
androidx-activity = { module = "androidx.activity:activity-ktx", version = "1.8.1" }
17+
androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.6.1" }
18+
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.1.4" }
19+
androidx-core-ktx = { module = "androidx.core:core-ktx", version = "1.12.0" }
20+
androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "navigation" }
21+
androidx-navigation-ui = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "navigation" }
22+
androidx-preference = { module = "androidx.preference:preference-ktx", version = "1.2.1" }
23+
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.3.2" }
24+
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
25+
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
26+
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
27+
androidx-viewpager2 = { module = "androidx.viewpager2:viewpager2", version = "1.1.0-beta02" }
28+
flexbox = { module = "com.google.android.flexbox:flexbox", version = "3.0.0" }
29+
guava = { module = "com.google.guava:guava", version = "33.0.0-jre"}
30+
kaml = { module = "com.charleskorn.kaml:kaml", version = "0.56.0" }
31+
timber = { module = "com.jakewharton.timber:timber", version = "5.0.1" }
32+
utilcode = { module = "com.blankj:utilcodex", version = "1.31.1" }
33+
xxpermissions = { module = "com.github.getActivity:XXPermissions", version = "18.5" }
34+
splitties-bitflags = { module = "com.louiscad.splitties:splitties-bitflags", version.ref = "splitties" }
35+
splitties-systemservices = { module = "com.louiscad.splitties:splitties-systemservices", version.ref = "splitties" }
36+
splitties-views-dsl = { module = "com.louiscad.splitties:splitties-views-dsl", version.ref = "splitties" }
37+
splitties-views-dsl-constraintlayout = { module = "com.louiscad.splitties:splitties-views-dsl-constraintlayout", version.ref = "splitties" }
38+
splitties-views-dsl-coordinatorlayout = { module = "com.louiscad.splitties:splitties-views-dsl-coordinatorlayout", version.ref = "splitties" }
39+
splitties-views-dsl-recyclerview = { module = "com.louiscad.splitties:splitties-views-dsl-recyclerview", version.ref = "splitties" }
40+
splitties-views-recyclerview = { module = "com.louiscad.splitties:splitties-views-recyclerview", version.ref = "splitties" }
41+
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutlibraries" }
42+
aboutlibraries-plugin = { module = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin", version.ref = "aboutlibraries" }
43+
junit = { module = "junit:junit", version = "4.13.2" }
44+
kotlinpoet-ksp = { module = "com.squareup:kotlinpoet-ksp", version = "1.14.2" }
45+
ksp = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" }
46+
47+
[plugins]
48+
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
49+
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
50+
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
51+
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
52+
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
53+
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
54+
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
55+
spotless = { id = "com.diffplug.spotless", version = "6.23.3" }

0 commit comments

Comments
 (0)