diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt index d0104f1..51b07f4 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt @@ -2,8 +2,7 @@ import com.android.build.api.dsl.ApplicationExtension import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure -import org.gradle.kotlin.dsl.withType -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension class AndroidApplicationConventionPlugin : Plugin { override fun apply(target: Project) { @@ -13,24 +12,23 @@ class AndroidApplicationConventionPlugin : Plugin { pluginManager.apply("librechat.mobile.detekt") pluginManager.apply("org.jetbrains.kotlinx.kover") - tasks.withType().configureEach { + extensions.configure { + jvmToolchain(BuildConstants.JVM_TOOLCHAIN_VERSION) compilerOptions { freeCompilerArgs.addAll("-opt-in=kotlin.time.ExperimentalTime") } } extensions.configure { - compileSdk = 36 + compileSdk = BuildConstants.COMPILE_SDK defaultConfig { - minSdk = 26 - targetSdk = 35 + minSdk = BuildConstants.MIN_SDK + targetSdk = BuildConstants.TARGET_SDK versionCode = 1 versionName = "0.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { - sourceCompatibility = org.gradle.api.JavaVersion.VERSION_17 - targetCompatibility = org.gradle.api.JavaVersion.VERSION_17 isCoreLibraryDesugaringEnabled = true } lint { diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt index e393034..ab9a857 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt @@ -2,8 +2,7 @@ import com.android.build.gradle.LibraryExtension import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure -import org.gradle.kotlin.dsl.withType -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension class AndroidLibraryConventionPlugin : Plugin { override fun apply(target: Project) { @@ -13,21 +12,20 @@ class AndroidLibraryConventionPlugin : Plugin { pluginManager.apply("librechat.mobile.detekt") pluginManager.apply("org.jetbrains.kotlinx.kover") - tasks.withType().configureEach { + extensions.configure { + jvmToolchain(BuildConstants.JVM_TOOLCHAIN_VERSION) compilerOptions { freeCompilerArgs.addAll("-opt-in=kotlin.time.ExperimentalTime") } } extensions.configure { - compileSdk = 36 + compileSdk = BuildConstants.COMPILE_SDK defaultConfig { - minSdk = 26 + minSdk = BuildConstants.MIN_SDK testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { - sourceCompatibility = org.gradle.api.JavaVersion.VERSION_17 - targetCompatibility = org.gradle.api.JavaVersion.VERSION_17 isCoreLibraryDesugaringEnabled = true } lint { diff --git a/build-logic/convention/src/main/kotlin/BuildConstants.kt b/build-logic/convention/src/main/kotlin/BuildConstants.kt new file mode 100644 index 0000000..7149457 --- /dev/null +++ b/build-logic/convention/src/main/kotlin/BuildConstants.kt @@ -0,0 +1,6 @@ +object BuildConstants { + const val JVM_TOOLCHAIN_VERSION = 21 + const val COMPILE_SDK = 36 + const val MIN_SDK = 26 + const val TARGET_SDK = 35 +} diff --git a/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt index 933e249..a36f1c9 100644 --- a/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt @@ -13,20 +13,13 @@ class KmpLibraryConventionPlugin : Plugin { pluginManager.apply("org.jetbrains.kotlinx.kover") extensions.configure { + jvmToolchain(BuildConstants.JVM_TOOLCHAIN_VERSION) compilerOptions { freeCompilerArgs.addAll( "-opt-in=kotlin.time.ExperimentalTime", ) } - androidTarget { - compilations.configureEach { - compileTaskProvider.configure { - compilerOptions { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) - } - } - } - } + androidTarget() iosArm64() iosSimulatorArm64() @@ -41,14 +34,12 @@ class KmpLibraryConventionPlugin : Plugin { } extensions.configure { - compileSdk = 36 + compileSdk = BuildConstants.COMPILE_SDK defaultConfig { - minSdk = 26 + minSdk = BuildConstants.MIN_SDK testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { - sourceCompatibility = org.gradle.api.JavaVersion.VERSION_17 - targetCompatibility = org.gradle.api.JavaVersion.VERSION_17 isCoreLibraryDesugaringEnabled = true } lint {