[Build] Use 1.8 target version instead of 1.6 while using JPS build

This commit is contained in:
Dmitriy Novozhilov
2022-05-12 13:39:28 +03:00
committed by teamcity
parent 73a571ef7f
commit 993021a71d
3 changed files with 21 additions and 3 deletions
+18
View File
@@ -43,6 +43,8 @@ fun Project.shouldOverrideObsoleteJdk(
fun Project.configureJvmToolchain(
jdkVersion: JdkMajorVersion
) {
@Suppress("NAME_SHADOWING")
val jdkVersion = chooseJdk18ForJpsBuild(jdkVersion)
// Ensure java only modules also set default toolchain
configureJavaOnlyToolchain(jdkVersion)
@@ -78,6 +80,8 @@ fun Project.configureJvmToolchain(
fun Project.configureJavaOnlyToolchain(
jdkVersion: JdkMajorVersion
) {
@Suppress("NAME_SHADOWING")
val jdkVersion = chooseJdk18ForJpsBuild(jdkVersion)
plugins.withId("java-base") {
val javaExtension = extensions.getByType<JavaPluginExtension>()
if (shouldOverrideObsoleteJdk(jdkVersion)) {
@@ -100,6 +104,14 @@ fun Project.configureJavaOnlyToolchain(
}
}
fun Project.chooseJdk18ForJpsBuild(jdkVersion: JdkMajorVersion): JdkMajorVersion {
return if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
maxOf(jdkVersion, JdkMajorVersion.JDK_1_8)
} else {
jdkVersion
}
}
fun KotlinCompile.configureTaskToolchain(
jdkVersion: JdkMajorVersion
) {
@@ -142,6 +154,12 @@ fun JavaCompile.configureTaskToolchain(
fun Project.updateJvmTarget(
jvmTarget: String
) {
@Suppress("NAME_SHADOWING")
val jvmTarget = if (kotlinBuildProperties.isInJpsBuildIdeaSync && jvmTarget == "1.6") {
"1.8"
} else {
jvmTarget
}
// Java 9 tasks are exceptions that are configured in configureJava9Compilation
tasks
.withType<KotlinCompile>()