diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 487ebf2f..447cd4ba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,22 +16,22 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v1 + uses: gradle/wrapper-validation-action@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 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 17 - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/gradle-build-action@v3 - name: Check spotless run: ./gradlew spotlessCheck --init-script gradle/spotless-init.gradle.kts --no-configuration-cache diff --git a/.github/workflows/issues-stale.yml b/.github/workflows/issues-stale.yml index 926a3e2a..98f84f22 100644 --- a/.github/workflows/issues-stale.yml +++ b/.github/workflows/issues-stale.yml @@ -7,7 +7,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v3 + - uses: actions/stale@v9 with: stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' days-before-stale: 30 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0848349e..3ed1b01f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -18,7 +18,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) - kotlin("plugin.serialization") version "2.1.10" + kotlin("plugin.serialization") version "2.1.20" } android { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 23b2ce6d..325bf74d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,50 +14,50 @@ # limitations under the License. # [versions] -agp = "8.8.1" +agp = "8.9.2" fragmentCompose = "1.8.6" -kotlin = "2.1.10" -coreKtx = "1.15.0" +kotlin = "2.1.20" +coreKtx = "1.16.0" junit = "4.13.2" junitVersion = "1.2.1" espressoCore = "3.6.1" -kotlinxSerializationJson = "1.8.0" +kotlinxSerializationJson = "1.8.1" lifecycleRuntimeKtx = "2.8.7" -activityCompose = "1.10.0" -composeBom = "2025.02.00" +activityCompose = "1.10.1" +composeBom = "2025.04.01" appcompat = "1.7.0" material = "1.12.0" -coil = "2.4.0" -navigationCompose = "2.8.7" -coroutines = "1.7.3" -play-services-location = "21.1.0" +coil = "2.7.0" +navigationCompose = "2.8.9" +coroutines = "1.10.2" +play-services-location = "21.3.0" -accompanist = "0.32.0" -androidx-datastore = "1.0.0" -androidx-navigation = "2.7.7" -androidx-window = "1.4.0-rc01" +accompanist = "0.37.3" +androidx-datastore = "1.1.5" +androidx-navigation = "2.8.9" +androidx-window = "1.4.0-rc02" casa = "0.5.1" -gradleDownloadTask = "4.1.2" -ksp = "1.9.22-1.0.17" +gradleDownloadTask = "5.6.0" +ksp = "2.1.20-2.0.1" composeCompiler = "1.5.9" -hilt = "2.48.1" +hilt = "2.56.2" kotlin-serialization = "1.8.0" ktlint = "0.48.1" junit4 = "4.13.2" -androidxEspresso = "3.5.1" -androidxTestCore = "1.5.0" -androidxTestExtJunit = "1.1.5" -androidxTestExtTruth = "1.5.0" -androidxTestRules = "1.5.0" -androidxTestRunner = "1.5.2" -androidxUiAutomator = "2.2.0" -media3 = "1.5.0" -constraintlayout = "2.1.4" +androidxEspresso = "3.6.1" +androidxTestCore = "1.6.1" +androidxTestExtJunit = "1.2.1" +androidxTestExtTruth = "1.6.0" +androidxTestRules = "1.6.1" +androidxTestRunner = "1.6.2" +androidxUiAutomator = "2.3.0" +media3 = "1.6.1" +constraintlayout = "2.2.1" glide-compose = "1.0.0-beta01" -glance = "1.1.0" -tensorflowLite = "2.9.0" +glance = "1.1.1" +tensorflowLite = "2.17.0" tensorflowLiteGpuDelegatePlugin = "0.4.4" -tensorflowLiteSupport = "0.4.2" +tensorflowLiteSupport = "0.5.0" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -92,18 +92,18 @@ play-services-location = { module = "com.google.android.gms:play-services-locati # Core dependencies android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "agp" } -androidx-activity = "androidx.activity:activity-ktx:1.10.0" +androidx-activity = "androidx.activity:activity-ktx:1.10.1" -androidx-core = "androidx.core:core-ktx:1.12.0" -androidx-exifinterface = "androidx.exifinterface:exifinterface:1.3.7" +androidx-core = "androidx.core:core-ktx:1.16.0" +androidx-exifinterface = "androidx.exifinterface:exifinterface:1.4.1" # Fragment 1.7.0 alpha and Transition 1.5.0 alpha are required for predictive back to work with Fragments and transitions -androidx-fragment = "androidx.fragment:fragment-ktx:1.7.0-alpha10" -androidx-transition = "androidx.transition:transition-ktx:1.5.0-alpha06" +androidx-fragment = "androidx.fragment:fragment-ktx:1.8.6" +androidx-transition = "androidx.transition:transition-ktx:1.6.0" androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment", version.ref = "androidx-navigation" } androidx-navigation-testing = { module = "androidx.navigation:navigation-testing", version.ref = "androidx-navigation" } androidx-navigation-ui = { module = "androidx.navigation:navigation-ui", version.ref = "androidx-navigation" } -androidx-lifecycle-viewmodel-compose = "androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0" -androidx-viewpager2 = "androidx.viewpager2:viewpager2:1.0.0" +androidx-lifecycle-viewmodel-compose = "androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7" +androidx-viewpager2 = "androidx.viewpager2:viewpager2:1.1.0" accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" } casa-base = { module = "com.google.android.catalog.framework:casa-base", version.ref = "casa" } casa-processor = { module = "com.google.android.catalog.framework:casa-processor", version.ref = "casa" } @@ -143,34 +143,34 @@ androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = androidx-test-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "androidxUiAutomator" } junit4 = { group = "junit", name = "junit", version.ref = "junit4" } # Sample specific dependencies -lottie = "com.airbnb.android:lottie:6.0.0" +lottie = "com.airbnb.android:lottie:6.6.6" rxjava2-android = 'io.reactivex.rxjava2:rxandroid:2.1.1' -androidx-work-runtime-ktx = "androidx.work:work-runtime-ktx:2.9.0" -androidx-core-remoteviews = "androidx.core:core-remoteviews:1.0.0" +androidx-work-runtime-ktx = "androidx.work:work-runtime-ktx:2.10.1" +androidx-core-remoteviews = "androidx.core:core-remoteviews:1.1.0" androidx-glance-appwidget = {group = "androidx.glance", name = "glance-appwidget", version.ref = "glance"} androidx-glance-preview = {group = "androidx.glance", name = "glance-preview", version.ref = "glance"} androidx-glance-appwidget-preview = {group = "androidx.glance", name = "glance-appwidget-preview", version.ref = "glance"} androidx-glance-material3 = {group = "androidx.glance", name = "glance-material3", version.ref = "glance"} -androidx-graphics-core = { group = "androidx.graphics", name = "graphics-core", version = "1.0.0-beta01" } -androidx-startup = 'androidx.startup:startup-runtime:1.1.1' +androidx-graphics-core = { group = "androidx.graphics", name = "graphics-core", version = "1.0.3" } +androidx-startup = 'androidx.startup:startup-runtime:1.2.0' androidx-window = { module = "androidx.window:window", version.ref = "androidx-window" } androidx-window-java = { module = "androidx.window:window-java", version.ref = "androidx-window" } androidx-window-rxjava2 = { module = "androidx.window:window-rxjava2", version.ref = "androidx-window" } androidx-window-core = { module = "androidx.window:window-core", version.ref = "androidx-window" } androidx-media = "androidx.media:media:1.7.0" -androidx-constraintlayout = "androidx.constraintlayout:constraintlayout:2.1.4" +androidx-constraintlayout = "androidx.constraintlayout:constraintlayout:2.2.1" androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" } androidx-draganddrop = "androidx.draganddrop:draganddrop:1.0.0" -androidx-dynamicanimation = "androidx.dynamicanimation:dynamicanimation-ktx:1.0.0-alpha03" +androidx-dynamicanimation = "androidx.dynamicanimation:dynamicanimation-ktx:1.1.0" androidx-media3-common = { module = "androidx.media3:media3-common", version.ref = "media3" } androidx-media3-effect = { module = "androidx.media3:media3-effect", version.ref = "media3" } androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" } androidx-media3-transformer = { module = "androidx.media3:media3-transformer", version.ref = "media3" } androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" } -fresco = "com.facebook.fresco:fresco:3.0.0" +fresco = "com.facebook.fresco:fresco:3.6.0" fresco-nativeimagetranscoder = "com.facebook.fresco:nativeimagetranscoder:2.6.0!!" -glide = "com.github.bumptech.glide:glide:4.15.1" +glide = "com.github.bumptech.glide:glide:4.16.0" glide-compose = { group = "com.github.bumptech.glide", name = "compose", version.ref = "glide-compose" } appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } @@ -186,9 +186,9 @@ kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } android-library = { id = "com.android.library", version.ref = "agp" } -affectedmoduledetector = { id = "com.dropbox.affectedmoduledetector", version = "0.2.0" } -versionCatalogUpdate = { id = "nl.littlerobots.version-catalog-update", version = "0.7.0" } -benManesVersions = { id = "com.github.ben-manes.versions", version = "0.44.0" } +affectedmoduledetector = { id = "com.dropbox.affectedmoduledetector", version = "0.5.0" } +versionCatalogUpdate = { id = "nl.littlerobots.version-catalog-update", version = "1.0.0" } +benManesVersions = { id = "com.github.ben-manes.versions", version = "0.52.0" } android-test = { id = "com.android.test", version.ref = "agp" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } diff --git a/gradle/spotless-init.gradle.kts b/gradle/spotless-init.gradle.kts index 7462afdb..ac4424f4 100644 --- a/gradle/spotless-init.gradle.kts +++ b/gradle/spotless-init.gradle.kts @@ -17,7 +17,7 @@ val ktlintVersion = "0.48.1" initscript { - val spotlessVersion = "6.13.0" + val spotlessVersion = "7.0.3" repositories { mavenCentral() diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4a69aff0..aa6686b0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Fri Feb 14 20:10:12 KST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/samples/connectivity/telecom/build.gradle.kts b/samples/connectivity/telecom/build.gradle.kts index 998c61ac..f597f41f 100644 --- a/samples/connectivity/telecom/build.gradle.kts +++ b/samples/connectivity/telecom/build.gradle.kts @@ -39,7 +39,7 @@ android { } dependencies { - implementation("androidx.core:core-telecom:1.0.0-alpha02") + implementation("androidx.core:core-telecom:1.0.0-rc01") implementation(project(mapOf("path" to ":samples:connectivity:audio"))) implementation(libs.androidx.activity.compose)