From 0c0c20ac0a67cec7ebae38596064740d6576b3aa Mon Sep 17 00:00:00 2001 From: althafvly Date: Wed, 1 Jan 2025 19:15:51 +0530 Subject: [PATCH] feat: Refactor Gradle dependencies --- app/build.gradle | 193 ++++++++++++++++++++++++----------------------- 1 file changed, 100 insertions(+), 93 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 858a87b33..7bfcf39a3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -226,116 +226,123 @@ allOpen { } dependencies { + // Define versions + def activity_version = "1.9.3" + def appcompat_version = "1.7.0" + def constraintlayout_version = "2.2.0" + def core_ktx_version = "1.15.0" + def fragment_ktx_version = "1.8.5" + def material_version = "1.12.0" + def navigation_version = "2.8.5" + def lifecycle_version = "2.8.7" + def room_version = "2.6.1" + def workmanager_version = "2.10.0" + def coroutines_version = "1.10.1" + def retrofit_version = "2.11.0" + def okhttp_version = "4.12.0" + def moshi_version = "1.15.1" + def hilt_version = "2.54" + def test_kotlin_version = "2.1.0" - implementation project(':auth-data-lib') - implementation project(':parental-control-data') + // Project dependencies + implementation(project(":auth-data-lib")) + implementation(project(":parental-control-data")) + // Library dependencies // TODO: Add splitinstall-lib to a repo https://gitlab.e.foundation/e/os/backlog/-/issues/628 - api files('libs/splitinstall-lib.jar') - - implementation 'foundation.e.lib:telemetry:0.0.11-alpha' - implementation 'foundation.e:gplayapi:3.4.2-0' - implementation 'androidx.core:core-ktx:1.15.0' - implementation 'androidx.appcompat:appcompat:1.7.0' - implementation 'androidx.fragment:fragment-ktx:1.8.5' - implementation 'com.google.android.material:material:1.12.0' - implementation 'androidx.constraintlayout:constraintlayout:2.2.0' - implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.preference:preference-ktx:1.2.1' - implementation "androidx.datastore:datastore-preferences:1.1.1" - implementation 'com.facebook.shimmer:shimmer:0.5.0' - implementation 'androidx.core:core-google-shortcuts:1.1.0' - debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7' - testImplementation "com.google.truth:truth:1.1.4" - testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.2.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' - // Optional -- Robolectric environment - testImplementation "androidx.test:core:1.6.1" - // Optional -- Mockito framework - testImplementation "org.mockito:mockito-core:5.14.2" - // Optional -- mockito-kotlin - testImplementation "org.mockito.kotlin:mockito-kotlin:5.4.0" - testImplementation 'org.mockito:mockito-inline:5.0.0' - testImplementation "androidx.arch.core:core-testing:2.2.0" - - testImplementation "io.mockk:mockk:1.12.3" + api(files("libs/splitinstall-lib.jar")) + + // eFoundation libraries + implementation("foundation.e.lib:telemetry:0.0.11-alpha") + implementation("foundation.e:gplayapi:3.4.2-0") + implementation("foundation.e:elib:0.0.1-alpha11") + + // AndroidX libraries + implementation("androidx.core:core-ktx:$core_ktx_version") + implementation("androidx.appcompat:appcompat:$appcompat_version") + implementation("androidx.fragment:fragment-ktx:$fragment_ktx_version") + implementation("androidx.preference:preference-ktx:1.2.1") + implementation("androidx.constraintlayout:constraintlayout:$constraintlayout_version") + implementation("androidx.legacy:legacy-support-v4:1.0.0") + implementation("androidx.datastore:datastore-preferences:1.1.1") + implementation("androidx.viewpager2:viewpager2:1.1.0") + implementation("androidx.recyclerview:recyclerview:1.3.2") + implementation("androidx.navigation:navigation-fragment-ktx:$navigation_version") + implementation("androidx.navigation:navigation-ui-ktx:$navigation_version") + implementation("androidx.activity:activity-ktx:$activity_version") - // Coil and PhotoView - implementation "io.coil-kt:coil:1.4.0" - implementation 'com.github.Baseflow:PhotoView:2.3.0' + // Material Design + implementation("com.google.android.material:material:$material_version") - //Protobuf and Gson - implementation 'com.google.code.gson:gson:2.11.0' - implementation "com.google.protobuf:protobuf-javalite:4.28.2" + // Lifecycle Components + implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version") + implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version") + implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version") + implementation("android.arch.lifecycle:extensions:1.1.1") - // ViewPager2 and RecyclerView - implementation "androidx.viewpager2:viewpager2:1.1.0" - implementation "androidx.recyclerview:recyclerview:1.3.2" + // WorkManager + implementation("androidx.work:work-runtime-ktx:$workmanager_version") - //logger - implementation 'com.jakewharton.timber:timber:5.0.1' + // Room + ksp("androidx.room:room-compiler:$room_version") + implementation("androidx.room:room-ktx:$room_version") + implementation("androidx.room:room-runtime:$room_version") - // Bouncy Castle - implementation 'org.bouncycastle:bcpg-jdk15on:1.60' + // Hilt + ksp("com.google.dagger:hilt-compiler:$hilt_version") + implementation("com.google.dagger:hilt-android:$hilt_version") + implementation("androidx.hilt:hilt-work:1.2.0") + ksp("androidx.hilt:hilt-compiler:1.2.0") - // Retrofit - def retrofit_version = "2.11.0" - implementation "com.squareup.retrofit2:retrofit:$retrofit_version" - implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version" - implementation "com.squareup.retrofit2:converter-jackson:$retrofit_version" - implementation "com.squareup.moshi:moshi-kotlin:1.15.1" - implementation "com.squareup.okhttp3:okhttp:4.12.0" - implementation "com.squareup.okhttp3:logging-interceptor:4.11.0" + // Facebook + implementation("com.facebook.shimmer:shimmer:0.5.0") - // JSON Converter - implementation 'com.squareup.retrofit2:converter-gson:2.11.0' + // Coroutines + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version") + testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_version") + testImplementation("org.jetbrains.kotlin:kotlin-test:$test_kotlin_version") + + // Testing dependencies + testImplementation("com.google.truth:truth:1.1.4") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.2.1") + androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") + testImplementation("androidx.test:core:1.6.1") + testImplementation("org.mockito:mockito-core:5.14.2") + testImplementation("org.mockito.kotlin:mockito-kotlin:5.4.0") + testImplementation("org.mockito:mockito-inline:5.0.0") + testImplementation("androidx.arch.core:core-testing:2.2.0") + testImplementation("io.mockk:mockk:1.12.3") - // YAML factory - implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.0" + // Coil and PhotoView + implementation("io.coil-kt:coil:1.4.0") + implementation("com.github.Baseflow:PhotoView:2.3.0") - // Navigation Components - def navigation_version = "2.8.5" - implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" - implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" + // Protobuf and Gson + implementation("com.google.code.gson:gson:2.11.0") + implementation("com.google.protobuf:protobuf-javalite:4.28.2") - // Hilt - def hilt_version = '2.54' - ksp "com.google.dagger:hilt-compiler:$hilt_version" - implementation "com.google.dagger:hilt-android:$hilt_version" - implementation 'androidx.hilt:hilt-work:1.2.0' - ksp 'androidx.hilt:hilt-compiler:1.2.0' + // Logger + implementation("com.jakewharton.timber:timber:5.0.1") - // Lifecycle Components - def lifecycle_version = "2.8.7" - implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" - implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" - implementation "android.arch.lifecycle:extensions:1.1.1" - implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" + // Retrofit + implementation("com.squareup.retrofit2:retrofit:$retrofit_version") + implementation("com.squareup.retrofit2:converter-moshi:$retrofit_version") + implementation("com.squareup.retrofit2:converter-jackson:$retrofit_version") + implementation("com.squareup.moshi:moshi-kotlin:$moshi_version") + implementation("com.squareup.okhttp3:okhttp:$okhttp_version") + implementation("com.squareup.okhttp3:logging-interceptor:4.11.0") - // Coroutines - def coroutines_version = "1.10.1" - def test_kotlin_version = "2.1.0" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" - testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_version" - testImplementation "org.jetbrains.kotlin:kotlin-test:$test_kotlin_version" + // JSON Converter + implementation("com.squareup.retrofit2:converter-gson:$retrofit_version") - // Room - ksp "androidx.room:room-compiler:2.6.1" - implementation "androidx.room:room-ktx:2.6.1" - implementation "androidx.room:room-runtime:2.6.1" + // YAML factory + implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.0") - // WorkManager - implementation 'androidx.work:work-runtime-ktx:2.10.0' + // Bouncy Castle + implementation("org.bouncycastle:bcpg-jdk15on:1.60") // JSoup - implementation 'org.jsoup:jsoup:1.17.2' - - // elib - implementation 'foundation.e:elib:0.0.1-alpha11' - - // androidx.activity - def activity_version = "1.9.3" - implementation("androidx.activity:activity-ktx:$activity_version") + implementation("org.jsoup:jsoup:1.17.2") } -- GitLab