Skip to content

Commit 7b83b45

Browse files
authored
Merge pull request #601 from nimblehq/feature/587-migrate-to-latest-kotlin-210-and-compose-compiler-plugin
[#587] Migrate to latest Kotlin 2.1.0 and Compose Compiler plugin
2 parents 2d0de3c + 18281c8 commit 7b83b45

File tree

8 files changed

+24
-34
lines changed

8 files changed

+24
-34
lines changed

sample-compose/app/build.gradle.kts

+3-11
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
plugins {
22
alias(libs.plugins.android.application)
3+
alias(libs.plugins.compose.compiler)
34
alias(libs.plugins.kotlin.android)
4-
alias(libs.plugins.kotlin.kapt)
55
alias(libs.plugins.kotlin.parcelize)
6+
alias(libs.plugins.ksp)
67
alias(libs.plugins.hilt)
78
alias(libs.plugins.kover)
89
}
@@ -78,11 +79,6 @@ android {
7879
jvmTarget = JavaVersion.VERSION_17.toString()
7980
}
8081

81-
composeOptions {
82-
// TODO Remove this block in https://github.com/nimblehq/android-templates/issues/587
83-
kotlinCompilerExtensionVersion = "1.5.3"
84-
}
85-
8682
buildFeatures {
8783
compose = true
8884
buildConfig = true
@@ -111,10 +107,6 @@ android {
111107
}
112108
}
113109

114-
kapt {
115-
correctErrorTypes = true
116-
}
117-
118110
dependencies {
119111
implementation(projects.data)
120112
implementation(projects.domain)
@@ -133,7 +125,7 @@ dependencies {
133125
implementation(libs.androidx.datastore.preferences)
134126

135127
implementation(libs.bundles.hilt)
136-
kapt(libs.hilt.compiler)
128+
ksp(libs.hilt.compiler)
137129

138130
implementation(libs.timber)
139131

sample-compose/build.gradle.kts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
plugins {
33
alias(libs.plugins.android.application) apply false
44
alias(libs.plugins.android.library) apply false
5+
alias(libs.plugins.compose.compiler) apply false
56
alias(libs.plugins.kotlin.android) apply false
67
alias(libs.plugins.kotlin.jvm) apply false
7-
alias(libs.plugins.kotlin.kapt) apply false
88
alias(libs.plugins.kotlin.parcelize) apply false
9+
alias(libs.plugins.ksp) apply false
910
alias(libs.plugins.hilt) apply false
1011
alias(libs.plugins.detekt)
1112
alias(libs.plugins.kover)

sample-compose/gradle/libs.versions.toml

+6-4
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@ composeNavigation = "2.5.3"
1212
core = "1.10.1"
1313
datastore = "1.0.0"
1414
detekt = "1.21.0"
15-
gradle = "8.1.2"
16-
hilt = "2.48"
15+
gradle = "8.8.0"
16+
hilt = "2.52"
1717
hiltNavigation = "1.0.0"
1818
javaxInject = "1"
1919
junit = "4.13.2"
2020
kotest = "5.6.2"
21-
kotlin = "1.9.10"
21+
kotlin = "2.1.0"
2222
kotlinxCoroutines = "1.7.1"
2323
kover = "0.7.3"
24+
ksp = "2.1.0-1.0.29"
2425
lifecycle = "2.6.1"
2526
mockk = "1.13.5"
2627
moshi = "1.12.0"
@@ -134,11 +135,12 @@ uiTest = [
134135
[plugins]
135136
android-application = { id = "com.android.application", version.ref = "gradle" }
136137
android-library = { id = "com.android.library", version.ref = "gradle" }
138+
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
137139
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
138140
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
139141
javaLibrary = { id = "java-library" }
140142
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
141143
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
142144
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
143-
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
144145
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
146+
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Wed Jun 28 08:46:12 ICT 2023
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

template-compose/app/build.gradle.kts

+3-11
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ import org.jetbrains.kotlin.konan.properties.loadProperties
22

33
plugins {
44
alias(libs.plugins.android.application)
5+
alias(libs.plugins.compose.compiler)
56
alias(libs.plugins.kotlin.android)
6-
alias(libs.plugins.kotlin.kapt)
77
alias(libs.plugins.kotlin.parcelize)
8+
alias(libs.plugins.ksp)
89
alias(libs.plugins.hilt)
910
alias(libs.plugins.kover)
1011
}
@@ -97,11 +98,6 @@ android {
9798
buildConfig = true
9899
}
99100

100-
// TODO Remove this block in https://github.com/nimblehq/android-templates/issues/587
101-
composeOptions {
102-
kotlinCompilerExtensionVersion = "1.5.3"
103-
}
104-
105101
packaging {
106102
resources {
107103
excludes += "/META-INF/{AL2.0,LGPL2.1}"
@@ -124,10 +120,6 @@ android {
124120
}
125121
}
126122

127-
kapt {
128-
correctErrorTypes = true
129-
}
130-
131123
dependencies {
132124
implementation(projects.data)
133125
implementation(projects.domain)
@@ -143,7 +135,7 @@ dependencies {
143135
debugImplementation(libs.compose.ui.tooling)
144136

145137
implementation(libs.bundles.hilt)
146-
kapt(libs.hilt.compiler)
138+
ksp(libs.hilt.compiler)
147139

148140
implementation(libs.timber)
149141
debugImplementation(libs.chucker)

template-compose/build.gradle.kts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
plugins {
33
alias(libs.plugins.android.application) apply false
44
alias(libs.plugins.android.library) apply false
5+
alias(libs.plugins.compose.compiler) apply false
56
alias(libs.plugins.kotlin.jvm) apply false
67
alias(libs.plugins.kotlin.android) apply false
7-
alias(libs.plugins.kotlin.kapt) apply false
88
alias(libs.plugins.kotlin.parcelize) apply false
9+
alias(libs.plugins.ksp) apply false
910
alias(libs.plugins.hilt) apply false
1011
alias(libs.plugins.detekt)
1112
alias(libs.plugins.kover)

template-compose/gradle/libs.versions.toml

+6-4
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@ composeNavigation = "2.5.3"
1212
core = "1.10.1"
1313
datastore = "1.0.0"
1414
detekt = "1.21.0"
15-
gradle = "8.1.2"
16-
hilt = "2.48"
15+
gradle = "8.8.0"
16+
hilt = "2.52"
1717
hiltNavigation = "1.0.0"
1818
javaxInject = "1"
1919
junit = "4.13.2"
2020
kotest = "5.6.2"
21-
kotlin = "1.9.10"
21+
kotlin = "2.1.0"
2222
kotlinxCoroutines = "1.7.1"
2323
kover = "0.7.3"
24+
ksp = "2.1.0-1.0.29"
2425
lifecycle = "2.6.1"
2526
mockk = "1.13.5"
2627
moshi = "1.12.0"
@@ -128,11 +129,12 @@ uiTest = [
128129
[plugins]
129130
android-application = { id = "com.android.application", version.ref = "gradle" }
130131
android-library = { id = "com.android.library", version.ref = "gradle" }
132+
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
131133
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
132134
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
133135
javaLibrary = { id = "java-library" }
134136
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
135137
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
136138
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
137-
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
138139
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
140+
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Tue Aug 22 12:11:55 ICT 2023
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)