From 11ecdb590e73d9deb1b926236d43be7703daacef Mon Sep 17 00:00:00 2001 From: Tim Abil Date: Mon, 6 Apr 2026 12:37:01 -0400 Subject: [PATCH] fix: use jvmToolchain(17) to align Java and Kotlin JVM targets --- .../kotlin/AndroidApplicationConventionPlugin.kt | 8 +++----- .../main/kotlin/AndroidLibraryConventionPlugin.kt | 8 +++----- .../src/main/kotlin/KmpLibraryConventionPlugin.kt | 13 ++----------- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt index d0104f1..95fbdc3 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,7 +12,8 @@ class AndroidApplicationConventionPlugin : Plugin { pluginManager.apply("librechat.mobile.detekt") pluginManager.apply("org.jetbrains.kotlinx.kover") - tasks.withType().configureEach { + extensions.configure { + jvmToolchain(17) compilerOptions { freeCompilerArgs.addAll("-opt-in=kotlin.time.ExperimentalTime") } @@ -29,8 +29,6 @@ class AndroidApplicationConventionPlugin : Plugin { 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..fdd0bed 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,7 +12,8 @@ class AndroidLibraryConventionPlugin : Plugin { pluginManager.apply("librechat.mobile.detekt") pluginManager.apply("org.jetbrains.kotlinx.kover") - tasks.withType().configureEach { + extensions.configure { + jvmToolchain(17) compilerOptions { freeCompilerArgs.addAll("-opt-in=kotlin.time.ExperimentalTime") } @@ -26,8 +26,6 @@ class AndroidLibraryConventionPlugin : Plugin { 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/KmpLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt index 933e249..dc1b986 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(17) 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() @@ -47,8 +40,6 @@ class KmpLibraryConventionPlugin : Plugin { testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { - sourceCompatibility = org.gradle.api.JavaVersion.VERSION_17 - targetCompatibility = org.gradle.api.JavaVersion.VERSION_17 isCoreLibraryDesugaringEnabled = true } lint {