From a073fdd54c069b076cd9d30f0dad6ee58fab2f4a Mon Sep 17 00:00:00 2001 From: Jie Li Date: Sun, 10 Nov 2024 17:01:14 +0000 Subject: [PATCH] updated dependencies to refactor branch --- app/build.gradle | 35 +++++++++++++------------- build.gradle | 1 + gradle/libs.versions.toml | 53 +++++++++++++++++++++++++++++---------- 3 files changed, 59 insertions(+), 30 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a15ccd142fd..df35eec6c81 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,10 +4,12 @@ import com.android.tools.profgen.DexFile plugins { alias libs.plugins.android.application + alias libs.plugins.android.hilt + alias libs.plugins.checkstyle alias libs.plugins.kotlin.android + alias libs.plugins.kotlin.compose alias libs.plugins.kotlin.kapt alias libs.plugins.kotlin.parcelize - alias libs.plugins.checkstyle alias libs.plugins.sonarqube } @@ -259,8 +261,7 @@ dependencies { implementation libs.lisawray.groupie.viewbinding // Image loading - //noinspection GradleDependency --> 2.8 is the last version, not 2.71828! - implementation libs.picasso + implementation libs.coil.kt.compose // Markdown library for Android implementation libs.markwon.core @@ -282,27 +283,27 @@ dependencies { implementation libs.prettytime // Jetpack Compose BOM group - implementation(platform('androidx.compose:compose-bom:2024.09.03')) - implementation 'androidx.compose.material3:material3' - implementation 'androidx.compose.ui:ui-tooling-preview' - implementation 'androidx.compose.ui:ui-text' // Needed for parsing HTML to AnnotatedString + implementation(platform(libs.androidx.compose.bom)) + implementation libs.androidx.compose.material3 + implementation libs.androidx.compose.ui.tooling.preview + implementation libs.androidx.compose.ui.text // Needed for parsing HTML to AnnotatedString // Jetpack Compose related dependencies - implementation 'androidx.compose.material3.adaptive:adaptive:1.0.0' - implementation 'androidx.activity:activity-compose:1.9.2' - implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6' - implementation 'androidx.paging:paging-compose:3.3.2' - implementation "androidx.navigation:navigation-compose:2.8.2" + implementation libs.androidx.compose.material3.adaptive + implementation libs.androidx.activity.compose + implementation libs.androidx.lifecycle.viewmodel.compose + implementation libs.androidx.paging.compose + implementation libs.androidx.navigation.compose // Coroutines interop - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-rx3:1.8.1' + implementation libs.kotlinx.coroutines.rx3 // Hilt - implementation("com.google.dagger:hilt-android:2.51.1") - kapt("com.google.dagger:hilt-compiler:2.51.1") + implementation libs.dagger.hilt.android + kapt libs.dagger.hilt.compiler // Scroll - implementation 'com.github.nanihadesuka:LazyColumnScrollbar:2.2.0' + implementation libs.lazyColumnScrollbar /** Debugging **/ // Memory leak detection @@ -314,7 +315,7 @@ dependencies { debugImplementation libs.stetho.okhttp // Jetpack Compose - debugImplementation 'androidx.compose.ui:ui-tooling' + debugImplementation libs.androidx.compose.ui.tooling /** Testing **/ testImplementation libs.junit diff --git a/build.gradle b/build.gradle index cfd6cc1b234..05392dc84c2 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,7 @@ buildscript { dependencies { classpath libs.android.gradlePlugin classpath libs.kotlin.gradlePlugin + classpath libs.hilt.gradlePlugin // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2b6783f02d0..308f07c90e9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,15 +3,21 @@ acraCore = "5.11.3" androidDesugarJdkLibsNio = "2.0.4" androidGradleplugin = "8.7.1" androidMaterial = "1.11.0" +androidxActivity = "1.9.2" androidxAppcompat = "1.6.1" androidxCardview = "1.0.0" +androidxCompose = "2024.09.03" +androidxComposeMaterial3Adaptive = "1.0.0" androidxConstraintlayout = "2.1.4" androidxCore = "1.12.0" androidxDocumentfile = "1.0.1" androidxFragment = "1.6.2" androidxLifecycle = "2.6.2" +androidxLifecycleCompose = "2.8.6" androidxLocalbroadcastmanager = "1.1.0" androidxMedia = "1.7.0" +androidxNavigation = "2.8.2" +androidxPaging = "3.3.2" androidxPreference = "1.2.1" androidxRecyclerview = "1.3.2" androidxRoom = "2.6.1" @@ -22,13 +28,18 @@ androidxViewpager2 = "1.1.0-beta02" androidxWork = "2.8.1" assertj = "3.24.2" checkstyle = "10.12.1" +coilKtCompose = "2.7.0" +dagger = "2.51.1" exoPlayer = "2.18.7" googleAutoService = "1.1.1" groupie = "2.10.1" +hiltGradleplugin = "2.51.1" jsoup = "1.17.2" junit = "4.13.2" -kotlin = "1.9.25" +kotlin = "2.0.21" +kotlinxCoroutines = "1.8.1" ktlint = "0.45.2" +lazyColumnScrollbar = "2.2.0" leakCanary = "2.12" liveFront = "v2.0.2" markwon = "4.6.2" @@ -37,7 +48,6 @@ newpipeteamNanojson = "1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751" newpipeteamNewpipeExtractor = "176da72cb4c3ec4679211339b0e59f6b01bf2f52" newpipeteamNoNonsenseFilePicker = "5.0.0" okhttp = "4.12.0" -picasso = "2.8" prettytime = "5.0.8.Final" processPhoenix = "2.1.2" rxbinding = "4.0.0" @@ -48,6 +58,7 @@ stateSaver = "1.4.1" stetho = "1.6.0" [libraries] +# AndroidX Compose Modules acra-core = { group = "ch.acra", name = "acra-core", version.ref = "acraCore" } android-desugarJdkLibsNio = { group = "com.android.tools", name = "desugar_jdk_libs_nio", version.ref = "androidDesugarJdkLibsNio" } android-exoplayer-core = { group = "com.google.android.exoplayer", name = "exoplayer-core", version.ref = "exoPlayer" } @@ -61,16 +72,26 @@ android-exoplayer-ui = { group = "com.google.android.exoplayer", name = "exoplay android-material = { group = "com.google.android.material", name = "material", version.ref = "androidMaterial" } android-state = { group = "com.evernote", name = "android-state", version.ref = "stateSaver" } android-state-processor = { group = "com.evernote", name = "android-state-processor", version.ref = "stateSaver" } +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidxActivity" } androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidxAppcompat" } androidx-cardview = { group = "androidx.cardview", name = "cardview", version.ref = "androidxCardview" } +androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxCompose" } +androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" } +androidx-compose-material3-adaptive = { group = "androidx.compose.material3.adaptive", name = "adaptive", version.ref = "androidxComposeMaterial3Adaptive" } +androidx-compose-ui-text = { group = "androidx.compose.ui", name = "ui-text" } +androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } +androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidxConstraintlayout" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidxCore" } androidx-documentfile = { group = "androidx.documentfile", name = "documentfile", version.ref = "androidxDocumentfile" } androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "androidxFragment" } androidx-lifecycle-livedata-ktx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "androidxLifecycle" } +androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidxLifecycleCompose" } androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" } androidx-localbroadcastmanager = { group = "androidx.localbroadcastmanager", name = "localbroadcastmanager", version.ref = "androidxLocalbroadcastmanager" } androidx-media = { group = "androidx.media", name = "media", version.ref = "androidxMedia" } +androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidxNavigation" } +androidx-paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "androidxPaging" } androidx-preference = { group = "androidx.preference", name = "preference", version.ref = "androidxPreference" } androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "androidxRecyclerview" } androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "androidxRoom" } @@ -84,13 +105,18 @@ androidx-viewpager2 = { group = "androidx.viewpager2", name = "viewpager2", vers androidx-work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "androidxWork" } androidx-work-rxjava3 = { group = "androidx.work", name = "work-rxjava3", version.ref = "androidxWork" } assertj-core = { group = "org.assertj", name = "assertj-core", version.ref = "assertj" } -checkstyle = {group = "com.puppycrawl.tools", name = "checkstyle", version.ref = "checkstyle"} +checkstyle = { group = "com.puppycrawl.tools", name = "checkstyle", version.ref = "checkstyle" } +coil-kt-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coilKtCompose" } +dagger-hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "dagger" } +dagger-hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "dagger" } google-auto-service = { group = "com.google.auto.service", name = "auto-service", version.ref = "googleAutoService" } google-auto-service-annotations = { group = "com.google.auto.service", name = "auto-service-annotations", version.ref = "googleAutoService" } jsoup = { group = "org.jsoup", name = "jsoup", version.ref = "jsoup" } junit = { group = "junit", name = "junit", version.ref = "junit" } kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" } -ktlint = {group = "com.pinterest", name = "ktlint", version.ref = "ktlint"} +kotlinx-coroutines-rx3 = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-rx3", version.ref = "kotlinxCoroutines" } +ktlint = { group = "com.pinterest", name = "ktlint", version.ref = "ktlint" } +lazyColumnScrollbar = { group = "com.github.nanihadesuka", name = "LazyColumnScrollbar", version.ref = "lazyColumnScrollbar" } leakcanary-android-core = { group = "com.squareup.leakcanary", name = "leakcanary-android-core", version.ref = "leakCanary" } leakcanary-object-watcher-android = { group = "com.squareup.leakcanary", name = "leakcanary-object-watcher-android", version.ref = "leakCanary" } leakcanary-plumber-android = { group = "com.squareup.leakcanary", name = "plumber-android", version.ref = "leakCanary" } @@ -100,11 +126,10 @@ livefront-bridge = { group = "com.github.livefront", name = "bridge", version.re markwon-core = { group = "io.noties.markwon", name = "core", version.ref = "markwon" } markwon-linkify = { group = "io.noties.markwon", name = "linkify", version.ref = "markwon" } mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" } -newpipeteam-filePicker = {group = "com.github.TeamNewPipe", name = "NoNonsense-FilePicker", version.ref = "newpipeteamNoNonsenseFilePicker"} -newpipeteam-nanojson = {group = "com.github.TeamNewPipe", name = "nanojson", version.ref = "newpipeteamNanojson"} -newpipeteam-newPipeExtractor = {group = "com.github.TeamNewPipe", name = "NewPipeExtractor", version.ref = "newpipeteamNewpipeExtractor"} +newpipeteam-filePicker = { group = "com.github.TeamNewPipe", name = "NoNonsense-FilePicker", version.ref = "newpipeteamNoNonsenseFilePicker" } +newpipeteam-nanojson = { group = "com.github.TeamNewPipe", name = "nanojson", version.ref = "newpipeteamNanojson" } +newpipeteam-newPipeExtractor = { group = "com.github.TeamNewPipe", name = "NewPipeExtractor", version.ref = "newpipeteamNewpipeExtractor" } okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } -picasso = { group = "com.squareup.picasso", name = "picasso", version.ref = "picasso" } prettytime = { group = "org.ocpsoft.prettytime", name = "prettytime", version.ref = "prettytime" } process-phoenix = { group = "com.jakewharton", name = "process-phoenix", version.ref = "processPhoenix" } rxbinding = { group = "com.jakewharton.rxbinding4", name = "rxbinding", version.ref = "rxbinding" } @@ -114,14 +139,16 @@ stetho = { group = "com.facebook.stetho", name = "stetho", version.ref = "stetho stetho-okhttp = { group = "com.facebook.stetho", name = "stetho-okhttp3", version.ref = "stetho" } # Dependencies of the included build-logic -android-gradlePlugin = {group = "com.android.tools.build", name = "gradle", version.ref = "androidGradleplugin"} -kotlin-gradlePlugin = {group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin"} +android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradleplugin" } +hilt-gradlePlugin = { group = "com.google.dagger", name = "hilt-android-gradle-plugin", version.ref = "hiltGradleplugin" } +kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } [plugins] -android-application = { id = "com.android.application"} +android-application = { id = "com.android.application" } +android-hilt = { id = "com.google.dagger.hilt.android" } checkstyle = { id = "checkstyle" } kotlin-android = { id = "kotlin-android" } +kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-kapt = { id = "kotlin-kapt" } kotlin-parcelize = { id = "kotlin-parcelize" } -sonarqube = { id = "org.sonarqube", version.ref = "sonarqube" } - +sonarqube = { id = "org.sonarqube", version.ref = "sonarqube" } \ No newline at end of file