[Gradle] Update how JVM toolchain is wired in MPP projects
^KT-57292 In Progress
This commit is contained in:
committed by
Space Team
parent
bc871c6cfa
commit
07593da3f0
-15
@@ -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<UsesKotlinJavaToolchain>()
|
||||
.configureEach { task ->
|
||||
if (task is KotlinJvmCompile) {
|
||||
DefaultKotlinJavaToolchain.wireJvmTargetToJvm(
|
||||
task.compilerOptions,
|
||||
(task.kotlinJavaToolchain as DefaultKotlinJavaToolchain).providedJvm
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -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<KotlinJvmCompilerOptionsDefault>()
|
||||
.apply {
|
||||
DefaultKotlinJavaToolchain.wireJvmTargetToToolchain(this, project)
|
||||
}
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {
|
||||
|
||||
+7
@@ -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<KotlinJvmCompilerOptionsDefault>()
|
||||
.apply {
|
||||
DefaultKotlinJavaToolchain.wireJvmTargetToToolchain(
|
||||
this,
|
||||
project
|
||||
)
|
||||
}
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {
|
||||
|
||||
Reference in New Issue
Block a user