Skip to content

Commit f19cd20

Browse files
committed
Use toolchains for Kotlin tasks
1 parent aed3bda commit f19cd20

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

buildSrc/src/main/kotlin/java-toolchain-conventions.gradle.kts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,27 @@
1+
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
2+
13
project.pluginManager.withPlugin("java") {
24
val javaToolchainVersion: String? by project
35
val defaultLanguageVersion = JavaLanguageVersion.of(17)
46
val javaLanguageVersion = javaToolchainVersion?.let { JavaLanguageVersion.of(it) } ?: defaultLanguageVersion
57

68
val extension = the<JavaPluginExtension>()
79
val javaToolchainService = the<JavaToolchainService>()
10+
811
extension.toolchain.languageVersion.set(javaLanguageVersion)
12+
13+
pluginManager.withPlugin("org.jetbrains.kotlin.jvm") {
14+
configure<KotlinJvmProjectExtension> {
15+
jvmToolchain {
16+
languageVersion.set(javaLanguageVersion)
17+
}
18+
}
19+
}
20+
921
tasks.withType<JavaExec>().configureEach {
1022
javaLauncher.set(javaToolchainService.launcherFor(extension.toolchain))
1123
}
24+
1225
tasks.withType<JavaCompile>().configureEach {
1326
outputs.cacheIf { javaLanguageVersion == defaultLanguageVersion }
1427
doFirst {
@@ -19,6 +32,7 @@ project.pluginManager.withPlugin("java") {
1932
}
2033
}
2134
}
35+
2236
tasks.withType<GroovyCompile>().configureEach {
2337
javaLauncher.set(javaToolchainService.launcherFor {
2438
// Groovy does not yet support JDK 19, see https://issues.apache.org/jira/browse/GROOVY-10569

0 commit comments

Comments
 (0)