From cbab0831609e64b4ba5eb32100ce1fd282ac35f8 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Wed, 3 Jan 2024 10:10:04 -0800 Subject: [PATCH 1/3] Add workflow to update dependencies. Change-Id: Ic667c05d37eee5738bc24b2a18b2182093abb5c0 --- .github/ci-gradle.properties | 26 +++++++++++++++++ .github/workflows/update_deps.yml | 37 +++++++++++++++++++++++++ build.gradle.kts | 4 +++ buildscripts/toml-updater-config.gradle | 18 ++++++++++++ gradle/libs.versions.toml | 14 ++++++---- 5 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 .github/ci-gradle.properties create mode 100644 .github/workflows/update_deps.yml diff --git a/.github/ci-gradle.properties b/.github/ci-gradle.properties new file mode 100644 index 000000000..9ba9603f3 --- /dev/null +++ b/.github/ci-gradle.properties @@ -0,0 +1,26 @@ +# +# Copyright 2020 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +org.gradle.daemon=false +org.gradle.parallel=true +org.gradle.jvmargs=-Xmx5120m +org.gradle.workers.max=2 + +kotlin.incremental=false +kotlin.compiler.execution.strategy=in-process + +# Controls KotlinOptions.allWarningsAsErrors. This is used in CI and can be set in local properties. +warningsAsErrors=true diff --git a/.github/workflows/update_deps.yml b/.github/workflows/update_deps.yml new file mode 100644 index 000000000..855e55f71 --- /dev/null +++ b/.github/workflows/update_deps.yml @@ -0,0 +1,37 @@ +name: Update Versions / Dependencies + +on: + schedule: + - cron: '9 0 1 * *' + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + - name: set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'zulu' + cache: gradle + + - name: Update dependencies + run: ./gradlew versionCatalogUpdate + - name: Create pull request + id: cpr + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.PAT }} + commit-message: 🤖 Update Dependencies + committer: compose-devrel-github-bot + author: compose-devrel-github-bot + signoff: false + branch: bot-update-deps + delete-branch: true + title: '🤖 Update Dependencies' + body: Updated depedencies + reviewers: ${{ github.actor }} diff --git a/build.gradle.kts b/build.gradle.kts index 7b15be8fa..469041147 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -28,8 +28,12 @@ plugins { alias(libs.plugins.spotless) alias(libs.plugins.ksp) apply false alias(libs.plugins.android.test) apply false + alias(libs.plugins.gradle.versions) + alias(libs.plugins.version.catalog.update) } +apply("${project.rootDir}/buildscripts/toml-updater-config.gradle") + spotless { kotlin { target("**/*.kt") diff --git a/buildscripts/toml-updater-config.gradle b/buildscripts/toml-updater-config.gradle index aeb54c5f8..af3a8bb51 100644 --- a/buildscripts/toml-updater-config.gradle +++ b/buildscripts/toml-updater-config.gradle @@ -26,3 +26,21 @@ versionCatalogUpdate { keepUnusedPlugins.set(true) } } + +def isNonStable = { String version -> + def stableKeyword = ['RELEASE', 'FINAL', 'GA'].any { it -> version.toUpperCase().contains(it) } + def regex = /^[0-9,.v-]+(-r)?$/ + return !stableKeyword && !(version ==~ regex) +} + +tasks.named("dependencyUpdates").configure { + resolutionStrategy { + componentSelection { + all { + if (isNonStable(it.candidate.version) && !isNonStable(it.currentVersion)) { + reject('Release candidate') + } + } + } + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4ddb0b355..fe5fa1711 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -29,12 +29,14 @@ coroutines = "1.6.4" espresso = "3.4.0" glide = "1.0.0-beta01" gradle = "7.2.0" +gradle-versions = "0.49.0" gson = "2.9.0" guava = "31.1-android" hilt = "2.48" hiltNavigationCompose = "1.0.0" junit = "4.13.2" kotlin = "1.9.10" +ksp = "1.9.10-1.0.13" ktlint = "0.40.0" ktx = "1.7.0" lifecycle = "2.6.0-alpha04" @@ -53,13 +55,13 @@ room = "2.5.2" runner = "1.0.1" # @keep targetSdk = "34" +spotless = "6.4.1" +systemuicontroller = "0.30.1" testExtJunit = "1.1.5" uiAutomator = "2.2.0" +version-catalog-update = "0.8.1" viewModelCompose = "2.5.1" work = "2.7.1" -systemuicontroller = "0.30.1" -ksp = "1.9.10-1.0.13" -spotless = "6.4.1" [libraries] accessibility-test-framework = { module = "com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework", version.ref = "accessibilityTestFramework" } @@ -122,8 +124,10 @@ retrofit2-converter-gson = { module = "com.squareup.retrofit2:converter-gson", v android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" } android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" } -ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +gradle-versions = { id = "com.github.ben-manes.versions", version.ref = "gradle-versions" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } -spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin"} kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } +version-catalog-update = { id = "nl.littlerobots.version-catalog-update", version.ref = "version-catalog-update" } From a86bf02ab652dd715bfab5264aa2ccc9abf6c383 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Wed, 3 Jan 2024 11:45:39 -0800 Subject: [PATCH 2/3] Update dependencies and add update deps workflow. Change-Id: Ia037b710c933db39aca71db19d5bcfdf476bf0e9 --- .../samples/apps/sunflower/MainApplication.kt | 8 +-- build.gradle.kts | 7 -- buildscripts/init.gradle.kts | 72 +++++++++++++++++++ gradle/libs.versions.toml | 64 ++++++++--------- gradle/wrapper/gradle-wrapper.properties | 4 +- .../BaselineProfileGenerator.kt | 4 +- 6 files changed, 111 insertions(+), 48 deletions(-) create mode 100644 buildscripts/init.gradle.kts diff --git a/app/src/main/java/com/google/samples/apps/sunflower/MainApplication.kt b/app/src/main/java/com/google/samples/apps/sunflower/MainApplication.kt index 159512dfa..12bbc93af 100644 --- a/app/src/main/java/com/google/samples/apps/sunflower/MainApplication.kt +++ b/app/src/main/java/com/google/samples/apps/sunflower/MainApplication.kt @@ -22,8 +22,8 @@ import dagger.hilt.android.HiltAndroidApp @HiltAndroidApp class MainApplication : Application(), Configuration.Provider { - override fun getWorkManagerConfiguration(): Configuration = - Configuration.Builder() - .setMinimumLoggingLevel(if (BuildConfig.DEBUG) android.util.Log.DEBUG else android.util.Log.ERROR) - .build() + override val workManagerConfiguration: Configuration + get() = Configuration.Builder() + .setMinimumLoggingLevel(if (BuildConfig.DEBUG) android.util.Log.DEBUG else android.util.Log.ERROR) + .build() } diff --git a/build.gradle.kts b/build.gradle.kts index 469041147..1112b5044 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,10 +33,3 @@ plugins { } apply("${project.rootDir}/buildscripts/toml-updater-config.gradle") - -spotless { - kotlin { - target("**/*.kt") - ktlint(libs.versions.ktlint.get()).userData(mapOf("max_line_length" to "100")) - } -} diff --git a/buildscripts/init.gradle.kts b/buildscripts/init.gradle.kts new file mode 100644 index 000000000..1b7a54264 --- /dev/null +++ b/buildscripts/init.gradle.kts @@ -0,0 +1,72 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +val ktlintVersion = "0.46.1" + +initscript { + val spotlessVersion = "6.10.0" + + repositories { + mavenCentral() + } + + dependencies { + classpath("com.diffplug.spotless:spotless-plugin-gradle:$spotlessVersion") + } +} + +allprojects { + if (this == rootProject) { + return@allprojects + } + apply() + extensions.configure { + kotlin { + target("**/*.kt") + targetExclude("**/build/**/*.kt") + ktlint(ktlintVersion).editorConfigOverride( + mapOf( + "ktlint_code_style" to "android", + "ij_kotlin_allow_trailing_comma" to true, + // These rules were introduced in ktlint 0.46.0 and should not be + // enabled without further discussion. They are disabled for now. + // See: https://github.com/pinterest/ktlint/releases/tag/0.46.0 + "disabled_rules" to + "filename," + + "annotation,annotation-spacing," + + "argument-list-wrapping," + + "double-colon-spacing," + + "enum-entry-name-case," + + "multiline-if-else," + + "no-empty-first-line-in-method-block," + + "package-name," + + "trailing-comma," + + "spacing-around-angle-brackets," + + "spacing-between-declarations-with-annotations," + + "spacing-between-declarations-with-comments," + + "unary-op-spacing" + ) + ) + licenseHeaderFile(rootProject.file("spotless/copyright.kt")) + } + format("kts") { + target("**/*.kts") + targetExclude("**/build/**/*.kts") + // Look for the first line that doesn't have a block comment (assumed to be the license) + licenseHeaderFile(rootProject.file("spotless/copyright.kt"), "(^(?![\\/ ]\\*).*$)") + } + } +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fe5fa1711..67359e316 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,57 +14,58 @@ ## limitations under the License. ## [versions] -accessibilityTestFramework = "4.0.0" -activityCompose = "1.8.1" -androidGradlePlugin = "8.1.2" -benchmark = "1.1.0" +accessibilityTestFramework = "4.1.0" +activityCompose = "1.8.2" +androidGradlePlugin = "8.2.1" +benchmark = "1.2.2" # @keep compileSdk = "34" -composeLatest = "1.6.0-beta03" +compose-compiler = "1.5.7" composeBom = "2023.10.01" -compose-compiler = "1.5.3" +composeLatest = "1.6.0-beta03" constraintLayoutCompose = "1.0.1" coreTesting = "2.2.0" -coroutines = "1.6.4" -espresso = "3.4.0" +coroutines = "1.7.3" +espresso = "3.5.1" glide = "1.0.0-beta01" gradle = "7.2.0" -gradle-versions = "0.49.0" +gradle-versions = "0.50.0" gson = "2.9.0" -guava = "31.1-android" -hilt = "2.48" -hiltNavigationCompose = "1.0.0" +guava = "33.0.0-jre" +hilt = "2.50" +hiltNavigationCompose = "1.1.0" junit = "4.13.2" -kotlin = "1.9.10" -ksp = "1.9.10-1.0.13" +kotlin = "1.9.21" +ksp = "1.9.21-1.0.15" ktlint = "0.40.0" ktx = "1.7.0" -lifecycle = "2.6.0-alpha04" +lifecycle = "2.6.2" material = "1.8.0-rc01" -material3 = "1.2.0-alpha11" +material3 = "1.2.0-beta01" # @keep -minSdk = "23" -monitor = "1.6.0" -navigation = "2.5.3" -okhttpLogging = "4.10.0" -pagingCompose = "1.0.0-alpha19" -profileInstaller = "1.2.0" +minSdk = "28" +monitor = "1.6.1" +navigation = "2.7.6" +okhttpLogging = "4.12.0" +pagingCompose = "3.3.0-alpha02" +profileInstaller = "1.3.1" recyclerView = "1.3.0-alpha02" retrofit = "2.9.0" -room = "2.5.2" +room = "2.6.1" runner = "1.0.1" +spotless = "6.23.3" +systemuicontroller = "0.32.0" # @keep targetSdk = "34" -spotless = "6.4.1" -systemuicontroller = "0.30.1" testExtJunit = "1.1.5" uiAutomator = "2.2.0" -version-catalog-update = "0.8.1" -viewModelCompose = "2.5.1" -work = "2.7.1" +version-catalog-update = "0.8.3" +viewModelCompose = "2.6.2" +work = "2.9.0" [libraries] accessibility-test-framework = { module = "com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework", version.ref = "accessibilityTestFramework" } +accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "systemuicontroller" } android-gradle-plugin = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" } androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" } androidx-arch-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "coreTesting" } @@ -95,11 +96,11 @@ androidx-paging-compose = { module = "androidx.paging:paging-compose", version.r androidx-profileinstaller = { module = "androidx.profileinstaller:profileinstaller", version.ref = "profileInstaller" } 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-room-runtime = "androidx.room:room-runtime:2.5.2" androidx-test-ext-junit = { module = "androidx.test.ext:junit", version.ref = "testExtJunit" } androidx-test-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version.ref = "uiAutomator" } -androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "work" } androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "work" } +androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "work" } glide = { module = "com.github.bumptech.glide:compose", version.ref = "glide" } gson = { module = "com.google.code.gson:gson", version.ref = "gson" } guava = { module = "com.google.guava:guava", version.ref = "guava" } @@ -115,7 +116,6 @@ kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-c kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "coroutines" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" } material = { module = "com.google.android.material:material", version.ref = "material" } -accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "systemuicontroller" } okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttpLogging" } retrofit2 = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } retrofit2-converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" } @@ -126,7 +126,7 @@ android-library = { id = "com.android.library", version.ref = "androidGradlePlug android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" } gradle-versions = { id = "com.github.ben-manes.versions", version.ref = "gradle-versions" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin"} +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d8882eb97..7411f462c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Oct 13 20:23:10 PDT 2020 +#Wed Jan 03 11:14:53 PST 2024 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/macrobenchmark/src/main/java/com/google/samples/apps/sunflower/macrobenchmark/BaselineProfileGenerator.kt b/macrobenchmark/src/main/java/com/google/samples/apps/sunflower/macrobenchmark/BaselineProfileGenerator.kt index 291b483fd..72b8b57ed 100644 --- a/macrobenchmark/src/main/java/com/google/samples/apps/sunflower/macrobenchmark/BaselineProfileGenerator.kt +++ b/macrobenchmark/src/main/java/com/google/samples/apps/sunflower/macrobenchmark/BaselineProfileGenerator.kt @@ -16,7 +16,6 @@ package com.google.samples.apps.sunflower.macrobenchmark -import androidx.benchmark.macro.ExperimentalBaselineProfilesApi import androidx.benchmark.macro.junit4.BaselineProfileRule import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.uiautomator.By @@ -25,7 +24,6 @@ import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith -@OptIn(ExperimentalBaselineProfilesApi::class) @RunWith(AndroidJUnit4::class) class BaselineProfileGenerator { @@ -34,7 +32,7 @@ class BaselineProfileGenerator { @Test fun startPlantListPlantDetail() { - rule.collectBaselineProfile(PACKAGE_NAME) { + rule.collect(PACKAGE_NAME) { // start the app flow pressHome() startActivityAndWait() From 831e55c0f19a1b0252ed6e90274764710e38cafc Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Mon, 8 Jan 2024 12:48:48 -0800 Subject: [PATCH 3/3] Address PR comments and remove unused dependencies. Change-Id: I4c327c615af09020f07cc9efcae98e0195c820e7 --- .github/ci-gradle.properties | 2 +- .github/workflows/update_deps.yml | 16 ++++++++++++++++ buildscripts/init.gradle.kts | 4 ++-- buildscripts/toml-updater-config.gradle | 3 +-- gradle/libs.versions.toml | 16 ++++------------ 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/.github/ci-gradle.properties b/.github/ci-gradle.properties index 9ba9603f3..0d2e120c3 100644 --- a/.github/ci-gradle.properties +++ b/.github/ci-gradle.properties @@ -1,5 +1,5 @@ # -# Copyright 2020 The Android Open Source Project +# Copyright 2024 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.github/workflows/update_deps.yml b/.github/workflows/update_deps.yml index 855e55f71..ab89ac6b7 100644 --- a/.github/workflows/update_deps.yml +++ b/.github/workflows/update_deps.yml @@ -1,3 +1,19 @@ +# +# Copyright 2024 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + name: Update Versions / Dependencies on: diff --git a/buildscripts/init.gradle.kts b/buildscripts/init.gradle.kts index 1b7a54264..9e3524b24 100644 --- a/buildscripts/init.gradle.kts +++ b/buildscripts/init.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Android Open Source Project + * Copyright 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -69,4 +69,4 @@ allprojects { licenseHeaderFile(rootProject.file("spotless/copyright.kt"), "(^(?![\\/ ]\\*).*$)") } } -} \ No newline at end of file +} diff --git a/buildscripts/toml-updater-config.gradle b/buildscripts/toml-updater-config.gradle index af3a8bb51..fbb07f79d 100644 --- a/buildscripts/toml-updater-config.gradle +++ b/buildscripts/toml-updater-config.gradle @@ -28,9 +28,8 @@ versionCatalogUpdate { } def isNonStable = { String version -> - def stableKeyword = ['RELEASE', 'FINAL', 'GA'].any { it -> version.toUpperCase().contains(it) } def regex = /^[0-9,.v-]+(-r)?$/ - return !stableKeyword && !(version ==~ regex) + return !(version ==~ regex) } tasks.named("dependencyUpdates").configure { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 67359e316..19c70374d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ ## -## Copyright 2022 Google LLC +## Copyright 2024 Google LLC ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ androidGradlePlugin = "8.2.1" benchmark = "1.2.2" # @keep compileSdk = "34" +# @keep compose-compiler = "1.5.7" composeBom = "2023.10.01" composeLatest = "1.6.0-beta03" @@ -37,22 +38,21 @@ hiltNavigationCompose = "1.1.0" junit = "4.13.2" kotlin = "1.9.21" ksp = "1.9.21-1.0.15" +# @keep ktlint = "0.40.0" ktx = "1.7.0" lifecycle = "2.6.2" material = "1.8.0-rc01" material3 = "1.2.0-beta01" # @keep -minSdk = "28" +minSdk = "24" monitor = "1.6.1" navigation = "2.7.6" okhttpLogging = "4.12.0" pagingCompose = "3.3.0-alpha02" profileInstaller = "1.3.1" -recyclerView = "1.3.0-alpha02" retrofit = "2.9.0" room = "2.6.1" -runner = "1.0.1" spotless = "6.23.3" systemuicontroller = "0.32.0" # @keep @@ -66,14 +66,12 @@ work = "2.9.0" [libraries] accessibility-test-framework = { module = "com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework", version.ref = "accessibilityTestFramework" } accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "systemuicontroller" } -android-gradle-plugin = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" } androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" } androidx-arch-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "coreTesting" } androidx-benchmark-macro-junit4 = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "benchmark" } androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" } androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "composeLatest" } androidx-compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout", version.ref = "composeLatest" } -androidx-compose-material = { module = "androidx.compose.material:material", version.ref = "composeLatest" } androidx-compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "material3" } androidx-compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "composeLatest" } androidx-compose-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "composeLatest" } @@ -96,7 +94,6 @@ androidx-paging-compose = { module = "androidx.paging:paging-compose", version.r androidx-profileinstaller = { module = "androidx.profileinstaller:profileinstaller", version.ref = "profileInstaller" } 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 = "androidx.room:room-runtime:2.5.2" androidx-test-ext-junit = { module = "androidx.test.ext:junit", version.ref = "testExtJunit" } androidx-test-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version.ref = "uiAutomator" } androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "work" } @@ -106,14 +103,11 @@ gson = { module = "com.google.code.gson:gson", version.ref = "gson" } guava = { module = "com.google.guava:guava", version.ref = "guava" } hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" } hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" } -hilt-android-gradle-plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" } hilt-android-testing = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" } hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" } junit = { module = "junit:junit", version.ref = "junit" } -kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" } kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } -kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "coroutines" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" } material = { module = "com.google.android.material:material", version.ref = "material" } okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttpLogging" } @@ -122,12 +116,10 @@ retrofit2-converter-gson = { module = "com.squareup.retrofit2:converter-gson", v [plugins] android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } -android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" } android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" } gradle-versions = { id = "com.github.ben-manes.versions", version.ref = "gradle-versions" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } -kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } version-catalog-update = { id = "nl.littlerobots.version-catalog-update", version.ref = "version-catalog-update" }