diff --git a/app/build.gradle b/app/build.gradle index bdead103..cd02eece 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,52 +55,30 @@ android { dependencies { - // Google - implementation libs.material - implementation libs.play.services.ads - implementation libs.review - implementation libs.app.update - implementation libs.volley - implementation libs.glide + // Google Play services and related UI components + implementation libs.bundles.google.core // Firebase implementation platform(libs.firebase.bom) - implementation libs.firebase.crashlytics - implementation libs.firebase.analytics - implementation libs.google.firebase.perf + implementation libs.bundles.firebase.services - // Android - implementation libs.billing + // Jetpack libraries + implementation libs.bundles.androidx.core + implementation libs.bundles.androidx.lifecycle - // AndroidX - implementation libs.androidx.appcompat - implementation libs.androidx.constraintlayout - implementation libs.androidx.core - implementation libs.androidx.core.splashscreen - implementation libs.androidx.gridlayout - implementation libs.androidx.navigation.fragment - implementation libs.androidx.navigation.ui - implementation libs.androidx.preference - implementation libs.androidx.lifecycle.runtime - implementation libs.androidx.lifecycle.process - implementation libs.androidx.lifecycle.livedata - implementation libs.androidx.lifecycle.viewmodel - implementation libs.androidx.multidex - implementation libs.aboutlibraries - implementation libs.core + // Shared UI tooling and visuals + implementation libs.bundles.ui.toolkit - implementation libs.lottie - implementation libs.library - implementation libs.materialratingbar.library - implementation libs.codeview + // Networking and serialization + implementation libs.bundles.networking + + // Dependency injection implementation libs.hilt.android + + // Annotation processors annotationProcessor libs.hilt.compiler - implementation libs.androidx.room.runtime annotationProcessor libs.androidx.room.compiler annotationProcessor libs.glide.compiler - implementation libs.retrofit2 - implementation libs.retrofit2.converter.gson - // Testing testImplementation libs.bundles.unitTest diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 00666131..91b612e3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -98,6 +98,62 @@ aboutLibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "abo hiltAndroid = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } [bundles] +# Google Play services and related UI components +google-core = [ + "material", + "play-services-ads", + "review", + "app-update", + "billing", +] + +# Firebase services (requires applying the BOM separately) +firebase-services = [ + "firebase-crashlytics", + "firebase-analytics", + "google-firebase-perf", +] + +# Core AndroidX building blocks +androidx-core = [ + "androidx-appcompat", + "androidx-constraintlayout", + "androidx-core", + "androidx-core-splashscreen", + "androidx-gridlayout", + "androidx-navigation-fragment", + "androidx-navigation-ui", + "androidx-preference", + "androidx-room-runtime", + "androidx-multidex", +] + +# Lifecycle-aware AndroidX components +androidx-lifecycle = [ + "androidx-lifecycle-runtime", + "androidx-lifecycle-process", + "androidx-lifecycle-livedata", + "androidx-lifecycle-viewmodel", +] + +# Shared UI tooling and visuals +ui-toolkit = [ + "aboutlibraries", + "core", + "lottie", + "library", + "materialratingbar-library", + "codeview", + "glide", +] + +# Networking and serialization stack +networking = [ + "retrofit2", + "retrofit2-converter-gson", + "volley", +] + # For local tests on the JVM (test sourceSet) unitTest = [ "junit",