diff --git a/androidx-lib/build.gradle b/androidx-lib/build.gradle index 903f5fd3b5..ec0c42af04 100644 --- a/androidx-lib/build.gradle +++ b/androidx-lib/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { diff --git a/baseline-profile/build.gradle b/baseline-profile/build.gradle index 2fd85ab82e..a39b8e290b 100644 --- a/baseline-profile/build.gradle +++ b/baseline-profile/build.gradle @@ -1,9 +1,9 @@ import com.android.build.api.dsl.ManagedVirtualDevice plugins { - id 'com.android.test' - id 'androidx.baselineprofile' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.test) + alias(libs.plugins.androidx.baselineprofile) + alias(libs.plugins.kotlin.android) } android { @@ -40,8 +40,8 @@ baselineProfile { } dependencies { - implementation 'androidx.test.ext:junit:1.3.0' - implementation 'androidx.test.espresso:espresso-core:3.7.0' - implementation 'androidx.test.uiautomator:uiautomator:2.3.0' - implementation 'androidx.benchmark:benchmark-macro-junit4:1.4.1' + implementation libs.androidx.junit + implementation libs.androidx.espresso.core + implementation libs.androidx.uiautomator + implementation libs.androidx.benchmark.macro.junit4 } diff --git a/build.gradle b/build.gradle index 3fc31652ac..9e3b07de3c 100644 --- a/build.gradle +++ b/build.gradle @@ -4,19 +4,19 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id 'com.android.application' version "8.13.0" - id 'com.android.library' version "8.13.0" apply false - id 'com.android.test' version '8.13.0' apply false - id 'androidx.baselineprofile' version '1.4.1' - id 'org.jetbrains.kotlin.android' version "2.1.10" - id 'org.jetbrains.kotlin.plugin.compose' version "2.1.10" - id 'org.jetbrains.kotlin.plugin.parcelize' version "2.1.10" - id 'org.jetbrains.kotlin.plugin.serialization' version "2.1.10" - id "com.google.devtools.ksp" version "2.1.10-1.0.31" - id 'com.google.protobuf' version "0.9.5" - id 'app.cash.licensee' version "1.14.1" - id 'dev.rikka.tools.refine' version "4.4.0" - id 'com.diffplug.spotless' version '8.0.0' + alias(libs.plugins.android.application) + alias(libs.plugins.android.library) apply false + alias(libs.plugins.android.test) apply false + alias(libs.plugins.androidx.baselineprofile) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.parcelize) + alias(libs.plugins.kotlin.serialization) + alias(libs.plugins.google.ksp) + alias(libs.plugins.google.protobuf) + alias(libs.plugins.cash.licensee) + alias(libs.plugins.rikka.refine) + alias(libs.plugins.diffplug.spotless) } @@ -44,16 +44,15 @@ allprojects { } } dependencies { - implementation 'androidx.core:core-ktx:1.17.0' + implementation libs.androidx.core.ktx } } plugins.withId('com.google.protobuf') { - def protocVersion = '4.33.0' protobuf { // Configure the protoc executable protoc { - artifact = "com.google.protobuf:protoc:${protocVersion}" + artifact = "com.google.protobuf:protoc:${libs.versions.protocVersion.get()}" } generateProtoTasks { all().configureEach { task -> @@ -67,7 +66,7 @@ allprojects { } } dependencies { - implementation "com.google.protobuf:protobuf-javalite:$protocVersion" + implementation libs.protobuf.javalite } } @@ -89,7 +88,6 @@ allprojects { ext { FRAMEWORK_PREBUILTS_DIR = "$rootDir/prebuilts/libs" - daggerVersion = '2.55' addFrameworkJar = { String name -> def frameworkJar = new File(FRAMEWORK_PREBUILTS_DIR, name) @@ -378,85 +376,76 @@ dependencies { withQuickstepImplementation projects.compatLib.compatLibVV withQuickstepImplementation projects.wmshell withQuickstepImplementation projects.flags - implementation 'androidx.dynamicanimation:dynamicanimation:1.1.0' + implementation libs.androidx.dynamicanimation implementation fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'SystemUI-statsd-15.jar') implementation fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'WindowManager-Shell-15.jar') withQuickstepCompileOnly fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'framework-15.jar') - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5' + coreLibraryDesugaring libs.android.desugarJdkLibs - implementation 'androidx.profileinstaller:profileinstaller:1.4.1' + implementation libs.androidx.profileinstaller baselineProfile projects.baselineProfile - implementation "androidx.recyclerview:recyclerview:1.4.0" - implementation "androidx.preference:preference-ktx:1.2.1" + implementation libs.androidx.recyclerview + implementation libs.androidx.preference.ktx - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2' - implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1' - implementation 'com.github.ChickenHook:RestrictionBypass:2.2' - implementation 'dev.rikka.tools.refine:runtime:4.4.0' + implementation libs.kotlinx.coroutines.android + implementation libs.kotlinx.serialization.json + implementation libs.chickenhook.restrictionbypass + implementation libs.rikka.refine.runtime - implementation platform("androidx.compose:compose-bom:2025.10.00") - implementation "androidx.compose.ui:ui" - implementation "androidx.compose.ui:ui-util" - debugImplementation "androidx.compose.ui:ui-tooling" - implementation "androidx.compose.ui:ui-tooling-preview" - implementation "androidx.compose.ui:ui-text-google-fonts" - implementation "androidx.compose.foundation:foundation" - implementation "androidx.compose.material:material-icons-extended" - implementation "androidx.compose.material:material" - implementation "androidx.compose.runtime:runtime-livedata" - implementation 'androidx.compose.material3:material3' - implementation 'androidx.compose.material3:material3-window-size-class' - implementation "androidx.activity:activity-compose:1.11.0" - implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.9.4" - implementation "androidx.navigation:navigation-compose:2.9.5" - implementation "androidx.constraintlayout:constraintlayout:2.2.1" - implementation "androidx.palette:palette-ktx:1.0.0" - implementation "androidx.slice:slice-core:1.1.0-alpha02" - def accompanistVersion = '0.37.3' - implementation "com.google.accompanist:accompanist-adaptive:$accompanistVersion" - implementation "com.google.accompanist:accompanist-drawablepainter:$accompanistVersion" - implementation "com.google.accompanist:accompanist-permissions:$accompanistVersion" - implementation "com.google.android.material:material:1.13.0" - implementation "io.github.fornewid:material-motion-compose-core:1.2.1" - implementation 'dev.kdrag0n:colorkt:1.0.5' - implementation 'io.coil-kt:coil-compose:2.7.0' - implementation 'me.xdrop:fuzzywuzzy:1.4.0' - def optoVersion = "1.0.18" - implementation "com.patrykmichalik.opto:domain:$optoVersion" - implementation "com.patrykmichalik.opto:core:$optoVersion" - implementation "com.patrykmichalik.opto:compose:$optoVersion" - implementation "androidx.datastore:datastore-preferences:1.1.7" - def retrofitVersion = "3.0.0" - implementation "com.squareup.retrofit2:retrofit:$retrofitVersion" - implementation "com.squareup.retrofit2:converter-kotlinx-serialization:$retrofitVersion" - implementation "com.squareup.okhttp3:okhttp:5.2.1" + implementation platform(libs.compose.bom) + implementation libs.compose.ui + implementation libs.compose.ui.util + debugImplementation libs.compose.ui.tooling + implementation libs.compose.ui.tooling.preview + implementation libs.compose.ui.google.fonts + implementation libs.compose.foundation + implementation libs.compose.material.icons + implementation libs.compose.material + implementation libs.compose.runtime.livedata + implementation libs.compose.material3 + implementation libs.compose.material3.windowSizeClass + implementation libs.androidx.activity.compose + implementation libs.androidx.lifecycle.viewmodel.compose + implementation libs.androidx.navigation.compose + implementation libs.androidx.constraintlayout + implementation libs.androidx.palette.ktx + implementation libs.androidx.slice.core + implementation libs.bundles.accompanist + implementation libs.google.material + implementation libs.material.motion.compose + implementation libs.kdrag0n.colorkt + implementation libs.coil.compose + implementation libs.xdrop.fuzzywuzzy - def roomVersion = '2.7.2' - implementation "androidx.room:room-runtime:$roomVersion" - implementation "androidx.room:room-ktx:$roomVersion" - ksp "androidx.room:room-compiler:$roomVersion" + implementation libs.bundles.opto + implementation libs.androidx.datastore.preferences - implementation "com.github.topjohnwu.libsu:service:6.0.0" + implementation libs.bundles.retrofit + + implementation libs.bundles.room + ksp libs.room.compiler + + implementation libs.libsu.service // Persian Date - implementation 'com.github.samanzamani:PersianDate:1.7.1' + implementation libs.persian.date - implementation 'com.airbnb.android:lottie:6.6.10' + implementation libs.airbnb.lottie // Compose drag and drop library - implementation 'sh.calvin.reorderable:reorderable:2.5.1' + implementation libs.reorderable // Smartspacer - implementation('com.kieronquinn.smartspacer:sdk-client:1.1.2') { + implementation(libs.smartspacer.sdk) { exclude group: "com.github.skydoves", module: "balloon" } - implementation 'io.github.hokofly:hoko-blur:1.5.5' + implementation libs.hoko.blur - implementation "androidx.window:window:1.5.0" + implementation libs.androidx.window } ksp { @@ -488,8 +477,8 @@ licensee { allow(SpdxId.Apache_20) allow(SpdxId.BSD_3_Clause) allow(SpdxId.GPL_20_or_later) - allowDependency("com.github.topjohnwu.libsu", "core", "6.0.0") - allowDependency("com.github.topjohnwu.libsu", "service", "6.0.0") + allowDependency("com.github.topjohnwu.libsu", "core", "${libs.versions.libsu.get()}") + allowDependency("com.github.topjohnwu.libsu", "service", "${libs.versions.libsu.get()}") allowUrl("https://github.com/patrykmichalik/opto/blob/master/LICENSE") allowUrl("https://github.com/RikkaApps/HiddenApiRefinePlugin/blob/main/LICENSE") allowUrl("https://opensource.org/licenses/mit-license.php") diff --git a/compatLib/build.gradle b/compatLib/build.gradle index 3f516a899e..7813d645c4 100644 --- a/compatLib/build.gradle +++ b/compatLib/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { diff --git a/compatLib/compatLibVQ/build.gradle b/compatLib/compatLibVQ/build.gradle index 6612b081b7..ef00fa6dd1 100644 --- a/compatLib/compatLibVQ/build.gradle +++ b/compatLib/compatLibVQ/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { diff --git a/compatLib/compatLibVR/build.gradle b/compatLib/compatLibVR/build.gradle index f986eac6fb..a7fc5a3dca 100644 --- a/compatLib/compatLibVR/build.gradle +++ b/compatLib/compatLibVR/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { diff --git a/compatLib/compatLibVS/build.gradle b/compatLib/compatLibVS/build.gradle index 9f7b402a26..edc8d7699d 100644 --- a/compatLib/compatLibVS/build.gradle +++ b/compatLib/compatLibVS/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { diff --git a/compatLib/compatLibVT/build.gradle b/compatLib/compatLibVT/build.gradle index 101c48a87a..6ded6f55a8 100644 --- a/compatLib/compatLibVT/build.gradle +++ b/compatLib/compatLibVT/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { diff --git a/compatLib/compatLibVU/build.gradle b/compatLib/compatLibVU/build.gradle index f97b512e0b..33bfad7094 100644 --- a/compatLib/compatLibVU/build.gradle +++ b/compatLib/compatLibVU/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { diff --git a/compatLib/compatLibVV/build.gradle b/compatLib/compatLibVV/build.gradle index 3f6535b56d..cd31b1a805 100644 --- a/compatLib/compatLibVV/build.gradle +++ b/compatLib/compatLibVV/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { diff --git a/flags/build.gradle b/flags/build.gradle index d3ace21187..0dd01c027a 100644 --- a/flags/build.gradle +++ b/flags/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000000..db56458113 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,167 @@ +[versions] +accompanist = "0.37.3" +benchmarkMacroJunit4 = "1.4.0" +concurrentFutures = "1.3.0" +coreAnimation = "1.0.0" +coreKtx = "1.17.0" +error_prone_annotations = "2.41.0" +espressoCore = "3.7.0" +junit = "1.3.0" +opto = "1.0.18" +protocVersion = "4.32.0" +retrofit = "3.0.0" +room = "2.7.2" + +activityCompose = "1.10.1" +airbnbLottie = "6.6.7" +androidDesugar = "2.1.5" +coil = "2.7.0" +composeBom = "2025.08.00" +compose = "1.9.0" +composeMaterial = "1.9.0" +composeMaterial3 = "1.4.0-beta02" +composeMaterialIcons = "1.7.8" +constraintlayout = "2.2.1" +dagger = "2.55" +datastore = "1.1.7" +dynamicanimation = "1.1.0" +fuzzywuzzy = "1.4.0" +googleMaterial = "1.12.0" +hokoBlur = "1.5.5" +kdrag0nColorkt = "1.0.5" +kotlinxCoroutines = "1.10.2" +kotlinxSerialization = "1.8.1" +libsu = "6.0.0" +lifecycle = "2.9.2" +materialMotionCompose = "1.2.1" +navigationCompose = "2.9.3" +okhttp = "5.1.0" +palette = "1.0.0" +persianDate = "1.7.1" +preference = "1.2.1" +profileinstaller = "1.4.1" +recyclerview = "1.4.0" +reorderable = "2.5.1" +restrictionBypass = "2.2" +rikkaRefine = "4.4.0" +slice = "1.1.0-alpha02" +smartspacer = "1.1.2" +uiautomator = "2.3.0" +window = "1.4.0" + +agp = "8.12.1" +baselineprofile = "1.4.0" +ksp = "2.1.10-1.0.31" +kotlin = "2.1.10" +protobuf = "0.9.5" +licensee = "1.14.1" +refine = "4.4.0" +spotless = "7.2.1" + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp" } +android-test = { id = "com.android.test", version.ref = "agp" } +androidx-baselineprofile = { id = "androidx.baselineprofile", version.ref = "baselineprofile" } + +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +google-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +google-protobuf = { id = "com.google.protobuf", version.ref = "protobuf" } +cash-licensee = { id = "app.cash.licensee", version.ref = "licensee" } +rikka-refine = { id = "dev.rikka.tools.refine", version.ref = "refine" } +diffplug-spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } + +[libraries] +# AndroidX +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" } +androidx-benchmark-macro-junit4 = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "benchmarkMacroJunit4" } +androidx-concurrent-futures = { module = "androidx.concurrent:concurrent-futures", version.ref = "concurrentFutures" } +androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } +androidx-core-animation = { module = "androidx.core:core-animation", version.ref = "coreAnimation" } +androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" } +androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore" } +androidx-dynamicanimation = { module = "androidx.dynamicanimation:dynamicanimation", version.ref = "dynamicanimation" } +androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" } +androidx-junit = { module = "androidx.test.ext:junit", version.ref = "junit" } +androidx-lifecycle-common = { module = "androidx.lifecycle:lifecycle-common", version.ref = "lifecycle" } +androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" } +androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" } +androidx-palette-ktx = { group = "androidx.palette", name = "palette-ktx", version.ref = "palette" } +androidx-preference-ktx = { group = "androidx.preference", name = "preference-ktx", version.ref = "preference" } +androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "profileinstaller" } +androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" } +androidx-slice-core = { group = "androidx.slice", name = "slice-core", version.ref = "slice" } +androidx-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version.ref = "uiautomator" } +androidx-window = { group = "androidx.window", name = "window", version.ref = "window" } + +# Compose +compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" } +compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "compose" } +compose-material = { group = "androidx.compose.material", name = "material", version.ref = "composeMaterial" } +compose-material-icons = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "composeMaterialIcons" } +compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "composeMaterial3" } +compose-material3-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class", version.ref = "composeMaterial3" } +compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "compose" } +compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose" } +compose-ui-google-fonts = { group = "androidx.compose.ui", name = "ui-text-google-fonts", version.ref = "compose" } +compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose" } +compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "compose" } +compose-ui-util = { group = "androidx.compose.ui", name = "ui-util", version.ref = "compose" } + +# Dagger & Hilt +error_prone_annotations = { module = "com.google.errorprone:error_prone_annotations", version.ref = "error_prone_annotations" } +hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "dagger" } +hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "dagger" } + +# Accompanist +accompanist-adaptive = { group = "com.google.accompanist", name = "accompanist-adaptive", version.ref = "accompanist" } +accompanist-drawablepainter = { group = "com.google.accompanist", name = "accompanist-drawablepainter", version.ref = "accompanist" } +accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" } + +# Opto +kotlin-stdlib-jdk7 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk7", version.ref = "kotlin" } +opto-core = { group = "com.patrykmichalik.opto", name = "core", version.ref = "opto" } +opto-compose = { group = "com.patrykmichalik.opto", name = "compose", version.ref = "opto" } +opto-domain = { group = "com.patrykmichalik.opto", name = "domain", version.ref = "opto" } + +# Retrofit & OkHttp +protobuf-javalite = { module = "com.google.protobuf:protobuf-javalite", version.ref = "protocVersion" } +retrofit-core = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } +retrofit-converter-kotlinx = { group = "com.squareup.retrofit2", name = "converter-kotlinx-serialization", version.ref = "retrofit" } +okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } + +# Room +room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" } +room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" } +room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" } + +# KotlinX +kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutines" } +kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" } + +# Other +android-desugarJdkLibs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "androidDesugar" } +airbnb-lottie = { group = "com.airbnb.android", name = "lottie", version.ref = "airbnbLottie" } +chickenhook-restrictionbypass = { group = "com.github.ChickenHook", name = "RestrictionBypass", version.ref = "restrictionBypass" } +coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" } +google-material = { group = "com.google.android.material", name = "material", version.ref = "googleMaterial" } +hoko-blur = { group = "io.github.hokofly", name = "hoko-blur", version.ref = "hokoBlur" } +kdrag0n-colorkt = { group = "dev.kdrag0n", name = "colorkt", version.ref = "kdrag0nColorkt" } +libsu-service = { group = "com.github.topjohnwu.libsu", name = "service", version.ref = "libsu" } +material-motion-compose = { group = "io.github.fornewid", name = "material-motion-compose-core", version.ref = "materialMotionCompose" } +persian-date = { group = "com.github.samanzamani", name = "PersianDate", version.ref = "persianDate" } +reorderable = { group = "sh.calvin.reorderable", name = "reorderable", version.ref = "reorderable" } +rikka-annotation = { module = "dev.rikka.tools.refine:annotation", version.ref = "rikkaRefine" } +rikka-annotation-processor = { module = "dev.rikka.tools.refine:annotation-processor", version.ref = "rikkaRefine" } +rikka-refine-runtime = { group = "dev.rikka.tools.refine", name = "runtime", version.ref = "rikkaRefine" } +smartspacer-sdk = { group = "com.kieronquinn.smartspacer", name = "sdk-client", version.ref = "smartspacer" } +xdrop-fuzzywuzzy = { group = "me.xdrop", name = "fuzzywuzzy", version.ref = "fuzzywuzzy" } + +[bundles] +accompanist = ["accompanist-adaptive", "accompanist-drawablepainter", "accompanist-permissions"] +opto = ["opto-domain", "opto-core", "opto-compose"] +retrofit = ["retrofit-core", "retrofit-converter-kotlinx", "okhttp"] +room = ["room-runtime", "room-ktx"] diff --git a/hidden-api/build.gradle b/hidden-api/build.gradle index b3aeb1ccd9..6a486f51bd 100644 --- a/hidden-api/build.gradle +++ b/hidden-api/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.library' + alias(libs.plugins.android.library) } android { @@ -18,6 +18,6 @@ android { } dependencies { - annotationProcessor 'dev.rikka.tools.refine:annotation-processor:4.4.0' - compileOnly 'dev.rikka.tools.refine:annotation:4.4.0' + annotationProcessor libs.rikka.annotation.processor + compileOnly libs.rikka.annotation } diff --git a/systemUI/anim/build.gradle b/systemUI/anim/build.gradle index 0572ff52f8..41de7d5500 100644 --- a/systemUI/anim/build.gradle +++ b/systemUI/anim/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { @@ -22,7 +22,7 @@ addFrameworkJar('framework-15.jar') compileOnlyCommonJars() dependencies { - implementation 'androidx.core:core-animation:1.0.0' + implementation libs.androidx.core.animation compileOnly projects.animationlib compileOnly projects.wmshell compileOnly projects.flags diff --git a/systemUI/common/build.gradle b/systemUI/common/build.gradle index 38842570a7..f528016016 100644 --- a/systemUI/common/build.gradle +++ b/systemUI/common/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { diff --git a/systemUI/log/build.gradle b/systemUI/log/build.gradle index bf87554358..4c39e8eab1 100644 --- a/systemUI/log/build.gradle +++ b/systemUI/log/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { @@ -23,5 +23,5 @@ compileOnlyCommonJars() dependencies { compileOnly projects.plugincore compileOnly projects.common - implementation 'com.google.errorprone:error_prone_annotations:2.42.0' + implementation libs.error.prone.annotations } diff --git a/systemUI/plugin/build.gradle b/systemUI/plugin/build.gradle index 63c01fb404..0fbfcc05a4 100644 --- a/systemUI/plugin/build.gradle +++ b/systemUI/plugin/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { diff --git a/systemUI/plugin_core/build.gradle b/systemUI/plugin_core/build.gradle index 06ca335af0..77d4f8ade2 100644 --- a/systemUI/plugin_core/build.gradle +++ b/systemUI/plugin_core/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { diff --git a/systemUI/shared/build.gradle b/systemUI/shared/build.gradle index a64cf0ebba..ba8a2b9083 100644 --- a/systemUI/shared/build.gradle +++ b/systemUI/shared/build.gradle @@ -1,7 +1,7 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' - id 'com.google.devtools.ksp' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.google.ksp) } android { @@ -32,8 +32,8 @@ dependencies { compileOnly projects.plugincore compileOnly projects.flags - implementation "com.google.dagger:hilt-android:$daggerVersion" - ksp "com.google.dagger:hilt-compiler:$daggerVersion" + implementation libs.hilt.android + ksp libs.hilt.compiler - implementation "androidx.concurrent:concurrent-futures:1.3.0" + implementation libs.androidx.concurrent.futures } diff --git a/systemUI/unfold/build.gradle b/systemUI/unfold/build.gradle index 91f5bf9406..741e54fad9 100644 --- a/systemUI/unfold/build.gradle +++ b/systemUI/unfold/build.gradle @@ -1,7 +1,7 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' - id 'com.google.devtools.ksp' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.google.ksp) } android { @@ -25,11 +25,11 @@ addFrameworkJar('framework-15.jar') compileOnlyCommonJars() dependencies { - implementation "com.google.dagger:hilt-android:$daggerVersion" - ksp "com.google.dagger:hilt-compiler:$daggerVersion" + implementation libs.hilt.android + ksp libs.hilt.compiler - implementation "androidx.concurrent:concurrent-futures:1.3.0" - implementation "androidx.lifecycle:lifecycle-common:2.9.4" + implementation libs.androidx.concurrent.futures + implementation libs.androidx.lifecycle.common compileOnly projects.androidxLib } diff --git a/systemUI/viewcapture/build.gradle b/systemUI/viewcapture/build.gradle index 860aaa5f18..d965880433 100644 --- a/systemUI/viewcapture/build.gradle +++ b/systemUI/viewcapture/build.gradle @@ -1,7 +1,7 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' - id 'com.google.protobuf' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.google.protobuf) } android { diff --git a/wmshell/build.gradle b/wmshell/build.gradle index 8e954cb72f..3e1ce19aa9 100644 --- a/wmshell/build.gradle +++ b/wmshell/build.gradle @@ -1,7 +1,7 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' - id 'com.google.devtools.ksp' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.google.ksp) } android { @@ -23,8 +23,8 @@ addFrameworkJar('framework-15.jar') compileOnlyCommonJars() dependencies { - implementation "com.google.dagger:hilt-android:$daggerVersion" - ksp "com.google.dagger:hilt-compiler:$daggerVersion" - implementation 'androidx.core:core-animation:1.0.0' - implementation 'androidx.dynamicanimation:dynamicanimation:1.1.0' + implementation libs.hilt.android + ksp libs.hilt.compiler + implementation libs.androidx.core.animation + implementation libs.androidx.dynamicanimation }