Fix toolchain jdk override was not working for all modules.

Now it also considers the case when separate tasks toolchain
are configured or module only has java toolchain.

^KT-46972 Fixed
This commit is contained in:
Yahor Berdnikau
2021-07-05 21:14:43 +02:00
parent 70ca222806
commit 1bd0607b53
4 changed files with 78 additions and 18 deletions
+4 -4
View File
@@ -1,4 +1,4 @@
import org.jetbrains.kotlin.gradle.tasks.UsesKotlinJavaToolchain
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm")
@@ -8,15 +8,15 @@ plugins {
// Only compilation tasks should use JDK 1.6
project.disableDeprecatedJvmTargetWarning()
tasks
.matching { it.name == "compileKotlin" && it is UsesKotlinJavaToolchain }
.matching { it.name == "compileKotlin" && it is KotlinCompile }
.configureEach {
(this as UsesKotlinJavaToolchain).kotlinJavaToolchain.toolchain.use(project.getToolchainLauncherFor(JdkMajorVersion.JDK_1_6))
(this as KotlinCompile).configureTaskToolchain(JdkMajorVersion.JDK_1_6)
}
tasks
.matching { it.name == "compileJava" && it is JavaCompile }
.configureEach {
(this as JavaCompile).javaCompiler.set(project.getToolchainCompilerFor(JdkMajorVersion.JDK_1_6))
(this as JavaCompile).configureTaskToolchain(JdkMajorVersion.JDK_1_6)
}
dependencies {