diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 6bff30c..b9d251b 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -2,9 +2,9 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 1f02d34..1e5d69e 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -15,8 +15,9 @@
+
-
+
-
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 10b5b50..e7b1341 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,6 @@
+
diff --git a/buildSrc/src/main/kotlin/convention.android-base.gradle.kts b/buildSrc/src/main/kotlin/convention.android-base.gradle.kts
index 1bfc3d5..86221a1 100644
--- a/buildSrc/src/main/kotlin/convention.android-base.gradle.kts
+++ b/buildSrc/src/main/kotlin/convention.android-base.gradle.kts
@@ -1,12 +1,11 @@
-import com.android.build.gradle.BaseExtension
+import com.android.build.api.dsl.CommonExtension
import io.github.kakaocup.withVersionCatalog
withVersionCatalog { libs ->
- configure {
- compileSdkVersion(libs.versions.compileSdk.get().toInt())
- defaultConfig {
+ configure {
+ compileSdk = libs.versions.compileSdk.get().toInt()
+ defaultConfig.apply {
minSdk = libs.versions.minSdk.get().toInt()
- multiDexEnabled = true
}
}
}
diff --git a/buildSrc/src/main/kotlin/convention.application.gradle.kts b/buildSrc/src/main/kotlin/convention.application.gradle.kts
index 6751c33..7a9a9fa 100644
--- a/buildSrc/src/main/kotlin/convention.application.gradle.kts
+++ b/buildSrc/src/main/kotlin/convention.application.gradle.kts
@@ -1,4 +1,4 @@
-import com.android.build.gradle.AppExtension
+import com.android.build.api.dsl.ApplicationExtension
import io.github.kakaocup.withVersionCatalog
plugins {
@@ -8,29 +8,26 @@ plugins {
}
withVersionCatalog { libs ->
- configure() {
- defaultConfig {
+ configure {
+ defaultConfig.apply {
targetSdk = libs.versions.targetSdk.get().toInt()
+ multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
- testOptions {
+ testOptions.apply {
animationsDisabled = true
}
- signingConfigs {
- create("kakao") {
- storeFile = rootProject.layout.projectDirectory.file("buildsystem/debug.keystore").asFile
- storePassword = "android"
- keyAlias = "kakaodebugkey"
- keyPassword = "android"
- }
+ signingConfigs.create("kakao") {
+ storeFile = rootProject.layout.projectDirectory.file("buildsystem/debug.keystore").asFile
+ storePassword = "android"
+ keyAlias = "kakaodebugkey"
+ keyPassword = "android"
}
- buildTypes {
- named("debug") {
- signingConfig = signingConfigs.getByName("kakao")
- }
+ buildTypes.getByName("debug") {
+ signingConfig = signingConfigs.getByName("kakao")
}
}
}
diff --git a/buildSrc/src/main/kotlin/convention.kotlin.gradle.kts b/buildSrc/src/main/kotlin/convention.kotlin.gradle.kts
index 135b501..7c3ff7e 100644
--- a/buildSrc/src/main/kotlin/convention.kotlin.gradle.kts
+++ b/buildSrc/src/main/kotlin/convention.kotlin.gradle.kts
@@ -1,11 +1,10 @@
import io.github.kakaocup.withVersionCatalog
+import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidExtension
-plugins {
- kotlin("android")
-}
-
+// Since AGP 9.0 Kotlin support is built in, so 'org.jetbrains.kotlin.android' must not be applied.
+// AGP registers the 'kotlin' extension itself once an android plugin is applied.
withVersionCatalog { libs ->
- kotlin {
+ configure {
jvmToolchain(libs.versions.jvmVersion.get().toInt())
}
}
diff --git a/buildSrc/src/main/kotlin/convention.library.gradle.kts b/buildSrc/src/main/kotlin/convention.library.gradle.kts
index 61134b6..66f58bf 100644
--- a/buildSrc/src/main/kotlin/convention.library.gradle.kts
+++ b/buildSrc/src/main/kotlin/convention.library.gradle.kts
@@ -3,7 +3,3 @@ plugins {
id("convention.android-base")
id("convention.kotlin")
}
-
-kotlin {
- jvmToolchain(8)
-}
diff --git a/buildSrc/src/main/kotlin/convention.publishing.gradle.kts b/buildSrc/src/main/kotlin/convention.publishing.gradle.kts
index 2f3bad6..e5a4455 100644
--- a/buildSrc/src/main/kotlin/convention.publishing.gradle.kts
+++ b/buildSrc/src/main/kotlin/convention.publishing.gradle.kts
@@ -1,4 +1,4 @@
-import com.android.build.gradle.LibraryExtension
+import com.android.build.api.dsl.LibraryExtension
import io.github.kakaocup.Github
import java.net.URI
@@ -112,7 +112,7 @@ tasks.register("bundleForCentralSigned") {
}
fun readVersion(): String {
- return project.properties.getValue("lib.version.${project.name}")?.toString() ?: throw Exception("Undefined version '\"lib.version.${project.name}\"' in versions.properties")
+ return project.findProperty("lib.version.${project.name}")?.toString() ?: throw Exception("Undefined version '\"lib.version.${project.name}\"' in versions.properties")
}
fun findCollaborators() = Action {
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 4af8b28..d42469a 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,28 +1,26 @@
[versions]
-dokkaGradlePluginVersion = "2.1.0"
-githubApiVersion = "1.318"
-gradle = "8.13.1"
-kotlin = "2.0.0"
-gradleVersion = "8.13.1"
-compileSdk = "36"
-targetSdk = "36"
-minSdk = "21"
-jvmVersion = "8"
-
-dokkaVersion = "1.9.20"
-appcompatVersion = "1.7.1"
+dokkaGradlePluginVersion = "2.2.0"
+githubApiVersion = "1.330"
+gradle = "9.4.0"
+kotlin = "2.4.10"
+gradleVersion = "9.4.0"
+compileSdk = "37"
+targetSdk = "37"
+minSdk = "23"
+jvmVersion = "11"
+
+dokkaVersion = "2.2.0"
+appcompatVersion = "1.8.0"
espressoVersion = "3.7.0"
junitVersion = "4.13.2"
junitExtVersion = "1.3.0"
-kotlinGradlePluginVersion = "2.0.0"
+kotlinGradlePluginVersion = "2.4.10"
multidexVersion = "2.0.1"
-materialVersion = "1.13.0"
-activityComposeVersion = "1.12.1"
-composeMaterialVersion = "1.3.1"
-composeCompilerVersion = "1.5.15"
+materialVersion = "1.14.0"
+activityComposeVersion = "1.13.0"
-composeVersion = "1.10.0"
+composeVersion = "1.12.0"
materialsIcon = "1.7.8"
[libraries]
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 2497333..b7e4314 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Thu Oct 16 09:29:44 AEST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts
index ef7fbef..1f25b8c 100644
--- a/sample/build.gradle.kts
+++ b/sample/build.gradle.kts
@@ -11,10 +11,6 @@ android {
versionName = "1.0.0"
}
- composeOptions {
- kotlinCompilerExtensionVersion = libs.versions.composeCompilerVersion.get()
- }
-
packaging {
resources {
pickFirsts += "META-INF/androidx.compose.*.version"
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 5ba91cf..45b3859 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -24,7 +24,7 @@ buildscript {
gradlePluginPortal()
}
dependencies {
- classpath("org.gradle.toolchains:foojay-resolver:0.7.0")
+ classpath("org.gradle.toolchains:foojay-resolver:1.0.0")
}
}