From c50bdf7a13c17647fd2dc93e937e2f41f2364945 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 19:03:35 +0000 Subject: [PATCH 1/3] Update dependency com.android.tools.build:gradle to v9 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 67c9eaa..fb18a8f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -androidGradlePlugin = "8.13.0" +androidGradlePlugin = "9.2.1" androidxActivity = "1.11.0" androidxLifecycle = "2.9.4" androidxCoreTest = "1.7.0" From 8fe76e5956535a30b6670892f6e60e78dd78f6b8 Mon Sep 17 00:00:00 2001 From: Joshua Soberg Date: Sun, 14 Jun 2026 09:41:55 -0400 Subject: [PATCH 2/3] AGP 9 upgrade with android.newDsl=false --- .../soberg/gradle/plugin/AndroidAppPlugin.kt | 1 - .../gradle/plugin/AndroidLibraryPlugin.kt | 1 - .../plugin/config/AndroidCommonConfiguration.kt | 4 ++-- .../plugin/ext/AndroidProjectExtensions.kt | 17 +++-------------- gradle.properties | 1 + gradle/wrapper/gradle-wrapper.properties | 2 +- 6 files changed, 7 insertions(+), 19 deletions(-) diff --git a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidAppPlugin.kt b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidAppPlugin.kt index 8abb824..831e208 100644 --- a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidAppPlugin.kt +++ b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidAppPlugin.kt @@ -11,7 +11,6 @@ import org.gradle.api.Project open class AndroidAppPlugin : Plugin { override fun apply(project: Project) = with(project) { plugins { - apply("kotlin-android") apply("com.android.application") applyDependencyAnalysisPlugin() } diff --git a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidLibraryPlugin.kt b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidLibraryPlugin.kt index 25bcf36..a536f1c 100644 --- a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidLibraryPlugin.kt +++ b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/AndroidLibraryPlugin.kt @@ -10,7 +10,6 @@ open class AndroidLibraryPlugin : Plugin { override fun apply(project: Project) = with(project) { plugins { - apply("kotlin-android") apply("com.android.library") applyDependencyAnalysisPlugin() } diff --git a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/config/AndroidCommonConfiguration.kt b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/config/AndroidCommonConfiguration.kt index c05d165..13efcb9 100644 --- a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/config/AndroidCommonConfiguration.kt +++ b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/config/AndroidCommonConfiguration.kt @@ -8,7 +8,7 @@ import org.gradle.api.Project internal fun Project.configureAndroidCommon() { androidCommon { - compileOptions { + compileOptions.apply { sourceCompatibility = Versions.Java.sourceCompatibility targetCompatibility = Versions.Java.targetCompatibility } @@ -22,7 +22,7 @@ internal fun Project.configureAndroidCommon() { } compileSdk = Versions.Android.Sdk.Compile - defaultConfig { + defaultConfig.apply { minSdk = Versions.Android.Sdk.Min testInstrumentationRunner = TestRunners.androidJUnit } diff --git a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/ext/AndroidProjectExtensions.kt b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/ext/AndroidProjectExtensions.kt index 8f9eecc..a12d5e1 100644 --- a/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/ext/AndroidProjectExtensions.kt +++ b/build-logic/plugins/src/main/kotlin/com/soberg/gradle/plugin/ext/AndroidProjectExtensions.kt @@ -19,23 +19,12 @@ internal fun Project.androidApp(configure: ApplicationExtension.() -> Unit) { } internal fun Project.androidCommon(configure: AndroidCommonExtension.() -> Unit) { - getAndroidCommonExtension().configure() -} - -internal fun Project.getAndroidCommonExtension(): AndroidCommonExtension { - extensions.findByType()?.let { lib -> - // We're an Android library - return lib - } ?: run { - extensions.findByType()?.let { app -> - // We're an Android application - return app - } ?: error("Module ${this.name} cannot find Android library or application extension") - } + extensions.findByType()?.configure() + ?: error("Module ${this.name} cannot find Android library or application extension") } internal fun Project.kotlinAndroid(configure: KotlinAndroidProjectExtension.() -> Unit) { extensions.getByType().configure() } -internal typealias AndroidCommonExtension = CommonExtension<*, *, *, *, *, *> \ No newline at end of file +internal typealias AndroidCommonExtension = CommonExtension \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 9e20fb2..b5dd43d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,5 +20,6 @@ org.gradle.configuration-cache.problems=warn # Android operating system, and which are packaged with your app's APK # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true +android.newDsl=false # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e11132..c61a118 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.1.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 08d403ef8531341e27393af4ec9e407343daa49a Mon Sep 17 00:00:00 2001 From: Joshua Soberg Date: Sun, 14 Jun 2026 09:51:10 -0400 Subject: [PATCH 3/3] Upgrade Hilt/Dagger version compatible with AGP 9 so that we can remove the newDSL flag --- app/build.gradle.kts | 1 + gradle.properties | 1 - gradle/libs.versions.toml | 4 +++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index dd89931..368063f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -35,6 +35,7 @@ dependencies { ksp(libs.hilt.compiler) ksp(libs.hilt.android.compiler) + ksp(libs.kotlin.metadata.jvm) implementation(libs.dagger) implementation(libs.hilt.android) implementation(libs.hilt.navigationCompose) diff --git a/gradle.properties b/gradle.properties index b5dd43d..9e20fb2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,6 +20,5 @@ org.gradle.configuration-cache.problems=warn # Android operating system, and which are packaged with your app's APK # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true -android.newDsl=false # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fb18a8f..f5b7a09 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,8 @@ androidxCoreTest = "1.7.0" assertk = "0.28.1" composeBom = "2026.05.01" composeNavigation = "2.9.5" -dagger = "2.57.2" +dagger = "2.59.2" +kotlinMetadata = "2.4.0" dependencyAnalysis = "3.2.0" googleAccompanist = "0.36.0" googleGuava = "33.5.0-jre" @@ -66,6 +67,7 @@ javax-inject = { module = "javax.inject:javax.inject", version = "1" } # Kotlin kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" } kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinCoroutines" } +kotlin-metadata-jvm = { module = "org.jetbrains.kotlin:kotlin-metadata-jvm", version.ref = "kotlinMetadata" } kotlin-serializationJson = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinSerialization" } kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }