Skip to content

Commit 2469498

Browse files
committed
chore:kotlin 2.0
1 parent 69eda79 commit 2469498

File tree

8 files changed

+49
-37
lines changed

8 files changed

+49
-37
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ build/
88
.externalNativeBuild
99
app/build
1010
build
11+
/.kotlin

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
<p align="center">
44
<a href='https://developer.android.com'><img src='http://img.shields.io/badge/platform-android-green.svg'/></a>
5-
<a href="https://kotlinlang.org/docs/whatsnew1920.html"><img src = "https://shields.io/badge/kotlin-1.9.23-blue" /></a>
6-
<a href="https://developer.android.com/jetpack/compose/bom"><img src = "https://img.shields.io/badge/jetpack%20compose-2024.05.00-brightgreen" /></a>
5+
<a href="https://kotlinlang.org/docs/whatsnew1920.html"><img src = "https://shields.io/badge/kotlin-2.0-blue" /></a>
6+
<a href="https://developer.android.com/jetpack/compose/bom"><img src = "https://img.shields.io/badge/jetpack%20compose-2024.06.00-brightgreen" /></a>
77
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg"/></a>
88
</p>
99

build-logic/convention/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ tasks.withType<KotlinCompile>().configureEach {
2020
dependencies {
2121
compileOnly(libs.android.gradlePlugin)
2222
compileOnly(libs.android.tools.common)
23+
compileOnly(libs.compose.gradlePlugin)
2324
compileOnly(libs.kotlin.gradlePlugin)
2425
compileOnly(libs.ksp.gradlePlugin)
2526
}

build-logic/convention/src/main/kotlin/io/github/shinhyo/brba/buildlogic/AndroidCompose.kt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@ package io.github.shinhyo.brba.buildlogic
22

33
import org.gradle.api.Project
44
import org.gradle.kotlin.dsl.dependencies
5+
import org.gradle.kotlin.dsl.getByType
6+
import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension
57

68
internal fun Project.configureAndroidCompose() {
79
androidExtension.apply {
8-
buildFeatures {
9-
compose = true
10+
11+
with(plugins) {
12+
apply("org.jetbrains.kotlin.plugin.compose")
1013
}
1114

12-
composeOptions {
13-
kotlinCompilerExtensionVersion = findVersion("androidxComposeCompiler").toString()
15+
buildFeatures {
16+
compose = true
1417
}
1518

1619
dependencies {
@@ -19,4 +22,9 @@ internal fun Project.configureAndroidCompose() {
1922
}
2023

2124
}
25+
26+
extensions.getByType<ComposeCompilerGradlePluginExtension>().apply {
27+
enableStrongSkippingMode.set(true)
28+
includeSourceInformation.set(true)
29+
}
2230
}

build-logic/convention/src/main/kotlin/io/github/shinhyo/brba/buildlogic/KotlinAndroid.kt

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ package io.github.shinhyo.brba.buildlogic
33
import org.gradle.api.JavaVersion
44
import org.gradle.api.Project
55
import org.gradle.kotlin.dsl.dependencies
6+
import org.gradle.kotlin.dsl.provideDelegate
67
import org.gradle.kotlin.dsl.withType
8+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
79
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
810

911
internal fun Project.configureKotlinAndroid() {
@@ -29,20 +31,19 @@ internal fun Project.configureKotlinAndroid() {
2931

3032
private fun Project.configureKotlin() {
3133
tasks.withType<KotlinCompile>().configureEach {
32-
kotlinOptions {
33-
jvmTarget = JavaVersion.VERSION_17.toString()
34-
allWarningsAsErrors = properties["warningsAsErrors"] as? Boolean ?: false
35-
compilerOptions.freeCompilerArgs.addAll(
36-
"-P",
37-
"plugin:androidx.compose.compiler.plugins.kotlin:strongSkipping=true",
38-
)
39-
freeCompilerArgs = freeCompilerArgs + listOf(
40-
"-Xcontext-receivers",
41-
"-opt-in=kotlin.RequiresOptIn",
42-
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
43-
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
44-
"-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
45-
"-opt-in=androidx.compose.animation.ExperimentalSharedTransitionApi",
34+
compilerOptions {
35+
jvmTarget.set(JvmTarget.JVM_17)
36+
val warningsAsErrors: String? by project
37+
allWarningsAsErrors.set(warningsAsErrors.toBoolean())
38+
freeCompilerArgs.set(
39+
freeCompilerArgs.get() + listOf(
40+
"-Xcontext-receivers",
41+
"-opt-in=kotlin.RequiresOptIn",
42+
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
43+
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
44+
"-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
45+
"-opt-in=androidx.compose.animation.ExperimentalSharedTransitionApi",
46+
),
4647
)
4748
}
4849
}

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ plugins {
99
alias(libs.plugins.android.application) apply false
1010
alias(libs.plugins.android.library) apply false
1111
alias(libs.plugins.kotlin.android) apply false
12+
alias(libs.plugins.compose.compiler) apply false
1213
alias(libs.plugins.hilt) apply false
1314
alias(libs.plugins.ksp) apply false
1415
}

gradle/libs.versions.toml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,28 @@ compileSdkVer = "34"
33
targetSdkVer = "34"
44
minSdkVer = "28"
55

6-
androidGradlePlugin = "8.4.0"
7-
androidTools = "31.4.0"
6+
androidGradlePlugin = "8.5.0"
7+
androidTools = "31.5.0"
88

9-
kotlin = "1.9.23"
9+
kotlin = "2.0.0"
1010
#https://github.com/google/ksp/releases
11-
ksp = "1.9.23-1.0.20"
12-
#https://developer.android.com/jetpack/androidx/releases/compose-kotlin
13-
androidxComposeCompiler = "1.5.13"
11+
ksp = "2.0.0-1.0.22"
1412
androidDesugarJdkLibs = "2.0.4"
1513

16-
kotlinxCoroutines = "1.8.0"
14+
kotlinxCoroutines = "1.8.1"
1715

1816
androidxCore = "1.13.1"
1917
androidxCoreSplashscreen = "1.0.1"
20-
androidxAppCompat = "1.6.1"
18+
androidxAppCompat = "1.7.0"
2119
androidxActivity = "1.9.0"
2220
androidxStartup = "1.1.1"
2321
androidxHiltNavigationCompose = "1.2.0"
2422
androidxConstraintlayoutCompose = "1.0.1"
25-
androidxLifecycle = "2.7.0"
23+
androidxLifecycle = "2.8.2"
2624
androidxDataStore = "1.1.1"
2725

28-
androidxComposeBom = "2024.05.00"
29-
androidxCompose = "1.7.0-alpha08"
26+
androidxComposeBom = "2024.06.00"
27+
androidxCompose = "1.7.0-beta03"
3028
androidxComposeMaterial3 = "1.1.2"
3129

3230
hilt = "2.51.1"
@@ -35,9 +33,9 @@ hiltExt = "1.0.0"
3533
androidxNavigation = "2.7.7"
3634

3735
junit4 = "4.13.2"
38-
androidxTestCore = "1.5.0"
39-
androidxTestExt = "1.1.5"
40-
androidxEspresso = "3.5.1"
36+
androidxTestCore = "1.6.0"
37+
androidxTestExt = "1.2.0"
38+
androidxEspresso = "3.6.0"
4139

4240
coil = "2.6.0"
4341
javaxInject = "1"
@@ -47,7 +45,7 @@ retrofit = "2.11.0"
4745
gson = "2.10.1"
4846
room = "2.6.1"
4947
turbine = "1.1.0"
50-
junit = "1.1.5"
48+
junit = "1.2.0"
5149
material = "1.12.0"
5250
haze = "0.7.1"
5351

@@ -63,6 +61,7 @@ android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", ver
6361
android-tools-common = { group = "com.android.tools", name = "common", version.ref = "androidTools" }
6462
kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
6563
ksp-gradlePlugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
64+
compose-gradlePlugin = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "kotlin" }
6665

6766
# android
6867
android-desugarJdkLibs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "androidDesugarJdkLibs" }
@@ -133,6 +132,7 @@ haze = { group = "dev.chrisbanes.haze", name = "haze", version.ref = "haze" }
133132

134133
[plugins]
135134
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
135+
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
136136
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
137137
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
138138
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Sep 29 07:27:22 KST 2023
1+
#Tue Jun 25 15:56:57 KST 2024
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)