Skip to content

Commit c4cce4d

Browse files
Update Android Gradle Plugin to v9 (major) (#439)
* Update Android Gradle Plugin to v9 * Finish AGP 9 migration - Drop type parameters from CommonExtension (no longer generic in AGP 9) and switch the moved-off block DSL (defaultConfig/compileOptions/ buildFeatures/testOptions) to .apply {} calls. - Move library targetSdk to testOptions (removed from LibraryExtension.defaultConfig in AGP 9). - Remove org.jetbrains.kotlin.android plugin from all modules and the root pluginManagement; AGP 9 has built-in Kotlin support. Drop the now-orphaned KotlinAndroidProjectExtension configuration block. - Bump play-publisher 3.13.0 -> 4.0.0; 3.13.0 references the removed BaseAppModuleExtension. - Remove dead consumerProguardFiles("consumer-rules.pro") references from curiosity and settings modules; the files never existed in git and AGP 9 fails the build on missing consumer rules. --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: hopeman15 <hopeman15@users.noreply.github.com>
1 parent d935246 commit c4cce4d

7 files changed

Lines changed: 9 additions & 32 deletions

File tree

app/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import com.github.triplet.gradle.androidpublisher.ResolutionStrategy
33

44
plugins {
55
alias(libs.plugins.android.application)
6-
alias(libs.plugins.kotlin.android)
76
alias(libs.plugins.kotlin.compose)
87
alias(libs.plugins.play.publisher)
98
}

build.gradle.kts

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@ import com.android.build.api.dsl.CommonExtension
33
import com.android.build.api.dsl.LibraryExtension
44
import io.gitlab.arturbosch.detekt.Detekt
55
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
6-
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
76
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
87
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
98

109
plugins {
1110
alias(libs.plugins.android.application) apply false
1211
alias(libs.plugins.android.library) apply false
13-
alias(libs.plugins.kotlin.android) apply false
1412
alias(libs.plugins.kotlin.compose) apply false
1513
alias(libs.plugins.kotlin.serialization) apply false
1614

@@ -44,21 +42,21 @@ allprojects {
4442
}
4543
}
4644

47-
fun CommonExtension<*, *, *, *, *, *>.configureAndroidCommon() {
45+
fun CommonExtension.configureAndroidCommon() {
4846
compileSdk = libs.versions.compileSdk.get().toInt()
49-
defaultConfig {
47+
defaultConfig.apply {
5048
minSdk = libs.versions.minSdk.get().toInt()
5149
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
5250
}
53-
compileOptions {
51+
compileOptions.apply {
5452
sourceCompatibility = JavaVersion.VERSION_17
5553
targetCompatibility = JavaVersion.VERSION_17
5654
}
57-
buildFeatures {
55+
buildFeatures.apply {
5856
compose = true
5957
}
60-
testOptions {
61-
unitTests {
58+
testOptions.apply {
59+
unitTests.apply {
6260
isIncludeAndroidResources = true
6361
isReturnDefaultValues = true
6462
}
@@ -75,7 +73,7 @@ subprojects {
7573
plugins.withId("com.android.library") {
7674
extensions.configure<LibraryExtension>("android") {
7775
configureAndroidCommon()
78-
defaultConfig {
76+
testOptions {
7977
targetSdk = libs.versions.targetSdk.get().toInt()
8078
}
8179
buildTypes {
@@ -92,14 +90,6 @@ subprojects {
9290
}
9391
}
9492

95-
plugins.withId("org.jetbrains.kotlin.android") {
96-
extensions.configure<KotlinAndroidProjectExtension>("kotlin") {
97-
compilerOptions {
98-
jvmTarget.set(JvmTarget.JVM_17)
99-
}
100-
}
101-
}
102-
10393
plugins.withId("org.jetbrains.kotlin.jvm") {
10494
extensions.configure<KotlinJvmProjectExtension>("kotlin") {
10595
compilerOptions {

curiosity/build.gradle.kts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
plugins {
22
alias(libs.plugins.android.library)
3-
alias(libs.plugins.kotlin.android)
43
alias(libs.plugins.kotlin.compose)
54

65
`maven-publish`
@@ -9,10 +8,6 @@ plugins {
98

109
android {
1110
namespace = "io.github.hellocuriosity.compose"
12-
13-
defaultConfig {
14-
consumerProguardFiles("consumer-rules.pro")
15-
}
1611
}
1712

1813
dependencies {

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[versions]
22
# Plugins
3-
agp = "8.13.2"
3+
agp = "9.2.0"
44
kotlin = "2.3.21"
55
detekt = "1.23.8"
66
kotlinter = "5.4.2"
77
kover = "0.9.8"
8-
playPublisher = "3.13.0"
8+
playPublisher = "4.0.0"
99

1010
# AndroidX
1111
coreKtx = "1.18.0"

navigation/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
plugins {
22
alias(libs.plugins.android.library)
3-
alias(libs.plugins.kotlin.android)
43
alias(libs.plugins.kotlin.compose)
54

65
`maven-publish`

settings/build.gradle.kts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
plugins {
22
alias(libs.plugins.android.library)
3-
alias(libs.plugins.kotlin.android)
43
alias(libs.plugins.kotlin.compose)
54

65
`maven-publish`
@@ -9,10 +8,6 @@ plugins {
98

109
android {
1110
namespace = "io.github.hellocuriosity.compose.settings"
12-
13-
defaultConfig {
14-
consumerProguardFiles("consumer-rules.pro")
15-
}
1611
}
1712

1813
dependencies {

test-compose-utils/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
plugins {
22
alias(libs.plugins.android.library)
3-
alias(libs.plugins.kotlin.android)
43
alias(libs.plugins.kotlin.compose)
54

65
`maven-publish`

0 commit comments

Comments
 (0)