Skip to content

Commit 2d7cda4

Browse files
committed
add version catalog
1 parent 7cee3f9 commit 2d7cda4

File tree

3 files changed

+190
-109
lines changed

3 files changed

+190
-109
lines changed

app/build.gradle.kts

Lines changed: 63 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
plugins {
2-
id("com.android.application")
3-
id("org.jetbrains.kotlin.android")
4-
id("com.google.dagger.hilt.android")
2+
alias(libs.plugins.android.application)
3+
alias(libs.plugins.kotlin.android)
4+
alias(libs.plugins.hilt.android)
55
id("kotlin-parcelize")
6-
id("com.google.devtools.ksp")
7-
id("com.google.gms.google-services")
8-
id("com.google.firebase.crashlytics")
6+
alias(libs.plugins.devtools.ksp)
7+
alias(libs.plugins.google.services)
8+
alias(libs.plugins.firebase.crashlytics)
99
}
1010

1111
android {
@@ -27,7 +27,7 @@ android {
2727

2828
buildTypes {
2929
debug {
30-
buildConfigField("String", "BASE_URL", "\"http://192.168.1.6:3000/\"")
30+
buildConfigField("String", "BASE_URL", "\"http://192.168.1.5:3000/\"")
3131
buildConfigField("String", "API_KEY", "\"1D3F2DD1A5DE725DD4DF1D82BBB37\"")
3232
}
3333
release {
@@ -65,131 +65,91 @@ android {
6565
}
6666

6767
dependencies {
68+
implementation(libs.core)
6869

69-
val core = "1.12.0"
70-
implementation("androidx.core:core-ktx:$core")
71-
72-
// Material Design 3
73-
val material3 = "1.1.2"
74-
implementation("androidx.compose.material3:material3:$material3")
75-
76-
// lifecycle
77-
val lifecycle = "2.7.0"
78-
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle")
79-
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle")
80-
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle")
81-
implementation("androidx.lifecycle:lifecycle-runtime-compose:$lifecycle")
70+
// Lifecycle
71+
implementation(libs.lifecycle.runtime)
72+
implementation(libs.lifecycle.viewmodel)
73+
implementation(libs.lifecycle.viewmodel.compose)
74+
implementation(libs.lifecycle.runtime.compose)
8275

8376
// Compose
84-
val compose = "2023.03.00"
85-
implementation(platform("androidx.compose:compose-bom:$compose"))
86-
implementation("androidx.compose.ui:ui")
87-
implementation("androidx.compose.ui:ui-graphics")
88-
implementation("androidx.compose.material3:material3")
89-
implementation("androidx.compose.ui:ui-tooling-preview")
90-
debugImplementation("androidx.compose.ui:ui-tooling")
91-
implementation("androidx.compose.material:material-icons-extended")
92-
implementation("androidx.compose.material3:material3-window-size-class")
77+
implementation(platform(libs.compose.bom))
78+
implementation(libs.compose.ui)
79+
implementation(libs.compose.ui.graphics)
80+
implementation(libs.compose.ui.tooling.preview)
81+
debugImplementation(libs.compose.ui.tooling)
82+
implementation(libs.compose.material3)
83+
implementation(libs.compose.material.icons)
84+
implementation(libs.compose.material3.windowsize)
9385

94-
val navigation = "2.7.6"
95-
implementation("androidx.navigation:navigation-compose:$navigation")
86+
implementation(libs.navigation.compose)
9687

97-
val constraintlayout = "1.0.1"
98-
implementation("androidx.constraintlayout:constraintlayout-compose:$constraintlayout")
88+
implementation(libs.constraintlayout.compose)
9989

100-
val activity = "1.8.2"
101-
implementation("androidx.activity:activity-compose:$activity")
90+
implementation(libs.activity.compose)
10291

103-
val browser = "1.7.0"
104-
implementation("androidx.browser:browser:$browser")
92+
implementation(libs.browser)
10593

106-
val charty = "2.0.0-alpha01"
107-
implementation("com.himanshoe:charty:$charty")
94+
implementation(libs.charty)
10895

10996
// Coroutine
110-
val coroutines = "1.7.3"
111-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines")
97+
implementation(libs.coroutines.android)
11298

11399
// Log
114-
val timber = "5.0.1"
115-
implementation("com.jakewharton.timber:timber:$timber")
100+
implementation(libs.timber)
116101

117102
// Network
118-
val retrofit2 = "2.9.0"
119-
implementation("com.squareup.retrofit2:retrofit:$retrofit2")
120-
implementation("com.squareup.retrofit2:converter-moshi:${retrofit2}")
103+
implementation(libs.retrofit2)
104+
implementation(libs.retrofit2.moshi)
121105

122-
val okhttp3 = "4.11.0"
123-
implementation(platform("com.squareup.okhttp3:okhttp-bom:$okhttp3"))
124-
implementation("com.squareup.okhttp3:okhttp")
125-
implementation("com.squareup.okhttp3:logging-interceptor")
106+
implementation(platform(libs.okhttp.bom))
107+
implementation(libs.okhttp)
108+
implementation(libs.okhttp.logging)
126109

127110
// Firebase
128-
val firebase = "32.7.0"
129-
implementation(platform("com.google.firebase:firebase-bom:$firebase"))
130-
implementation("com.google.firebase:firebase-analytics")
131-
implementation("com.google.firebase:firebase-messaging")
132-
implementation("com.google.firebase:firebase-crashlytics")
133-
implementation("com.google.firebase:firebase-config")
134-
135-
val crashlytics = "2.9.9"
136-
implementation("com.google.firebase:firebase-crashlytics-buildtools:$crashlytics")
111+
implementation(platform(libs.firebase.bom))
112+
implementation(libs.firebase.analytics)
113+
implementation(libs.firebase.messaging)
114+
implementation(libs.firebase.crashlytics)
115+
implementation(libs.firebase.config)
116+
implementation(libs.firebase.crashlytics.buildtools)
137117

138118
// Work
139-
val work = "2.9.0"
140-
implementation("androidx.work:work-runtime-ktx:$work")
119+
implementation(libs.work.runtime)
141120

142121
// JSON
143-
val moshi = "1.15.0"
144-
implementation("com.squareup.moshi:moshi:$moshi")
145-
ksp("com.squareup.moshi:moshi-kotlin-codegen:$moshi")
122+
implementation(libs.moshi)
123+
ksp(libs.moshi.codegen)
146124

147125
// Database
148-
val room = "2.6.1"
149-
implementation("androidx.room:room-runtime:$room")
150-
ksp("androidx.room:room-compiler:$room")
151-
implementation("androidx.room:room-ktx:$room")
126+
implementation(libs.room.runtime)
127+
ksp(libs.room.compiler)
128+
implementation(libs.room)
152129

153130
// Dependency Management
154-
val hilt = "2.50"
155-
implementation("com.google.dagger:hilt-android:$hilt")
156-
ksp("com.google.dagger:hilt-android-compiler:$hilt")
157-
158-
val hiltKtx = "1.1.0"
159-
implementation("androidx.hilt:hilt-navigation-compose:$hiltKtx")
160-
implementation("androidx.hilt:hilt-work:$hiltKtx")
161-
ksp("androidx.hilt:hilt-compiler:$hiltKtx")
131+
implementation(libs.hilt.android)
132+
ksp(libs.hilt.android.compiler)
133+
implementation(libs.hilt.navigation.compose)
134+
implementation(libs.hilt.work)
135+
ksp(libs.hilt.compiler)
162136

163137
// Image
164-
val coil = "2.5.0"
165-
implementation("io.coil-kt:coil:$coil")
166-
implementation("io.coil-kt:coil-compose:$coil")
167-
168-
val lottie = "6.3.0"
169-
implementation("com.airbnb.android:lottie-compose:$lottie")
138+
implementation(libs.coil)
139+
implementation(libs.coil.compose)
140+
implementation(libs.lottie.compose)
170141

171142
// Unit Test
172-
val junit = "4.13.2"
173-
testImplementation("junit:junit:$junit")
174-
175-
val mockk = "1.13.9"
176-
testImplementation("io.mockk:mockk:$mockk")
177-
178-
val coroutinesTest = "1.7.3"
179-
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesTest")
143+
testImplementation(libs.junit)
144+
testImplementation(libs.mockk)
145+
testImplementation(libs.coroutines.test)
180146

181147
// Android Test
182-
val junitExt = "1.1.5"
183-
androidTestImplementation("androidx.test.ext:junit:$junitExt")
184-
185-
val espresso = "3.5.1"
186-
androidTestImplementation("androidx.test.espresso:espresso-core:$espresso")
187-
188-
androidTestImplementation("io.mockk:mockk-android:$mockk")
189-
190-
androidTestImplementation(platform("androidx.compose:compose-bom:$compose"))
191-
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
192-
debugImplementation("androidx.compose.ui:ui-tooling")
193-
debugImplementation("androidx.compose.ui:ui-test-manifest")
194-
148+
androidTestImplementation(libs.junit.ext)
149+
androidTestImplementation(libs.espresso.core)
150+
androidTestImplementation(libs.mockk.android)
151+
androidTestImplementation(platform(libs.compose.bom))
152+
androidTestImplementation(libs.compose.ui.test.junit4)
153+
debugImplementation(libs.compose.ui.tooling)
154+
debugImplementation(libs.compose.ui.test.manifest)
195155
}

build.gradle.kts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22
plugins {
3-
id("com.android.application") version "8.2.1" apply false
4-
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
5-
id("com.google.dagger.hilt.android") version "2.50" apply false
6-
id("com.google.devtools.ksp") version "1.9.22-1.0.17" apply false
7-
id("com.google.gms.google-services") version "4.4.0" apply false
8-
id("com.google.firebase.crashlytics") version "2.9.9" apply false
3+
alias(libs.plugins.android.application) apply false
4+
alias(libs.plugins.kotlin.android) apply false
5+
alias(libs.plugins.hilt.android) apply false
6+
alias(libs.plugins.devtools.ksp) apply false
7+
alias(libs.plugins.google.services) apply false
8+
alias(libs.plugins.firebase.crashlytics) apply false
99
}

gradle/libs.versions.toml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
[versions]
2+
application = "8.2.1"
3+
kotlin = "1.9.22"
4+
hilt = "2.50"
5+
ksp = "1.9.22-1.0.17"
6+
google-services = "4.4.0"
7+
crashlytics = "2.9.9"
8+
android-core = "1.12.0"
9+
lifecycle = "2.7.0"
10+
compose = "2023.03.00"
11+
navigation = "2.7.6"
12+
constraintlayout = "1.0.1"
13+
activity = "1.8.2"
14+
browser = "1.7.0"
15+
charty = "2.0.0-alpha01"
16+
coroutines = "1.7.3"
17+
timber = "5.0.1"
18+
retrofit2 = "2.9.0"
19+
okhttp3 = "4.11.0"
20+
firebase = "32.7.0"
21+
work = "2.9.0"
22+
moshi = "1.15.0"
23+
room = "2.6.1"
24+
hiltKtx = "1.1.0"
25+
coil = "2.5.0"
26+
lottie = "6.3.0"
27+
junit = "4.13.2"
28+
mockk = "1.13.9"
29+
coroutines-test = "1.7.3"
30+
junit-ext = "1.1.5"
31+
espresso = "3.5.1"
32+
33+
[plugins]
34+
android-application = { id = "com.android.application", version.ref = "application" }
35+
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
36+
hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
37+
devtools-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
38+
google-services = { id = "com.google.gms.google-services", version.ref = "google-services" }
39+
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "crashlytics" }
40+
41+
[libraries]
42+
core = { module = "androidx.core:core-ktx", version.ref = "android-core" }
43+
44+
# Lifecycle
45+
lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle" }
46+
lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycle" }
47+
lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle" }
48+
lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycle" }
49+
50+
# Compose
51+
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose" }
52+
compose-material3 = { module = "androidx.compose.material3:material3" }
53+
compose-ui = { module = "androidx.compose.ui:ui" }
54+
compose-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
55+
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
56+
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
57+
compose-material-icons = { module = "androidx.compose.material:material-icons-extended" }
58+
compose-material3-windowsize = { module = "androidx.compose.material3:material3-window-size-class" }
59+
60+
navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigation"}
61+
constraintlayout-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "constraintlayout"}
62+
activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity"}
63+
browser = { module = "androidx.browser:browser", version.ref = "browser"}
64+
charty = { module = "com.himanshoe:charty", version.ref = "charty"}
65+
66+
# Coroutine
67+
coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines"}
68+
69+
# Log
70+
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber"}
71+
72+
# Network
73+
retrofit2 = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit2"}
74+
retrofit2-moshi = { module = "com.squareup.retrofit2:converter-moshi", version.ref = "retrofit2"}
75+
okhttp-bom = { module = "com.squareup.okhttp3:okhttp-bom", version.ref = "okhttp3"}
76+
okhttp = { module = "com.squareup.okhttp3:okhttp"}
77+
okhttp-logging = { module = "com.squareup.okhttp3:logging-interceptor"}
78+
79+
# Firebase
80+
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebase"}
81+
firebase-analytics = { module = "com.google.firebase:firebase-analytics"}
82+
firebase-messaging = { module = "com.google.firebase:firebase-messaging"}
83+
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics"}
84+
firebase-config = { module = "com.google.firebase:firebase-config"}
85+
firebase-crashlytics-buildtools = { module = "com.google.firebase:firebase-crashlytics-buildtools", version.ref = "crashlytics"}
86+
87+
# Work
88+
work-runtime = { module = "androidx.work:work-runtime-ktx", version.ref = "work"}
89+
90+
# Moshi
91+
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi"}
92+
moshi-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi"}
93+
94+
# Database
95+
room-runtime = { module = "androidx.room:room-runtime", version.ref = "room"}
96+
room-compiler = { module = "androidx.room:room-compiler", version.ref = "room"}
97+
room = { module = "androidx.room:room-ktx", version.ref = "room"}
98+
99+
# Dependency Management
100+
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt"}
101+
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt"}
102+
hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltKtx"}
103+
hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "hiltKtx"}
104+
hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "hiltKtx"}
105+
106+
# Image
107+
coil = { module = "io.coil-kt:coil", version.ref = "coil"}
108+
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil"}
109+
lottie-compose = { module = "com.airbnb.android:lottie-compose", version.ref = "lottie"}
110+
111+
# Unit Test
112+
junit = { module = "junit:junit", version.ref = "junit"}
113+
mockk = { module = "io.mockk:mockk", version.ref = "mockk"}
114+
coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines-test"}
115+
116+
# Android Test
117+
junit-ext = { module = "androidx.test.ext:junit", version.ref = "junit-ext"}
118+
espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso"}
119+
mockk-android = { module = "io.mockk:mockk-android", version.ref = "mockk"}
120+
compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4"}
121+
compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest"}

0 commit comments

Comments
 (0)