[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>()
+2 -2
View File
@@ -8,13 +8,13 @@ plugins {
tasks
.matching { it.name == "compileKotlin" && it is KotlinCompile }
.configureEach {
(this as KotlinCompile).configureTaskToolchain(JdkMajorVersion.JDK_1_6)
(this as KotlinCompile).configureTaskToolchain(chooseJdk18ForJpsBuild(JdkMajorVersion.JDK_1_6))
}
tasks
.matching { it.name == "compileJava" && it is JavaCompile }
.configureEach {
(this as JavaCompile).configureTaskToolchain(JdkMajorVersion.JDK_1_6)
(this as JavaCompile).configureTaskToolchain(chooseJdk18ForJpsBuild(JdkMajorVersion.JDK_1_6))
}
dependencies {
+1 -1
View File
@@ -146,7 +146,7 @@ val proguard by task<CacheableProguardTask> {
injars(mapOf("filter" to "!META-INF/**,!**/*.kotlin_builtins"), proguardAdditionalInJars)
outjars(fileFrom(base.libsDirectory.asFile.get(), "${base.archivesName.get()}-$version-proguard.jar"))
javaLauncher.set(project.getToolchainLauncherFor(JdkMajorVersion.JDK_1_6))
javaLauncher.set(project.getToolchainLauncherFor(chooseJdk18ForJpsBuild(JdkMajorVersion.JDK_1_6)))
libraryjars(mapOf("filter" to "!META-INF/versions/**"), proguardDeps)
libraryjars(
project.files(