Skip to content

Commit 36d52fa

Browse files
committed
build: update Gradle, AGP, and Kotlin versions
- Upgrade Gradle to 9.3.1 and AGP to 9.1.0. - Upgrade Kotlin to 2.3.10 and KSP to 2.3.6. - Simplify plugin declarations using new aliases for serialization and parcelize. - Remove `androidx.multidex` dependency and migrate `SysctlGuiApp` to `Application`. - Clean up redundant `sourceSets` and unused plugin applications. - Update `gradle.properties` with new Android Gradle plugin flags.
1 parent 7409ebe commit 36d52fa

10 files changed

Lines changed: 34 additions & 40 deletions

File tree

app/build.gradle.kts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ import java.util.Properties
22

33
plugins {
44
alias(libs.plugins.android.application)
5-
alias(libs.plugins.kotlin.android)
65
alias(libs.plugins.kotlin.compose)
6+
alias(libs.plugins.kotlin.serialization)
7+
alias(libs.plugins.kotlin.parcelize)
78
alias(libs.plugins.ksp)
8-
alias(libs.plugins.jetbrains.kotlin.serialization)
99
alias(libs.plugins.stability.analyzer)
10-
id("kotlin-parcelize")
1110
}
1211

1312
android {
@@ -70,12 +69,6 @@ android {
7069
compose = true
7170
}
7271

73-
sourceSets {
74-
maybeCreate("main").java.srcDir("src/main/kotlin")
75-
// Adds exported schema location as test app assets.
76-
getByName("androidTest").assets.srcDir("$projectDir/schemas")
77-
}
78-
7972
packaging {
8073
resources.excludes.addAll(
8174
arrayOf(
@@ -116,7 +109,6 @@ dependencies {
116109
implementation(libs.androidx.core.ktx)
117110
implementation(libs.androidx.core.splashscreen)
118111
implementation(libs.androidx.glance.appwidget)
119-
implementation(libs.androidx.multidex)
120112
implementation(libs.androidx.navigation.compose)
121113
implementation(libs.androidx.window)
122114
implementation(libs.androidx.work.runtime.ktx)

app/src/main/kotlin/com/androidvip/sysctlgui/SysctlGuiApp.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.androidvip.sysctlgui
22

3-
import androidx.multidex.MultiDexApplication
3+
import android.app.Application
44
import com.androidvip.sysctlgui.data.di.dataModules
55
import com.androidvip.sysctlgui.di.presentationModule
66
import com.androidvip.sysctlgui.domain.di.domainModule
@@ -10,7 +10,7 @@ import org.koin.android.ext.android.get
1010
import org.koin.android.ext.koin.androidContext
1111
import org.koin.core.context.startKoin
1212

13-
class SysctlGuiApp : MultiDexApplication() {
13+
class SysctlGuiApp : Application() {
1414

1515
override fun onCreate() {
1616
super.onCreate()

build.gradle.kts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22
plugins {
33
alias(libs.plugins.android.application) apply false
4-
alias(libs.plugins.kotlin.android) apply false
5-
alias(libs.plugins.kotlin.compose) apply false
6-
alias(libs.plugins.jetbrains.kotlin.jvm) apply false
74
alias(libs.plugins.android.library) apply false
5+
alias(libs.plugins.kotlin.jvm) apply false
6+
alias(libs.plugins.kotlin.compose) apply false
7+
alias(libs.plugins.kotlin.parcelize) apply false
8+
alias(libs.plugins.kotlin.serialization) apply false
89
alias(libs.plugins.ksp) apply false
910
alias(libs.plugins.stability.analyzer) apply false
1011
}

common/design/build.gradle.kts

Lines changed: 1 addition & 2 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

@@ -57,7 +56,7 @@ dependencies {
5756

5857
api(libs.material)
5958

60-
androidTestApi(platform(libs.androidx.compose.bom))
59+
androidTestImplementation(platform(libs.androidx.compose.bom))
6160

6261
if (AppConfig.devCycle) {
6362
api(libs.androidx.compose.ui.tooling)

common/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
}
54

65
android {

data/build.gradle.kts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
plugins {
22
alias(libs.plugins.android.library)
3-
alias(libs.plugins.kotlin.android)
4-
alias(libs.plugins.jetbrains.kotlin.serialization)
3+
alias(libs.plugins.kotlin.serialization)
54
alias(libs.plugins.ksp)
65
}
76

@@ -33,10 +32,6 @@ android {
3332
sourceCompatibility = JavaVersion.VERSION_21
3433
targetCompatibility = JavaVersion.VERSION_21
3534
}
36-
37-
sourceSets {
38-
maybeCreate("main").java.srcDir("src/main/kotlin")
39-
}
4035
}
4136

4237
kotlin {

domain/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
}
54

65
android {

gradle.properties

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,15 @@ kotlin.code.style=official
2121
# Configuration cache
2222
org.gradle.configuration-cache=true
2323
android.nonTransitiveRClass=true
24-
android.nonFinalResIds=false
24+
android.disallowKotlinSourceSets=false
25+
#android.nonFinalResIds=false
26+
#android.defaults.buildfeatures.resvalues=true
27+
#android.sdk.defaultTargetSdkToCompileSdkIfUnset=false
28+
#android.enableAppCompileTimeRClass=false
29+
#android.usesSdkInManifest.disallowed=false
30+
#android.uniquePackageNames=false
31+
#android.dependency.useConstraints=true
32+
#android.r8.strictFullModeForKeepRules=false
33+
#android.r8.optimizedResourceShrinking=false
34+
#android.builtInKotlin=false
35+
#android.newDsl=false

gradle/libs.versions.toml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
22
activityCompose = "1.11.0"
3-
agp = "8.12.0"
3+
agp = "9.1.0"
44
appcompat = "1.7.1"
55
composeAnimationGraphics = "1.10.0"
66
composeBom = "2025.09.01"
@@ -12,16 +12,15 @@ glanceAppwidget = "1.1.1"
1212
jsoup = "1.21.2"
1313
junit = "4.13.2"
1414
koin = "4.1.1"
15-
kotlin = "2.2.0"
15+
kotlin = "2.3.10"
1616
kotlinxCoroutinesAndroid = "1.10.2"
1717
kotlinxSerializationCore = "1.9.0"
18-
ksp = "2.2.0-2.0.2"
18+
ksp = "2.3.6"
1919
ktor = "3.3.0"
2020
libsu = "6.0.0"
2121
lifecycle = "2.9.4"
2222
material = "1.13.0"
2323
mockkAndroid = "1.14.5"
24-
multidex = "2.0.1"
2524
navigationCompose = "2.9.4"
2625
preference = "1.2.1"
2726
room = "2.8.0"
@@ -47,7 +46,6 @@ androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecyc
4746
androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" }
4847
androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" }
4948
androidx-lifecycle-viewmodel-savedstate = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-savedstate", version.ref = "lifecycle" }
50-
androidx-multidex = { module = "androidx.multidex:multidex", version.ref = "multidex" }
5149
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
5250
androidx-preference = { module = "androidx.preference:preference", version.ref = "preference" }
5351
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
@@ -79,9 +77,9 @@ libsu = ["libsu-core", "libsu-nio"]
7977
[plugins]
8078
android-application = { id = "com.android.application", version.ref = "agp" }
8179
android-library = { id = "com.android.library", version.ref = "agp" }
82-
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
80+
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
81+
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
8382
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
84-
jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
85-
jetbrains-kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
83+
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
8684
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
8785
stability-analyzer = { id = "com.github.skydoves.compose.stability.analyzer", version = "0.6.6" }
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Sun Feb 21 17:02:43 BRT 2021
2-
distributionBase=GRADLE_USER_HOME
3-
distributionPath=wrapper/dists
4-
zipStoreBase=GRADLE_USER_HOME
5-
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
1+
#Sun Feb 21 17:02:43 BRT 2021
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip

0 commit comments

Comments
 (0)