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") } }