diff --git a/.github/workflows/build_and_local_tests.yml b/.github/workflows/build_and_local_tests.yml index dff299be..7988c1be 100644 --- a/.github/workflows/build_and_local_tests.yml +++ b/.github/workflows/build_and_local_tests.yml @@ -12,9 +12,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: set up JDK 17 - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: java-version: 17 distribution: 'zulu' diff --git a/.github/workflows/instrumented_tests.yml b/.github/workflows/instrumented_tests.yml index eec11f9a..51818e09 100644 --- a/.github/workflows/instrumented_tests.yml +++ b/.github/workflows/instrumented_tests.yml @@ -12,7 +12,7 @@ jobs: timeout-minutes: 30 strategy: matrix: - api-level: [23, 26, 29] + api-level: [24, 26, 29] steps: - name: Enable KVM group perms @@ -23,10 +23,10 @@ jobs: ls /dev/kvm - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Set up JDK 17 - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: java-version: 17 distribution: 'zulu' diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c4d3b598..f8318e45 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -25,12 +25,12 @@ plugins { android { namespace = "android.template" - compileSdk = 36 + compileSdk = 37 defaultConfig { applicationId = "android.template" - minSdk = 23 - targetSdk = 36 + minSdk = 24 + targetSdk = 37 versionCode = 1 versionName = "1.0" diff --git a/build.gradle.kts b/build.gradle.kts index 6339c050..688c3320 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,3 +15,12 @@ */ // Root build.gradle.kts +plugins { + alias(libs.plugins.android.application) apply false + alias(libs.plugins.android.library) apply false + alias(libs.plugins.android.test) apply false + alias(libs.plugins.compose.compiler) apply false + alias(libs.plugins.hilt.gradle) apply false + alias(libs.plugins.ksp) apply false + alias(libs.plugins.kotlin.serialization) apply false +} diff --git a/core-data/build.gradle.kts b/core-data/build.gradle.kts index c934cfae..dbac861b 100644 --- a/core-data/build.gradle.kts +++ b/core-data/build.gradle.kts @@ -23,10 +23,10 @@ plugins { android { namespace = "android.template.core.data" - compileSdk = 36 + compileSdk = 37 defaultConfig { - minSdk = 23 + minSdk = 24 testInstrumentationRunner = "android.template.core.testing.HiltTestRunner" consumerProguardFiles("consumer-rules.pro") } diff --git a/core-database/build.gradle.kts b/core-database/build.gradle.kts index 9f0db8e9..3f6cb27d 100644 --- a/core-database/build.gradle.kts +++ b/core-database/build.gradle.kts @@ -24,10 +24,10 @@ plugins { android { namespace = "android.template.core.database" - compileSdk = 36 + compileSdk = 37 defaultConfig { - minSdk = 23 + minSdk = 24 testInstrumentationRunner = "android.template.core.testing.HiltTestRunner" consumerProguardFiles("consumer-rules.pro") } @@ -35,7 +35,6 @@ android { buildFeatures { aidl = false buildConfig = false - renderScript = false shaders = false } diff --git a/core-testing/build.gradle.kts b/core-testing/build.gradle.kts index 79914dd5..4952e135 100644 --- a/core-testing/build.gradle.kts +++ b/core-testing/build.gradle.kts @@ -23,10 +23,10 @@ plugins { android { namespace = "android.template.core.testing" - compileSdk = 36 + compileSdk = 37 defaultConfig { - minSdk = 23 + minSdk = 24 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } diff --git a/core-ui/build.gradle.kts b/core-ui/build.gradle.kts index e475e1b4..ba685e70 100644 --- a/core-ui/build.gradle.kts +++ b/core-ui/build.gradle.kts @@ -23,10 +23,10 @@ plugins { android { namespace = "android.template.core.ui" - compileSdk = 36 + compileSdk = 37 defaultConfig { - minSdk = 23 + minSdk = 24 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } @@ -35,7 +35,6 @@ android { compose = true aidl = false buildConfig = false - renderScript = false shaders = false } diff --git a/feature-mymodel-navigation/build.gradle.kts b/feature-mymodel-navigation/build.gradle.kts index 4d534db2..4f6d94cc 100644 --- a/feature-mymodel-navigation/build.gradle.kts +++ b/feature-mymodel-navigation/build.gradle.kts @@ -24,9 +24,9 @@ plugins { android { namespace = "android.template.feature.mymodel.navigation" - compileSdk = 36 + compileSdk = 37 defaultConfig { - minSdk = 23 + minSdk = 24 consumerProguardFiles("consumer-rules.pro") } buildFeatures { diff --git a/feature-mymodel/build.gradle.kts b/feature-mymodel/build.gradle.kts index f0d2609a..8583437f 100644 --- a/feature-mymodel/build.gradle.kts +++ b/feature-mymodel/build.gradle.kts @@ -24,10 +24,10 @@ plugins { android { namespace = "android.template.feature.mymodel" - compileSdk = 36 + compileSdk = 37 defaultConfig { - minSdk = 23 + minSdk = 24 testInstrumentationRunner = "android.template.core.testing.HiltTestRunner" consumerProguardFiles("consumer-rules.pro") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 94b1bf1a..b08bdaeb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,22 +1,22 @@ [versions] -androidGradlePlugin = "9.2.1" +androidGradlePlugin = "9.4.1" androidxActivity = "1.13.0" -androidxComposeBom = "2026.05.01" -androidxCore = "1.18.0" -androidxHilt = "1.3.0" -androidxLifecycle = "2.10.0" -androidxRoom = "2.8.4" +androidxComposeBom = "2026.09.00" +androidxCore = "1.19.1" +androidxHilt = "1.4.0" +androidxLifecycle = "2.11.0" +androidxRoom = "2.8.5" androidxTestCore = "1.7.0" androidxTestExt = "1.3.0" androidxTestRunner = "1.7.0" coroutines = "1.11.0" -hilt = "2.59.2" +hilt = "2.60.1" junit = "4.13.2" -kotlin = "2.3.21" +kotlin = "2.4.20" kotlinxSerializationCore = "1.11.0" -ksp = "2.3.9" -lifecycleViewmodelNav3 = "2.10.0" -nav3Core = "1.1.2" +ksp = "2.3.12" +lifecycleViewmodelNav3 = "2.11.0" +nav3Core = "1.2.0" [libraries] androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivity" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5dd3c012..299848b1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/test-app/build.gradle.kts b/test-app/build.gradle.kts index fdd840a0..1bb02f76 100644 --- a/test-app/build.gradle.kts +++ b/test-app/build.gradle.kts @@ -16,21 +16,19 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget -@Suppress("DSL_SCOPE_VIOLATION") // Remove when fixed https://youtrack.jetbrains.com/issue/KTIJ-19369 plugins { alias(libs.plugins.android.test) - alias(libs.plugins.ksp) } android { namespace = "android.template.test.navigation" - compileSdk = 36 + compileSdk = 37 targetProjectPath = ":app" defaultConfig { - minSdk = 23 - targetSdk = 36 + minSdk = 24 + targetSdk = 37 testInstrumentationRunner = "android.template.core.testing.HiltTestRunner" } @@ -38,7 +36,6 @@ android { buildFeatures { aidl = false buildConfig = false - renderScript = false shaders = false }