diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 89bb423..9714b6a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -140,86 +140,85 @@ dependencies { implementation(libs.androidx.coreKtx) - implementation("androidx.appcompat:appcompat:${Dependencies.appcompatVersion}") + implementation(libs.androidx.appcompat) - implementation("androidx.constraintlayout:constraintlayout:${Dependencies.contraintLayoutVersion}") + implementation(libs.androidx.constraintLayout) - implementation("androidx.swiperefreshlayout:swiperefreshlayout:${Dependencies.swipeRefreshLayoutVersion}") + implementation(libs.androidx.swipeRefreshLayout) - implementation("androidx.lifecycle:lifecycle-livedata-ktx:${Dependencies.lifecycleVersion}") - implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:${Dependencies.lifecycleVersion}") + implementation(libs.androidx.lifecycle.livedataKtx) + implementation(libs.androidx.lifecycle.viewmodelKtx) - implementation("com.google.dagger:hilt-android:${Dependencies.hiltVersion}") - kapt("com.google.dagger:hilt-compiler:${Dependencies.hiltVersion}") - kaptTest("com.google.dagger:hilt-android-compiler:${Dependencies.hiltVersion}") - testImplementation("com.google.dagger:hilt-android-testing:${Dependencies.hiltVersion}") + implementation(libs.google.dagger.hiltAndroid) + kapt(libs.google.dagger.hiltCompiler) + kaptTest(libs.google.dagger.hiltAndroidCompiler) + testImplementation(libs.google.dagger.hiltAndroidTesting) - implementation("com.squareup.retrofit2:retrofit:${Dependencies.retrofitVersion}") + implementation(libs.squareup.retrofit) - implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:${Dependencies.retrofitKotlinxSerializationVersion}") + implementation(libs.jakewharton.retrofitSerialization) - implementation(platform("com.squareup.okhttp3:okhttp-bom:${Dependencies.okhttpVersion}")) - implementation("com.squareup.okhttp3:okhttp") - debugImplementation("com.squareup.okhttp3:logging-interceptor") + implementation(platform(libs.okhttp3.bom)) + implementation(libs.okhttp3.okhttp) + debugImplementation(libs.okhttp3.loggingInterceptor) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:${Dependencies.kotlinxSerializationVersion}") + implementation(libs.jetbrains.kotlinx.serialization) - implementation("com.jakewharton.timber:timber:${Dependencies.timberVersion}") + implementation(libs.jakewharton.timber) - implementation("androidx.paging:paging-runtime-ktx:${Dependencies.pagingVersion}") - testImplementation("androidx.paging:paging-common-ktx:${Dependencies.pagingVersion}") + implementation(libs.androidx.paging.runtimeKtx) + testImplementation(libs.androidx.paging.commonKtx) - implementation("androidx.room:room-runtime:${Dependencies.roomVersion}") - implementation("androidx.room:room-ktx:${Dependencies.roomVersion}") - implementation("androidx.room:room-paging:${Dependencies.roomVersion}") - ksp("androidx.room:room-compiler:${Dependencies.roomVersion}") - testImplementation("androidx.room:room-testing:${Dependencies.roomVersion}") + implementation(libs.androidx.room.runtime) + implementation(libs.androidx.room.ktx) + implementation(libs.androidx.room.paging) + ksp(libs.androidx.room.compiler) + testImplementation(libs.androidx.room.testing) - implementation("org.jetbrains.kotlinx:kotlinx-datetime:${Dependencies.kotlinxDatetimeVersion}") + implementation(libs.jetbrains.kotlinx.datetime) - implementation("com.github.bumptech.glide:glide:${Dependencies.glideVersion}") - implementation("com.github.bumptech.glide:okhttp3-integration:${Dependencies.glideVersion}") - implementation("com.github.bumptech.glide:recyclerview-integration:${Dependencies.glideVersion}") { + implementation(libs.bumptech.glide.glide) + implementation(libs.bumptech.glide.okhttp3) + implementation(libs.bumptech.glide.recyclerview) { // Excludes the support library because it's already included by Glide. isTransitive = false } - kapt("com.github.bumptech.glide:compiler:${Dependencies.glideVersion}") + kapt(libs.bumptech.glide.compiler) - implementation("com.github.kirich1409:viewbindingpropertydelegate-noreflection:${Dependencies.viewBindingDelegateVersion}") + implementation(libs.kirich1409.viewBinding) - implementation("androidx.datastore:datastore-preferences:${Dependencies.datastoreVersion}") - implementation("androidx.datastore:datastore:${Dependencies.datastoreVersion}") + implementation(libs.androidx.datastore.preferences) + implementation(libs.androidx.datastore.datastore) - implementation("com.google.protobuf:protobuf-javalite:${Dependencies.protobufVersion}") + implementation(libs.google.protobuf.javalite) - implementation("androidx.security:security-crypto:${Dependencies.securityVersion}") + implementation(libs.androidx.security.crypto) - implementation(platform("com.google.firebase:firebase-bom:${Dependencies.firebaseVersion}")) - implementation("com.google.firebase:firebase-analytics-ktx") - implementation("com.google.firebase:firebase-crashlytics-ktx") + implementation(platform(libs.google.firebase.bom)) + implementation(libs.google.firebase.analyticsKtx) + implementation(libs.google.firebase.crashlyticsKtx) - testImplementation("junit:junit:${Dependencies.junitVersion}") + testImplementation(libs.junit) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:${Dependencies.coroutinesVersion}") - testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:${Dependencies.coroutinesVersion}") + implementation(libs.jetbrains.kotlinx.coroutinesAndroid) + testImplementation(libs.jetbrains.kotlinx.coroutinesTest) - testImplementation("org.robolectric:robolectric:${Dependencies.robolectricVersion}") + testImplementation(libs.robolectric) - testImplementation("androidx.test.ext:junit-ktx:${Dependencies.junitKtxVersion}") + testImplementation(libs.androidx.test.junit) - testImplementation("com.google.truth:truth:${Dependencies.truthVersion}") + testImplementation(libs.google.truth) - testImplementation("io.mockk:mockk:${Dependencies.mockkVersion}") + testImplementation(libs.io.mockk) - debugImplementation("com.squareup.leakcanary:leakcanary-android:${Dependencies.leakcanaryVersion}") + debugImplementation(libs.squareup.leakcanary) - // https://github.com/ChuckerTeam/chucker/releases - debugImplementation("com.github.chuckerteam.chucker:library:${Dependencies.chuckerVersion}") + debugImplementation(libs.chuckerteam.chucker) } protobuf { protoc { - artifact = "com.google.protobuf:protoc:${Dependencies.protobufVersion}" + artifact = libs.google.protobuf.protoc.get().toString() } generateProtoTasks { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1a74cf8..9f0b48d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -86,15 +86,81 @@ android-tools-desugar = { group = "com.android.tools", name = "desugar_jdk_libs" android-material-material = { group = "com.google.android.material", name = "material", version.ref = "material" } google-servicesPlugin = { group = "com.google.gms", name = "google-services", version.ref = "googleServicesPlugin" } -google-firebase-crashlyticsPlugin = { group = "com.google.firebase", name = "firebase-crashlytics-gradle", version.ref = "firebaseCrashlytics" } + google-dagger-hiltPlugin = { group = "com.google.dagger", name = "hilt-android-gradle-plugin", version.ref = "hilt" } +google-dagger-hiltAndroid = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" } +google-dagger-hiltCompiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hilt" } +google-dagger-hiltAndroidCompiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" } +google-dagger-hiltAndroidTesting = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hilt" } + +google-protobuf-javalite = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" } +google-protobuf-protoc = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" } + +google-firebase-crashlyticsPlugin = { group = "com.google.firebase", name = "firebase-crashlytics-gradle", version.ref = "firebaseCrashlytics" } +google-firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebase" } +google-firebase-analyticsKtx = { group = "com.google.firebase", name = "firebase-analytics-ktx" } +google-firebase-crashlyticsKtx = { group = "com.google.firebase", name = "firebase-crashlytics-ktx" } + +google-truth = { group = "com.google.truth", name = "truth", version.ref = "truth" } jetbrains-kotlinPlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } jetbrains-serializationPlugin = { group = "org.jetbrains.kotlin", name = "kotlin-serialization", version.ref = "kotlin" } +jetbrains-kotlinx-serialization = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" } +jetbrains-kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinxDatetime" } +jetbrains-kotlinx-coroutinesAndroid = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" } +jetbrains-kotlinx-coroutinesTest = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" } + androidx-navigation-safeArgsPlugin = { group = "androidx.navigation", name = "navigation-safe-args-gradle-plugin", version.ref = "googleNavigation" } androidx-navigation-fragmentKtx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "googleNavigation" } androidx-navigation-runtimeKtx = { group = "androidx.navigation", name = "navigation-runtime-ktx", version.ref = "googleNavigation" } androidx-navigation-uiKtx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "googleNavigation" } androidx-coreKtx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } +androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +androidx-constraintLayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "contraintLayout" } +androidx-swipeRefreshLayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "swipeRefreshLayout" } + +androidx-paging-runtimeKtx = { group = "androidx.paging", name = "paging-runtime-ktx", version.ref = "paging" } +androidx-paging-commonKtx = { group = "androidx.paging", name = "paging-common-ktx", version.ref = "paging" } + +androidx-lifecycle-livedataKtx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycle" } +androidx-lifecycle-viewmodelKtx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" } + +androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore" } +androidx-datastore-datastore = { group = "androidx.datastore", name = "datastore", version.ref = "datastore" } + +androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" } +androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" } +androidx-room-paging = { group = "androidx.room", name = "room-paging", version.ref = "room" } +androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" } +androidx-room-testing = { group = "androidx.room", name = "room-testing", version.ref = "room" } + +androidx-test-junit = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "junitKtx" } +androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "security" } + +jakewharton-retrofitSerialization = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofitKotlinxSerialization" } +jakewharton-timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" } + +squareup-retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } + +squareup-leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanary" } + +okhttp3-bom = { group = "com.squareup.okhttp3", name = "okhttp-bom", version.ref = "okhttp" } +okhttp3-okhttp = { group = "com.squareup.okhttp3", name = "okhttp" } +okhttp3-loggingInterceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor" } + +bumptech-glide-glide = { group = "com.github.bumptech.glide", name = "glide", version.ref = "glide" } +bumptech-glide-okhttp3 = { group = "com.github.bumptech.glide", name = "okhttp3-integration", version.ref = "glide" } +bumptech-glide-recyclerview = { group = "com.github.bumptech.glide", name = "recyclerview-integration", version.ref = "glide" } +bumptech-glide-compiler = { group = "com.github.bumptech.glide", name = "compiler", version.ref = "glide" } + +kirich1409-viewBinding = { group = "com.github.kirich1409", name = "viewbindingpropertydelegate-noreflection", version.ref = "viewBindingDelegate" } + +junit = { group = "junit", name = "junit", version.ref = "junit" } + +robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" } + +io-mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" } + +chuckerteam-chucker = { group = "com.github.chuckerteam.chucker", name = "library", version.ref = "chucker" } \ No newline at end of file