From 07593da3f013da4167d6c89d9568ca8d267fca11 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Thu, 3 Aug 2023 22:51:52 +0200 Subject: [PATCH] [Gradle] Update how JVM toolchain is wired in MPP projects ^KT-57292 In Progress --- .../jetbrains/kotlin/gradle/dsl/ToolchainDsl.kt | 15 --------------- .../gradle/targets/android/KotlinAndroidTarget.kt | 4 ++++ .../kotlin/gradle/targets/jvm/KotlinJvmTarget.kt | 7 +++++++ 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/ToolchainDsl.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/ToolchainDsl.kt index 25aa249ee50..12103f865ff 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/ToolchainDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/ToolchainDsl.kt @@ -71,21 +71,6 @@ internal abstract class DefaultToolchainSupport @Inject constructor( (it.kotlinJavaToolchain.toolchain as DefaultKotlinJavaToolchain.DefaultJavaToolchainSetter) .useAsConvention(javaLauncher) } - - if (kotlinExtension !is KotlinJvmProjectExtension && - kotlinExtension !is KotlinAndroidProjectExtension - ) { - tasks - .withType() - .configureEach { task -> - if (task is KotlinJvmCompile) { - DefaultKotlinJavaToolchain.wireJvmTargetToJvm( - task.compilerOptions, - (task.kotlinJavaToolchain as DefaultKotlinJavaToolchain).providedJvm - ) - } - } - } } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt index e09d30896ca..d9c6bfbb93d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsDefault import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.copyAttributes +import org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain import org.jetbrains.kotlin.gradle.utils.* import org.jetbrains.kotlin.gradle.utils.dashSeparatedName import org.jetbrains.kotlin.gradle.utils.forAllAndroidVariants @@ -335,6 +336,9 @@ abstract class KotlinAndroidTarget @Inject constructor( @ExperimentalKotlinGradlePluginApi override val compilerOptions: KotlinJvmCompilerOptions = project.objects .newInstance() + .apply { + DefaultKotlinJavaToolchain.wireJvmTargetToToolchain(this, project) + } @ExperimentalKotlinGradlePluginApi fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt index 0c0e0a2f994..05e93e92cb4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt @@ -36,6 +36,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.copyAttributes import org.jetbrains.kotlin.gradle.targets.jvm.tasks.KotlinJvmRunDsl import org.jetbrains.kotlin.gradle.targets.jvm.tasks.KotlinJvmRunDslImpl import org.jetbrains.kotlin.gradle.targets.jvm.tasks.registerMainRunTask +import org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain import org.jetbrains.kotlin.gradle.tasks.withType import org.jetbrains.kotlin.gradle.utils.* import org.jetbrains.kotlin.gradle.utils.Future @@ -338,6 +339,12 @@ abstract class KotlinJvmTarget @Inject constructor( @ExperimentalKotlinGradlePluginApi override val compilerOptions: KotlinJvmCompilerOptions = project.objects .newInstance() + .apply { + DefaultKotlinJavaToolchain.wireJvmTargetToToolchain( + this, + project + ) + } @ExperimentalKotlinGradlePluginApi fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {