Skip to content
This repository was archived by the owner on Nov 20, 2023. It is now read-only.

Commit 5f46d81

Browse files
authored
chore: migrate dependencies to version catalogs (#58)
1 parent 3408e1b commit 5f46d81

File tree

3 files changed

+145
-54
lines changed

3 files changed

+145
-54
lines changed

Diff for: app/build.gradle.kts

+41-51
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
plugins {
2-
id("com.android.application")
3-
id("org.jetbrains.kotlin.android")
4-
id("com.google.devtools.ksp")
2+
alias(libs.plugins.android.application)
3+
alias(libs.plugins.kotlin.android)
4+
alias(libs.plugins.devtools)
55
id("kotlin-parcelize")
66
kotlin("plugin.serialization") version "1.8.21"
7-
id("com.mikepenz.aboutlibraries.plugin") version "10.8.0"
87
}
98

109
android {
@@ -62,79 +61,70 @@ kotlin {
6261
dependencies {
6362

6463
// AndroidX Core
65-
implementation("androidx.core:core-ktx:1.10.1")
66-
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.6.1")
67-
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")
68-
implementation("androidx.core:core-splashscreen:1.0.1")
69-
implementation("androidx.activity:activity-compose:1.7.2")
70-
implementation("androidx.paging:paging-common-ktx:3.1.1")
71-
implementation("androidx.work:work-runtime-ktx:2.8.1")
64+
implementation(libs.androidx.ktx)
65+
implementation(libs.runtime.ktx)
66+
implementation(libs.runtime.compose)
67+
implementation(libs.splash.screen)
68+
implementation(libs.compose.activity)
69+
implementation(libs.paging.common.ktx)
70+
implementation(libs.work.runtime.ktx)
7271

7372
// Compose
74-
implementation(platform("androidx.compose:compose-bom:2023.06.01"))
75-
implementation("androidx.compose.ui:ui")
76-
implementation("androidx.compose.ui:ui-tooling-preview")
77-
implementation("androidx.compose.runtime:runtime-livedata")
78-
implementation("androidx.compose.material:material-icons-extended")
79-
implementation("androidx.compose.material3:material3")
73+
implementation(platform(libs.compose.bom))
74+
implementation(libs.compose.ui)
75+
implementation(libs.compose.ui.preview)
76+
implementation(libs.compose.livedata)
77+
implementation(libs.compose.material.icons.extended)
78+
implementation(libs.compose.material3)
8079

8180
// Accompanist
82-
val accompanistVersion = "0.30.1"
83-
//implementation("com.google.accompanist:accompanist-systemuicontroller:$accompanistVersion")
84-
//implementation("com.google.accompanist:accompanist-placeholder-material:$accompanistVersion")
85-
implementation("com.google.accompanist:accompanist-drawablepainter:$accompanistVersion")
86-
implementation("com.google.accompanist:accompanist-webview:$accompanistVersion")
87-
//implementation("com.google.accompanist:accompanist-flowlayout:$accompanistVersion")
88-
//implementation("com.google.accompanist:accompanist-permissions:$accompanistVersion")
81+
implementation(libs.accompanist.drawablepainter)
82+
implementation(libs.accompanist.webview)
8983

9084
// HTML Scraper
91-
implementation("it.skrape:skrapeit:1.1.5") {
85+
implementation(libs.skrapeit) {
9286
exclude(group = "xml-apis", module = "xml-apis")
9387
}
9488

9589
// Coil (async image loading, network image)
96-
implementation("io.coil-kt:coil-compose:2.4.0")
97-
implementation("me.zhanghai.android.appiconloader:appiconloader-coil:1.5.0")
90+
implementation(libs.coil.compose)
91+
implementation(libs.coil.appiconloader)
9892

9993
// KotlinX
100-
val serializationVersion = "1.5.1"
101-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$serializationVersion")
102-
implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5")
94+
implementation(libs.kotlinx.serialization.json)
95+
implementation(libs.kotlinx.collection.immutable)
10396

10497
// Room
105-
val roomVersion = "2.5.2"
106-
implementation("androidx.room:room-runtime:$roomVersion")
107-
implementation("androidx.room:room-ktx:$roomVersion")
108-
annotationProcessor("androidx.room:room-compiler:$roomVersion")
109-
ksp("androidx.room:room-compiler:$roomVersion")
98+
implementation(libs.room.runtime)
99+
implementation(libs.room.ktx)
100+
annotationProcessor(libs.room.compiler)
101+
ksp(libs.room.compiler)
110102

111103
// ReVanced
112-
implementation("app.revanced:revanced-patcher:11.0.4")
104+
implementation(libs.patcher)
113105

114106
// Signing
115-
implementation("com.android.tools.build:apksig:8.0.2")
116-
implementation("org.bouncycastle:bcpkix-jdk15on:1.70")
107+
implementation(libs.apksign)
108+
implementation(libs.bcpkix.jdk15on)
117109

118110
// Koin
119-
val koinVersion = "3.4.2"
120-
implementation("io.insert-koin:koin-android:$koinVersion")
121-
implementation("io.insert-koin:koin-androidx-compose:3.4.5")
122-
implementation("io.insert-koin:koin-androidx-workmanager:$koinVersion")
111+
implementation(libs.koin.android)
112+
implementation(libs.koin.compose)
113+
implementation(libs.koin.workmanager)
123114

124115
// Compose Navigation
125-
implementation("dev.olshevski.navigation:reimagined:1.4.0")
116+
implementation(libs.reimagined.navigation)
126117

127118
// Licenses
128-
implementation("com.mikepenz:aboutlibraries-compose:10.8.0")
119+
implementation(libs.about.libraries)
129120

130121
// Ktor
131-
val ktorVersion = "2.3.2"
132-
implementation("io.ktor:ktor-client-core:$ktorVersion")
133-
implementation("io.ktor:ktor-client-logging:$ktorVersion")
134-
implementation("io.ktor:ktor-client-okhttp:$ktorVersion")
135-
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
136-
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
122+
implementation(libs.ktor.core)
123+
implementation(libs.ktor.logging)
124+
implementation(libs.ktor.okhttp)
125+
implementation(libs.ktor.content.negotiation)
126+
implementation(libs.ktor.serialization)
137127

138128
// Markdown to HTML
139-
implementation("org.jetbrains:markdown:0.4.1")
129+
implementation(libs.markdown)
140130
}

Diff for: build.gradle.kts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
2-
id("com.android.application") version "8.0.2" apply false
3-
id("org.jetbrains.kotlin.android") version "1.8.21" apply false
4-
id("com.google.devtools.ksp") version "1.8.21-1.0.11" apply false
2+
alias(libs.plugins.android.application) apply false
3+
alias(libs.plugins.devtools) apply false
4+
alias(libs.plugins.kotlin.android) apply false
5+
alias(libs.plugins.about.libraries) apply false
56
}

Diff for: gradle/libs.versions.toml

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
[versions]
2+
ktx = "1.10.1"
3+
viewmodel-lifecycle = "2.6.1"
4+
splash-screen = "1.0.1"
5+
compose-activity = "1.7.2"
6+
paging = "3.1.1"
7+
work-runtime = "2.8.1ō"
8+
compose-bom = "2023.06.01"
9+
accompanist = "0.30.1"
10+
serialization = "1.5.1"
11+
collection = "0.3.5"
12+
room-version = "2.5.2"
13+
patcher = "11.0.4"
14+
apksign = "8.0.2"
15+
bcpkix-jdk15on = "1.70"
16+
koin-version = "3.4.2"
17+
koin-version-compose = "3.4.5"
18+
reimagined-navigation = "1.4.0"
19+
ktor = "2.3.2"
20+
markdown = "0.4.1"
21+
androidGradlePlugin = "8.0.2"
22+
kotlinGradlePlugin = "1.8.21"
23+
devToolsGradlePlugin = "1.8.21-1.0.11"
24+
aboutLibrariesGradlePlugin = "10.8.0"
25+
coil = "2.4.0"
26+
app-icon-loader-coil = "1.5.0"
27+
skrapeit = "1.1.5"
28+
[libraries]
29+
# AndroidX Core
30+
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
31+
runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "viewmodel-lifecycle" }
32+
runtime-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "viewmodel-lifecycle" }
33+
splash-screen = { group = "androidx.core", name = "core-splashscreen", version.ref = "splash-screen" }
34+
compose-activity = { group = "androidx.activity", name = "activity-compose", version.ref = "compose-activity" }
35+
paging-common-ktx = { group = "androidx.paging", name = "paging-common-ktx", version.ref = "paging" }
36+
work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "work-runtime" }
37+
38+
# Compose
39+
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
40+
compose-ui = { group = "androidx.compose.ui", name = "ui" }
41+
compose-ui-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
42+
compose-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata" }
43+
compose-material3 = { group = "androidx.compose.material3", name = "material3" }
44+
compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended" }
45+
46+
# Coil
47+
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
48+
coil-appiconloader = { group = "me.zhanghai.android.appiconloader", name = "appiconloader-coil", version.ref = "app-icon-loader-coil" }
49+
50+
# Accompanist
51+
accompanist-drawablepainter = { group = "com.google.accompanist", name = "accompanist-drawablepainter", version.ref = "accompanist" }
52+
accompanist-webview = { group = "com.google.accompanist", name = "accompanist-webview", version.ref = "accompanist" }
53+
accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" }
54+
accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version.ref = "accompanist" }
55+
accompanist-placeholder = { group = "com.google.accompanist", name = "accompanist-placeholder-material", version.ref = "accompanist" }
56+
57+
# Kotlinx
58+
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "serialization" }
59+
kotlinx-collection-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "collection" }
60+
61+
# Room
62+
room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room-version" }
63+
room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room-version" }
64+
room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room-version" }
65+
66+
# Patcher
67+
patcher = { group = "app.revanced", name = "revanced-patcher", version.ref = "patcher" }
68+
69+
# Signing
70+
apksign = { group = "com.android.tools.build", name = "apksig", version.ref = "apksign" }
71+
bcpkix-jdk15on = { group = "org.bouncycastle", name = "bcpkix-jdk15on", version.ref = "bcpkix-jdk15on" }
72+
73+
# Koin
74+
koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin-version" }
75+
koin-compose = { group = "io.insert-koin", name = "koin-androidx-compose", version.ref = "koin-version-compose" }
76+
koin-workmanager = { group = "io.insert-koin", name = "koin-androidx-workmanager", version.ref = "koin-version" }
77+
78+
# Compose Navigation
79+
reimagined-navigation = { group = "dev.olshevski.navigation", name = "reimagined", version.ref = "reimagined-navigation" }
80+
81+
# about-libraries
82+
about-libraries = { group = "com.mikepenz", name = "aboutlibraries-compose", version.ref = "aboutLibrariesGradlePlugin" }
83+
84+
# Ktor
85+
ktor-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
86+
ktor-logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktor" }
87+
ktor-okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.ref = "ktor" }
88+
ktor-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
89+
ktor-serialization = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
90+
91+
# HTML Scraper
92+
skrapeit= { group = "it.skrape", name = "skrapeit", version.ref = "skrapeit" }
93+
# Markdown
94+
markdown = { group = "org.jetbrains", name = "markdown", version.ref = "markdown" }
95+
96+
[plugins]
97+
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
98+
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinGradlePlugin" }
99+
devtools = { id = "com.google.devtools.ksp", version.ref = "devToolsGradlePlugin" }
100+
about-libraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutLibrariesGradlePlugin" }

0 commit comments

Comments
 (0)