--- a/buildSrc/src/main/kotlin/conventions/android.kt Mon May 04 16:21:57 2026 -0400
+++ b/buildSrc/src/main/kotlin/conventions/android.kt Mon May 04 18:00:16 2026 -0400
@@ -21,17 +21,43 @@
*/
package com.geekorum.build.conventions
+import com.android.build.api.dsl.CommonExtension
+import com.android.build.api.dsl.KotlinMultiplatformAndroidLibraryTarget
import com.android.build.gradle.BaseExtension
import org.gradle.api.Project
+import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.findByType
+import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
+
+const val ANDROID_COMPILE_SDK = 37
+const val ANDROID_MIN_SDK = 28
fun Project.conventionForAndroidProject() {
+ // new AGP 9 built-in kotlin use these configuration
+ extensions.findByType<CommonExtension>()?.apply {
+ compileSdk = ANDROID_COMPILE_SDK
+ defaultConfig.minSdk = ANDROID_MIN_SDK
+ }
+
+ // new androidLibrary in multiplatform project
+ extensions.findByType<KotlinMultiplatformExtension>()?.apply {
+ (this as ExtensionAware).extensions.findByType<KotlinMultiplatformAndroidLibraryTarget>()?.apply {
+ compileSdk {
+ version = release(ANDROID_COMPILE_SDK)
+ }
+ minSdk = ANDROID_MIN_SDK
+ aarMetadata {
+ minCompileSdk = ANDROID_COMPILE_SDK
+ }
+ }
+ }
+
extensions.findByType<BaseExtension>()?.apply {
- setCompileSdkVersion(36)
+ setCompileSdkVersion(ANDROID_COMPILE_SDK)
defaultConfig {
- minSdk = 28
+ minSdk = ANDROID_MIN_SDK
aarMetadata {
- minCompileSdk = 28
+ minCompileSdk = ANDROID_COMPILE_SDK
}
}
}