[Build] Use 1.8 target version instead of 1.6 while using JPS build
This commit is contained in:
committed by
teamcity
parent
73a571ef7f
commit
993021a71d
@@ -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>()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user