From ba3170362e4ac8d8f973fef6294105abf28012e2 Mon Sep 17 00:00:00 2001 From: Justin Bassett Date: Sat, 29 Jul 2023 11:11:08 -0400 Subject: [PATCH] First Steps into making Gradle Catalogs (#3724) * First Steps into making Gradle Catalogs * Rename a couple dependencies. * Downgrade compose compiler since it'll take more to bump the kotlin version apparently. * Code review comments. * Refactoring these are painful. * Now I know my ABC, next time wont you sing with me.... --- app/build.gradle.kts | 112 +++++++++++++-------------- automotive/build.gradle.kts | 112 +++++++++++++-------------- build.gradle.kts | 17 ++-- common/build.gradle.kts | 42 +++++----- gradle/libs.versions.toml | 149 ++++++++++++++++++++++++++++++++++++ wear/build.gradle.kts | 72 ++++++++--------- 6 files changed, 326 insertions(+), 178 deletions(-) create mode 100644 gradle/libs.versions.toml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cfcf078c2..7d40b533b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -46,7 +46,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = "1.4.8" + kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get() } kotlinOptions { @@ -141,74 +141,74 @@ play { dependencies { implementation(project(":common")) - implementation("com.github.Dimezis:BlurView:version-1.6.6") + implementation(libs.blurView) - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.22") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.22") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.2") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.2") - "fullImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.7.2") + implementation(libs.kotlin.stdlib) + implementation(libs.kotlin.reflect) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.coroutines.android) + "fullImplementation"(libs.kotlinx.coroutines.play.services) - implementation("com.google.dagger:hilt-android:2.47") - kapt("com.google.dagger:hilt-android-compiler:2.47") + implementation(libs.hilt.android) + kapt(libs.hilt.android.compiler) - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") - implementation("androidx.constraintlayout:constraintlayout:2.1.4") - implementation("androidx.recyclerview:recyclerview:1.3.1") - implementation("androidx.preference:preference-ktx:1.2.0") - implementation("com.google.android.material:material:1.9.0") - implementation("androidx.fragment:fragment-ktx:1.6.1") + implementation(libs.appcompat) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.constraintlayout) + implementation(libs.recyclerview) + implementation(libs.preference.ktx) + implementation(libs.material) + implementation(libs.fragment.ktx) - implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.5") - implementation("com.squareup.okhttp3:okhttp:4.11.0") - implementation("com.squareup.picasso:picasso:2.8") + implementation(libs.jackson.module.kotlin) + implementation(libs.okhttp) + implementation(libs.picasso) - "fullImplementation"("com.google.android.gms:play-services-location:21.0.1") - "fullImplementation"("com.google.android.gms:play-services-home:16.0.0") - "fullImplementation"("com.google.android.gms:play-services-threadnetwork:16.0.0") - "fullImplementation"(platform("com.google.firebase:firebase-bom:32.1.0")) - "fullImplementation"("com.google.firebase:firebase-messaging") - "fullImplementation"("io.sentry:sentry-android:6.26.0") - "fullImplementation"("com.google.android.gms:play-services-wearable:18.0.0") - "fullImplementation"("androidx.wear:wear-remote-interactions:1.0.0") + "fullImplementation"(libs.play.services.location) + "fullImplementation"(libs.play.services.home) + "fullImplementation"(libs.play.services.threadnetwork) + "fullImplementation"(platform(libs.firebase.bom)) + "fullImplementation"(libs.firebase.messaging) + "fullImplementation"(libs.sentry.android) + "fullImplementation"(libs.play.services.wearable) + "fullImplementation"(libs.wear.remote.interactions) - implementation("androidx.biometric:biometric:1.1.0") - implementation("androidx.webkit:webkit:1.7.0") + implementation(libs.biometric) + implementation(libs.webkit) - implementation("com.google.android.exoplayer:exoplayer-core:2.18.7") - implementation("com.google.android.exoplayer:exoplayer-hls:2.18.7") - implementation("com.google.android.exoplayer:exoplayer-ui:2.18.7") - "fullImplementation"("com.google.android.exoplayer:extension-cronet:2.18.7") - "minimalImplementation"("com.google.android.exoplayer:extension-cronet:2.18.7") { + implementation(libs.exoplayer.core) + implementation(libs.exoplayer.hls) + implementation(libs.exoplayer.ui) + "fullImplementation"(libs.extension.cronet) + "minimalImplementation"(libs.extension.cronet) { exclude(group = "com.google.android.gms", module = "play-services-cronet") } - "minimalImplementation"("org.chromium.net:cronet-embedded:113.5672.61") + "minimalImplementation"(libs.cronet.embedded) - implementation(platform("androidx.compose:compose-bom:2023.06.01")) - implementation("androidx.compose.animation:animation") - implementation("androidx.compose.compiler:compiler:1.5.1") - implementation("androidx.compose.foundation:foundation") - implementation("androidx.compose.material:material") - implementation("androidx.compose.material:material-icons-core") - implementation("androidx.compose.material:material-icons-extended") - implementation("androidx.compose.runtime:runtime") - implementation("androidx.compose.ui:ui") - implementation("androidx.compose.ui:ui-tooling") - implementation("androidx.activity:activity-compose:1.7.2") - implementation("androidx.navigation:navigation-compose:2.6.0") - implementation("com.google.accompanist:accompanist-systemuicontroller:0.30.1") - implementation("com.google.accompanist:accompanist-themeadapter-material:0.30.1") + implementation(platform(libs.compose.bom)) + implementation(libs.compose.animation) + implementation(libs.compose.compiler) + implementation(libs.compose.foundation) + implementation(libs.compose.material) + implementation(libs.compose.material.icons.core) + implementation(libs.compose.material.icons.extended) + implementation(libs.compose.runtime) + implementation(libs.compose.ui) + implementation(libs.compose.uiTooling) + implementation(libs.activity.compose) + implementation(libs.navigation.compose) + implementation(libs.accompanist.systemuicontroller) + implementation(libs.accompanist.themeadapter.material) - implementation("com.mikepenz:iconics-core:5.4.0") - implementation("com.mikepenz:iconics-compose:5.4.0") - implementation("com.mikepenz:community-material-typeface:7.0.96.0-kotlin@aar") + implementation(libs.iconics.core) + implementation(libs.iconics.compose) + implementation(libs.community.material.typeface) - implementation("org.burnoutcrew.composereorderable:reorderable:0.9.6") - implementation("com.github.AppDevNext:ChangeLog:3.4") + implementation(libs.reorderable) + implementation(libs.changeLog) - implementation("androidx.car.app:app:1.3.0-rc01") - "fullImplementation"("androidx.car.app:app-projected:1.3.0-rc01") + implementation(libs.car.core) + "fullImplementation"(libs.car.projected) } // Disable to fix memory leak and be compatible with the configuration cache. diff --git a/automotive/build.gradle.kts b/automotive/build.gradle.kts index 278b1bab4..b79d42e57 100644 --- a/automotive/build.gradle.kts +++ b/automotive/build.gradle.kts @@ -81,7 +81,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = "1.4.8" + kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get() } kotlinOptions { @@ -170,74 +170,74 @@ play { dependencies { implementation(project(":common")) - implementation("com.github.Dimezis:BlurView:version-1.6.6") + implementation(libs.blurView) - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.22") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.22") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.2") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.2") - "fullImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.7.2") + implementation(libs.kotlin.stdlib) + implementation(libs.kotlin.reflect) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.coroutines.android) + "fullImplementation"(libs.kotlinx.coroutines.play.services) - implementation("com.google.dagger:hilt-android:2.47") - kapt("com.google.dagger:hilt-android-compiler:2.47") + implementation(libs.hilt.android) + kapt(libs.hilt.android.compiler) - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") - implementation("androidx.constraintlayout:constraintlayout:2.1.4") - implementation("androidx.recyclerview:recyclerview:1.3.1") - implementation("androidx.preference:preference-ktx:1.2.0") - implementation("com.google.android.material:material:1.9.0") - implementation("androidx.fragment:fragment-ktx:1.6.1") + implementation(libs.appcompat) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.constraintlayout) + implementation(libs.recyclerview) + implementation(libs.preference.ktx) + implementation(libs.material) + implementation(libs.fragment.ktx) - implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.5") - implementation("com.squareup.okhttp3:okhttp:4.11.0") - implementation("com.squareup.picasso:picasso:2.8") + implementation(libs.jackson.module.kotlin) + implementation(libs.okhttp) + implementation(libs.picasso) - "fullImplementation"("com.google.android.gms:play-services-location:21.0.1") - "fullImplementation"("com.google.android.gms:play-services-home:16.0.0") - "fullImplementation"("com.google.android.gms:play-services-threadnetwork:16.0.0") - "fullImplementation"(platform("com.google.firebase:firebase-bom:32.1.0")) - "fullImplementation"("com.google.firebase:firebase-messaging") - "fullImplementation"("io.sentry:sentry-android:6.26.0") - "fullImplementation"("com.google.android.gms:play-services-wearable:18.0.0") - "fullImplementation"("androidx.wear:wear-remote-interactions:1.0.0") + "fullImplementation"(libs.play.services.location) + "fullImplementation"(libs.play.services.home) + "fullImplementation"(libs.play.services.threadnetwork) + "fullImplementation"(platform(libs.firebase.bom)) + "fullImplementation"(libs.firebase.messaging) + "fullImplementation"(libs.sentry.android) + "fullImplementation"(libs.play.services.wearable) + "fullImplementation"(libs.wear.remote.interactions) - implementation("androidx.biometric:biometric:1.1.0") - implementation("androidx.webkit:webkit:1.7.0") + implementation(libs.biometric) + implementation(libs.webkit) - implementation("com.google.android.exoplayer:exoplayer-core:2.18.7") - implementation("com.google.android.exoplayer:exoplayer-hls:2.18.7") - implementation("com.google.android.exoplayer:exoplayer-ui:2.18.7") - "fullImplementation"("com.google.android.exoplayer:extension-cronet:2.18.7") - "minimalImplementation"("com.google.android.exoplayer:extension-cronet:2.18.7") { + implementation(libs.exoplayer.core) + implementation(libs.exoplayer.hls) + implementation(libs.exoplayer.ui) + "fullImplementation"(libs.extension.cronet) + "minimalImplementation"(libs.extension.cronet) { exclude(group = "com.google.android.gms", module = "play-services-cronet") } - "minimalImplementation"("org.chromium.net:cronet-embedded:113.5672.61") + "minimalImplementation"(libs.cronet.embedded) - implementation(platform("androidx.compose:compose-bom:2023.06.01")) - implementation("androidx.compose.animation:animation") - implementation("androidx.compose.compiler:compiler:1.5.1") - implementation("androidx.compose.foundation:foundation") - implementation("androidx.compose.material:material") - implementation("androidx.compose.material:material-icons-core") - implementation("androidx.compose.material:material-icons-extended") - implementation("androidx.compose.runtime:runtime") - implementation("androidx.compose.ui:ui") - implementation("androidx.compose.ui:ui-tooling") - implementation("androidx.activity:activity-compose:1.7.2") - implementation("androidx.navigation:navigation-compose:2.6.0") - implementation("com.google.accompanist:accompanist-systemuicontroller:0.30.1") - implementation("com.google.accompanist:accompanist-themeadapter-material:0.30.1") + implementation(platform(libs.compose.bom)) + implementation(libs.compose.animation) + implementation(libs.compose.compiler) + implementation(libs.compose.foundation) + implementation(libs.compose.material) + implementation(libs.compose.material.icons.core) + implementation(libs.compose.material.icons.extended) + implementation(libs.compose.runtime) + implementation(libs.compose.ui) + implementation(libs.compose.uiTooling) + implementation(libs.activity.compose) + implementation(libs.navigation.compose) + implementation(libs.accompanist.systemuicontroller) + implementation(libs.accompanist.themeadapter.material) - implementation("com.mikepenz:iconics-core:5.4.0") - implementation("com.mikepenz:iconics-compose:5.4.0") - implementation("com.mikepenz:community-material-typeface:7.0.96.0-kotlin@aar") + implementation(libs.iconics.core) + implementation(libs.iconics.compose) + implementation(libs.community.material.typeface) - implementation("org.burnoutcrew.composereorderable:reorderable:0.9.6") - implementation("com.github.AppDevNext:ChangeLog:3.4") + implementation(libs.reorderable) + implementation(libs.changeLog) - implementation("androidx.car.app:app:1.3.0-rc01") - implementation("androidx.car.app:app-automotive:1.3.0-rc01") + implementation(libs.car.core) + implementation(libs.car.automotive) } // Disable to fix memory leak and be compatible with the configuration cache. diff --git a/build.gradle.kts b/build.gradle.kts index ce6af434a..9777b1e35 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id("org.jlleitschuh.gradle.ktlint") version "11.5.0" - id("com.github.ben-manes.versions") version "0.47.0" + alias(libs.plugins.ktlint) } buildscript { @@ -11,13 +10,13 @@ buildscript { gradlePluginPortal() } dependencies { - classpath("com.android.tools.build:gradle:8.0.2") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.22") - classpath("com.google.gms:google-services:4.3.15") - classpath("com.google.firebase:firebase-appdistribution-gradle:4.0.0") - classpath("de.mannodermaus.gradle.plugins:android-junit5:1.9.3.0") - classpath("com.github.triplet.gradle:play-publisher:3.8.4") - classpath("com.google.dagger:hilt-android-gradle-plugin:2.47") + classpath(libs.android.plugin) + classpath(libs.kotlin.gradle.plugin) + classpath(libs.google.services) + classpath(libs.firebase.appdistribution.gradle) + classpath(libs.android.junit5) + classpath(libs.play.publisher) + classpath(libs.hilt.android.gradle.plugin) } } diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 1f750934f..379de0348 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -55,34 +55,34 @@ android { } dependencies { - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.22") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.22") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.2") + implementation(libs.kotlin.stdlib) + implementation(libs.kotlin.reflect) + implementation(libs.kotlinx.coroutines.core) - implementation("com.google.dagger:hilt-android:2.47") - kapt("com.google.dagger:hilt-android-compiler:2.47") + implementation(libs.hilt.android) + kapt(libs.hilt.android.compiler) - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") - implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1") + implementation(libs.appcompat) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.androidx.lifecycle.viewmodel.ktx) - api("androidx.room:room-runtime:2.5.2") - api("androidx.room:room-ktx:2.5.2") - kapt("androidx.room:room-compiler:2.5.2") + api(libs.androidx.room.runtime) + api(libs.androidx.room.ktx) + kapt(libs.androidx.room.compiler) - api("androidx.work:work-runtime-ktx:2.8.1") + api(libs.androidx.work.runtime.ktx) - api("com.squareup.retrofit2:retrofit:2.9.0") - implementation("com.squareup.retrofit2:converter-jackson:2.9.0") - implementation("com.squareup.okhttp3:okhttp:4.11.0") - implementation("com.squareup.okhttp3:logging-interceptor:4.11.0") - implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.5") - implementation("org.altbeacon:android-beacon-library:2.19.6") + api(libs.retrofit) + implementation(libs.converter.jackson) + implementation(libs.okhttp) + implementation(libs.logging.interceptor) + implementation(libs.jackson.module.kotlin) + implementation(libs.android.beacon.library) - implementation("com.mikepenz:iconics-core:5.4.0") - implementation("com.mikepenz:community-material-typeface:7.0.96.0-kotlin@aar") + implementation(libs.iconics.core) + implementation(libs.community.material.typeface) - implementation("com.vdurmont:emoji-java:5.1.1") { + implementation(libs.emojiJava) { exclude(group = "org.json", module = "json") } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 000000000..4b64add55 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,149 @@ +[versions] +accompanist = "0.30.1" +activity-compose = "1.7.2" +androidBeaconLibrary = "2.19.6" +androidJunit5 = "1.9.3.0" +androidPlugin = "8.0.2" +appcompat = "1.6.1" +biometric = "1.1.0" +blurView = "version-1.6.6" +car-versions = "1.3.0-rc01" +changeLog = "3.4" +community-material-typeface = "7.0.96.0-kotlin" +compose-bom = "2023.06.01" +compose-compiler = "1.4.8" +constraintlayout = "2.1.4" +converterJackson = "2.9.0" +coreKtx = "1.10.1" +cronet-embedded = "113.5672.61" +emojiJava = "5.1.1" +exoplayer = "2.19.0" +firebase-bom = "32.2.0" +firebaseAppdistributionGradle = "4.0.0" +fragment-ktx = "1.6.1" +googleServices = "4.3.15" +guava = "32.1.1-android" +healthServicesClient = "1.0.0-rc01" +hilt = "2.47" +iconics = "5.4.0" +jackson-module-kotlin = "2.13.5" +kotlinx-coroutines = "1.7.2" +kotlin = "1.8.22" +ktlint = "11.5.0" +lifecycle = "2.6.1" +loggingInterceptor = "4.11.0" +material = "1.9.0" +navigation-compose = "2.6.0" +okhttp = "4.11.0" +picasso = "2.8" +play-services-threadnetwork = "16.0.0" +play-services-home = "16.0.0" +play-services-location = "21.0.1" +play-services-wearable = "18.0.0" +playPublisher = "3.8.4" +preference-ktx = "1.2.0" +recyclerview = "1.3.1" +reorderable = "0.9.6" +retrofit = "2.9.0" +room = "2.5.2" +sentry-android = "6.26.0" +watchfaceComplicationsDataSourceKtx = "1.1.1" +wear = "1.2.0" +wear-compose-foundation = "1.1.2" +wear-tiles = "1.1.0" +wearPhoneInteractions = "1.0.1" +wearInput = "1.2.0-alpha02" +webkit = "1.7.0" +wear-remote-interactions = "1.0.0" +workRuntimeKtx = "2.8.1" + +[plugins] +ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" } + +[libraries] +accompanist-themeadapter-material = { module = "com.google.accompanist:accompanist-themeadapter-material", version.ref = "accompanist" } +accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" } +activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" } +activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "activity-compose" } +android-beacon-library = { module = "org.altbeacon:android-beacon-library", version.ref = "androidBeaconLibrary" } +android-plugin = { module = "com.android.tools.build:gradle", version.ref = "androidPlugin" } +android-junit5 = { module = "de.mannodermaus.gradle.plugins:android-junit5", version.ref = "androidJunit5" } +androidx-health-services-client = { module = "androidx.health:health-services-client", version.ref = "healthServicesClient" } +androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } +androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" } +androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" } +androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycle" } +androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle" } +androidx-watchface-complications-data-source-ktx = { module = "androidx.wear.watchface:watchface-complications-data-source-ktx", version.ref = "watchfaceComplicationsDataSourceKtx" } +androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntimeKtx" } +appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } +biometric = { module = "androidx.biometric:biometric", version.ref = "biometric" } +blurView = { module = "com.github.Dimezis:BlurView", version.ref = "blurView" } +car-core = { module = "androidx.car.app:app", version.ref = "car-versions" } +car-automotive = { module = "androidx.car.app:app-automotive", version.ref = "car-versions" } +car-projected = { module = "androidx.car.app:app-projected", version.ref = "car-versions" } +changeLog = { module = "com.github.AppDevNext:ChangeLog", version.ref = "changeLog" } +community-material-typeface = { module = "com.mikepenz:community-material-typeface", version.ref = "community-material-typeface" } +compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" } +compose-animation = { module = "androidx.compose.animation:animation" } +compose-foundation = { module = "androidx.compose.foundation:foundation" } +compose-material = { module = "androidx.compose.material:material" } +compose-material-icons-core = { module = "androidx.compose.material:material-icons-core" } +compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" } +compose-runtime = { module = "androidx.compose.runtime:runtime" } +compose-ui = { module = "androidx.compose.ui:ui" } +compose-uiTooling = { module = "androidx.compose.ui:ui-tooling" } +compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "compose-compiler" } +converter-jackson = { module = "com.squareup.retrofit2:converter-jackson", version.ref = "converterJackson" } +core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" } +cronet-embedded = { module = "org.chromium.net:cronet-embedded", version.ref = "cronet-embedded" } +emojiJava = { module = "com.vdurmont:emoji-java", version.ref = "emojiJava" } +extension-cronet = { module = "com.google.android.exoplayer:extension-cronet", version.ref = "exoplayer" } +exoplayer-ui = { module = "com.google.android.exoplayer:exoplayer-ui", version.ref = "exoplayer" } +exoplayer-hls = { module = "com.google.android.exoplayer:exoplayer-hls", version.ref = "exoplayer" } +exoplayer-core = { module = "com.google.android.exoplayer:exoplayer-core", version.ref = "exoplayer" } +firebase-appdistribution-gradle = { module = "com.google.firebase:firebase-appdistribution-gradle", version.ref = "firebaseAppdistributionGradle" } +firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebase-bom" } +firebase-messaging = { module = "com.google.firebase:firebase-messaging" } +fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragment-ktx" } +constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" } +google-services = { module = "com.google.gms:google-services", version.ref = "googleServices" } +guava = { module = "com.google.guava:guava", version.ref = "guava" } +hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" } +hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" } +hilt-android-gradle-plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" } +iconics-compose = { module = "com.mikepenz:iconics-compose", version.ref = "iconics" } +iconics-core = { module = "com.mikepenz:iconics-core", version.ref = "iconics" } +jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson-module-kotlin" } +kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-play-services = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } +kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" } +kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } +logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "loggingInterceptor" } +navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigation-compose" } +okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } +material = { module = "com.google.android.material:material", version.ref = "material" } +play-publisher = { module = "com.github.triplet.gradle:play-publisher", version.ref = "playPublisher" } +play-services-threadnetwork = { module = "com.google.android.gms:play-services-threadnetwork", version.ref = "play-services-threadnetwork" } +play-services-home = { module = "com.google.android.gms:play-services-home", version.ref = "play-services-home" } +play-services-location = { module = "com.google.android.gms:play-services-location", version.ref = "play-services-location" } +picasso = { module = "com.squareup.picasso:picasso", version.ref = "picasso" } +play-services-wearable = { module = "com.google.android.gms:play-services-wearable", version.ref = "play-services-wearable" } +preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "preference-ktx" } +recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" } +reorderable = { module = "org.burnoutcrew.composereorderable:reorderable", version.ref = "reorderable" } +retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } +sentry-android = { module = "io.sentry:sentry-android", version.ref = "sentry-android" } +wear = { module = "androidx.wear:wear", version.ref = "wear" } +wear-compose-foundation = { module = "androidx.wear.compose:compose-foundation", version.ref = "wear-compose-foundation" } +wear-compose-material = { module = "androidx.wear.compose:compose-material", version.ref = "wear-compose-foundation" } +wear-compose-navigation = { module = "androidx.wear.compose:compose-navigation", version.ref = "wear-compose-foundation" } +wear-phone-interactions = { module = "androidx.wear:wear-phone-interactions", version.ref = "wearPhoneInteractions" } +wear-input = { module = "androidx.wear:wear-input", version.ref = "wearInput" } +wear-remote-interactions = { module = "androidx.wear:wear-remote-interactions", version.ref = "wear-remote-interactions" } +wear-tiles-material = { module = "androidx.wear.tiles:tiles-material", version.ref = "wear-tiles" } +wear-tiles = { module = "androidx.wear.tiles:tiles", version.ref = "wear-tiles" } +webkit = { module = "androidx.webkit:webkit", version.ref = "webkit" } diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts index 027b89f58..666d6b237 100644 --- a/wear/build.gradle.kts +++ b/wear/build.gradle.kts @@ -35,7 +35,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = "1.4.8" + kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get() } signingConfigs { @@ -88,51 +88,51 @@ play { dependencies { implementation(project(":common")) - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.22") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.2") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.7.2") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.7.2") + implementation(libs.kotlin.stdlib) + implementation(libs.kotlinx.coroutines.android) + implementation(libs.kotlinx.coroutines.guava) + implementation(libs.kotlinx.coroutines.play.services) - implementation("com.google.android.material:material:1.9.0") + implementation(libs.material) - implementation("androidx.wear:wear:1.2.0") - implementation("androidx.core:core-ktx:1.10.1") - implementation("com.google.android.gms:play-services-wearable:18.0.0") - implementation("androidx.wear:wear-input:1.2.0-alpha02") - implementation("androidx.wear:wear-remote-interactions:1.0.0") - implementation("androidx.wear:wear-phone-interactions:1.0.1") + implementation(libs.wear) + implementation(libs.core.ktx) + implementation(libs.play.services.wearable) + implementation(libs.wear.input) + implementation(libs.wear.remote.interactions) + implementation(libs.wear.phone.interactions) - implementation("com.google.dagger:hilt-android:2.47") - kapt("com.google.dagger:hilt-android-compiler:2.47") + implementation(libs.hilt.android) + kapt(libs.hilt.android.compiler) - implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.5") - implementation("com.squareup.okhttp3:okhttp:4.11.0") + implementation(libs.jackson.module.kotlin) + implementation(libs.okhttp) - implementation("com.mikepenz:iconics-core:5.4.0") - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("com.mikepenz:community-material-typeface:7.0.96.0-kotlin@aar") - implementation("com.mikepenz:iconics-compose:5.4.0") + implementation(libs.iconics.core) + implementation(libs.appcompat) + implementation(libs.community.material.typeface) + implementation(libs.iconics.compose) - implementation("androidx.activity:activity-ktx:1.7.2") - implementation("androidx.activity:activity-compose:1.7.2") - implementation("androidx.compose.compiler:compiler:1.5.1") - implementation(platform("androidx.compose:compose-bom:2023.06.01")) - implementation("androidx.compose.foundation:foundation") - implementation("androidx.compose.ui:ui-tooling") - implementation("androidx.wear.compose:compose-foundation:1.1.2") - implementation("androidx.wear.compose:compose-material:1.1.2") - implementation("androidx.wear.compose:compose-navigation:1.1.2") + implementation(libs.activity.ktx) + implementation(libs.activity.compose) + implementation(libs.compose.compiler) + implementation(platform(libs.compose.bom)) + implementation(libs.compose.foundation) + implementation(libs.compose.uiTooling) + implementation(libs.wear.compose.foundation) + implementation(libs.wear.compose.material) + implementation(libs.wear.compose.navigation) - implementation("com.google.guava:guava:32.1.1-android") - implementation("androidx.wear.tiles:tiles:1.1.0") - implementation("androidx.wear.tiles:tiles-material:1.1.0") + implementation(libs.guava) + implementation(libs.wear.tiles) + implementation(libs.wear.tiles.material) - implementation("androidx.wear.watchface:watchface-complications-data-source-ktx:1.1.1") + implementation(libs.androidx.watchface.complications.data.source.ktx) - implementation("androidx.health:health-services-client:1.0.0-rc01") + implementation(libs.androidx.health.services.client) - implementation(platform("com.google.firebase:firebase-bom:32.1.0")) - implementation("com.google.firebase:firebase-messaging") + implementation(platform(libs.firebase.bom)) + implementation(libs.firebase.messaging) } // https://github.com/google/guava/releases/tag/v32.1.0: Reporting dependencies that overlap with Guava