Skip to content

Commit 2c216bd

Browse files
Merge pull request #238 from MihaiCristianCondrea/codex/group-dependencies-into-bundles
Organize dependencies using version catalog bundles
2 parents 02cbcf7 + a0898e3 commit 2c216bd

File tree

2 files changed

+70
-36
lines changed

2 files changed

+70
-36
lines changed

app/build.gradle

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -55,52 +55,30 @@ android {
5555

5656
dependencies {
5757

58-
// Google
59-
implementation libs.material
60-
implementation libs.play.services.ads
61-
implementation libs.review
62-
implementation libs.app.update
63-
implementation libs.volley
64-
implementation libs.glide
58+
// Google Play services and related UI components
59+
implementation libs.bundles.google.core
6560

6661
// Firebase
6762
implementation platform(libs.firebase.bom)
68-
implementation libs.firebase.crashlytics
69-
implementation libs.firebase.analytics
70-
implementation libs.google.firebase.perf
63+
implementation libs.bundles.firebase.services
7164

72-
// Android
73-
implementation libs.billing
65+
// Jetpack libraries
66+
implementation libs.bundles.androidx.core
67+
implementation libs.bundles.androidx.lifecycle
7468

75-
// AndroidX
76-
implementation libs.androidx.appcompat
77-
implementation libs.androidx.constraintlayout
78-
implementation libs.androidx.core
79-
implementation libs.androidx.core.splashscreen
80-
implementation libs.androidx.gridlayout
81-
implementation libs.androidx.navigation.fragment
82-
implementation libs.androidx.navigation.ui
83-
implementation libs.androidx.preference
84-
implementation libs.androidx.lifecycle.runtime
85-
implementation libs.androidx.lifecycle.process
86-
implementation libs.androidx.lifecycle.livedata
87-
implementation libs.androidx.lifecycle.viewmodel
88-
implementation libs.androidx.multidex
89-
implementation libs.aboutlibraries
90-
implementation libs.core
69+
// Shared UI tooling and visuals
70+
implementation libs.bundles.ui.toolkit
9171

92-
implementation libs.lottie
93-
implementation libs.library
94-
implementation libs.materialratingbar.library
95-
implementation libs.codeview
72+
// Networking and serialization
73+
implementation libs.bundles.networking
74+
75+
// Dependency injection
9676
implementation libs.hilt.android
77+
78+
// Annotation processors
9779
annotationProcessor libs.hilt.compiler
98-
implementation libs.androidx.room.runtime
9980
annotationProcessor libs.androidx.room.compiler
10081
annotationProcessor libs.glide.compiler
101-
implementation libs.retrofit2
102-
implementation libs.retrofit2.converter.gson
103-
10482

10583
// Testing
10684
testImplementation libs.bundles.unitTest

gradle/libs.versions.toml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,62 @@ aboutLibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "abo
9898
hiltAndroid = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
9999

100100
[bundles]
101+
# Google Play services and related UI components
102+
google-core = [
103+
"material",
104+
"play-services-ads",
105+
"review",
106+
"app-update",
107+
"billing",
108+
]
109+
110+
# Firebase services (requires applying the BOM separately)
111+
firebase-services = [
112+
"firebase-crashlytics",
113+
"firebase-analytics",
114+
"google-firebase-perf",
115+
]
116+
117+
# Core AndroidX building blocks
118+
androidx-core = [
119+
"androidx-appcompat",
120+
"androidx-constraintlayout",
121+
"androidx-core",
122+
"androidx-core-splashscreen",
123+
"androidx-gridlayout",
124+
"androidx-navigation-fragment",
125+
"androidx-navigation-ui",
126+
"androidx-preference",
127+
"androidx-room-runtime",
128+
"androidx-multidex",
129+
]
130+
131+
# Lifecycle-aware AndroidX components
132+
androidx-lifecycle = [
133+
"androidx-lifecycle-runtime",
134+
"androidx-lifecycle-process",
135+
"androidx-lifecycle-livedata",
136+
"androidx-lifecycle-viewmodel",
137+
]
138+
139+
# Shared UI tooling and visuals
140+
ui-toolkit = [
141+
"aboutlibraries",
142+
"core",
143+
"lottie",
144+
"library",
145+
"materialratingbar-library",
146+
"codeview",
147+
"glide",
148+
]
149+
150+
# Networking and serialization stack
151+
networking = [
152+
"retrofit2",
153+
"retrofit2-converter-gson",
154+
"volley",
155+
]
156+
101157
# For local tests on the JVM (test sourceSet)
102158
unitTest = [
103159
"junit",

0 commit comments

Comments
 (0)