diff --git a/apps/multiplatform/android/build.gradle.kts b/apps/multiplatform/android/build.gradle.kts index e89abc5d41..0a8b5ec91a 100644 --- a/apps/multiplatform/android/build.gradle.kts +++ b/apps/multiplatform/android/build.gradle.kts @@ -48,12 +48,7 @@ android { proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } kotlinOptions { - jvmTarget = "11" freeCompilerArgs += "-opt-in=kotlinx.coroutines.DelicateCoroutinesApi" freeCompilerArgs += "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi" freeCompilerArgs += "-opt-in=androidx.compose.ui.text.ExperimentalTextApi" diff --git a/apps/multiplatform/build.gradle.kts b/apps/multiplatform/build.gradle.kts index 9c72456d98..a0cd35b3ca 100644 --- a/apps/multiplatform/build.gradle.kts +++ b/apps/multiplatform/build.gradle.kts @@ -83,6 +83,30 @@ plugins { id("org.jetbrains.kotlin.plugin.serialization") apply false } +// https://raymondctc.medium.com/configuring-your-sourcecompatibility-targetcompatibility-and-kotlinoptions-jvmtarget-all-at-once-66bf2198145f +val jvmVersion: Provider = providers.gradleProperty("kotlin.jvm.target") + +configure(subprojects) { + // Apply compileOptions to subprojects + plugins.withType().configureEach { + extensions.findByType()?.apply { + jvmVersion.map { JavaVersion.toVersion(it) }.orNull?.let { + compileOptions { + sourceCompatibility = it + targetCompatibility = it + } + } + } + } + + // Apply kotlinOptions.jvmTarget to subprojects + tasks.withType().configureEach { + kotlinOptions { + if (jvmVersion.isPresent) jvmTarget = jvmVersion.get() + } + } +} + tasks.register("clean", Delete::class) { delete(rootProject.buildDir) } diff --git a/apps/multiplatform/common/build.gradle.kts b/apps/multiplatform/common/build.gradle.kts index 9a7b7fb2e3..42e4ac2591 100644 --- a/apps/multiplatform/common/build.gradle.kts +++ b/apps/multiplatform/common/build.gradle.kts @@ -117,10 +117,6 @@ android { } testOptions.targetSdk = 33 lint.targetSdk = 33 - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } val isAndroid = gradle.startParameter.taskNames.find { val lower = it.lowercase() lower.contains("release") || lower.startsWith("assemble") || lower.startsWith("install") diff --git a/apps/multiplatform/gradle.properties b/apps/multiplatform/gradle.properties index fbbab0ffab..9918dadee1 100644 --- a/apps/multiplatform/gradle.properties +++ b/apps/multiplatform/gradle.properties @@ -24,6 +24,7 @@ android.nonTransitiveRClass=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true kotlin.mpp.androidSourceSetLayoutVersion=2 +kotlin.jvm.target=11 android.version_name=5.6.1 android.version_code=193