Browse Source

Configure Gradle JVM toolchain for Kotlin tasks

pull/28037/head
Brian Clozel 4 years ago
parent
commit
303e363adf
  1. 16
      gradle/toolchains.gradle

16
gradle/toolchains.gradle

@ -98,22 +98,22 @@ pluginManager.withPlugin("kotlin") {
// Configure the Kotlin compiler if the 'mainToolchain' property is defined // Configure the Kotlin compiler if the 'mainToolchain' property is defined
if (mainToolchainConfigured()) { if (mainToolchainConfigured()) {
def mainLanguageVersion = mainToolchainLanguageVersion() def mainLanguageVersion = mainToolchainLanguageVersion()
def compiler = javaToolchains.compilerFor {
languageVersion = mainLanguageVersion
}
// See https://kotlinlang.org/docs/gradle.html#attributes-specific-for-jvm // See https://kotlinlang.org/docs/gradle.html#attributes-specific-for-jvm
def javaVersion = mainLanguageVersion.toString() def javaVersion = mainLanguageVersion.toString()
kotlin {
jvmToolchain {
languageVersion.set(mainLanguageVersion)
}
}
compileKotlin { compileKotlin {
kotlinOptions { kotlinOptions {
jvmTarget = javaVersion jvmTarget = javaVersion
jdkHome = compiler.get().metadata.installationPath.asFile.absolutePath
} }
} }
// Compile the test classes with the same version, 'testToolchain' will override if defined // Compile the test classes with the same version, 'testToolchain' will override if defined
compileTestKotlin { compileTestKotlin {
kotlinOptions { kotlinOptions {
jvmTarget = javaVersion jvmTarget = javaVersion
jdkHome = compiler.get().metadata.installationPath.asFile.absolutePath
} }
} }
} }
@ -136,11 +136,15 @@ pluginManager.withPlugin("kotlin") {
def compiler = javaToolchains.compilerFor { def compiler = javaToolchains.compilerFor {
languageVersion = testLanguageVersion languageVersion = testLanguageVersion
} }
kotlin {
jvmToolchain {
languageVersion.set(testLanguageVersion)
}
}
// See https://kotlinlang.org/docs/gradle.html#attributes-specific-for-jvm // See https://kotlinlang.org/docs/gradle.html#attributes-specific-for-jvm
compileTestKotlin { compileTestKotlin {
kotlinOptions { kotlinOptions {
jvmTarget = testLanguageVersion.toString() jvmTarget = testLanguageVersion.toString()
jdkHome = compiler.get().metadata.installationPath.asFile.absolutePath
} }
} }
} }

Loading…
Cancel
Save