Migrate repo to use JVM toolchains Gradle feature.
^KT-46972 Fixed
This commit is contained in:
@@ -54,5 +54,3 @@ pluginBundle {
|
||||
}
|
||||
|
||||
configurePluginMarkers(project)
|
||||
|
||||
test.executable = "${JDK_18}/bin/java"
|
||||
|
||||
@@ -2,7 +2,9 @@ description = 'Kotlin annotations for JVM'
|
||||
|
||||
apply plugin: 'kotlin'
|
||||
|
||||
configureJvm6Project(project)
|
||||
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_6)
|
||||
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
|
||||
|
||||
configurePublishing(project)
|
||||
|
||||
sourceSets {
|
||||
@@ -20,11 +22,6 @@ dependencies {
|
||||
configureSourcesJar()
|
||||
configureJavadocJar()
|
||||
|
||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
|
||||
kotlinOptions.jdkHome = JDK_16
|
||||
kotlinOptions.jvmTarget = 1.6
|
||||
}
|
||||
|
||||
compileKotlin {
|
||||
kotlinOptions.freeCompilerArgs = [
|
||||
"-Xallow-kotlin-package",
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
import org.jetbrains.kotlin.pill.PillExtension
|
||||
|
||||
plugins {
|
||||
@@ -198,11 +197,6 @@ tasks.named<Task>("check") {
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions.jdkHome = rootProject.extra["JDK_18"] as String
|
||||
kotlinOptions.jvmTarget = "1.8"
|
||||
}
|
||||
|
||||
tasks.withType<Test> {
|
||||
val noTestProperty = project.providers.gradleProperty("noTest")
|
||||
onlyIf { !noTestProperty.isPresent }
|
||||
@@ -210,17 +204,22 @@ tasks.withType<Test> {
|
||||
dependsOn(":kotlin-gradle-plugin:validatePlugins")
|
||||
dependsOnKotlinGradlePluginInstall()
|
||||
|
||||
executable = "${rootProject.extra["JDK_18"]!!}/bin/java"
|
||||
|
||||
systemProperty("kotlinVersion", rootProject.extra["kotlinVersion"] as String)
|
||||
systemProperty("runnerGradleVersion", gradle.gradleVersion)
|
||||
systemProperty("jdk9Home", rootProject.extra["JDK_9"] as String)
|
||||
systemProperty("jdk10Home", rootProject.extra["JDK_10"] as String)
|
||||
systemProperty("jdk11Home", rootProject.extra["JDK_11"] as String)
|
||||
|
||||
val jdk9Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_9).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk10Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_10).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk11Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_11).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val mavenLocalRepo = project.providers.systemProperty("maven.repo.local").forUseAtConfigurationTime().orNull
|
||||
if (mavenLocalRepo != null) {
|
||||
systemProperty("maven.repo.local", mavenLocalRepo)
|
||||
|
||||
// Query required JDKs paths only on execution phase to avoid triggering auto-download on project configuration phase
|
||||
doFirst {
|
||||
systemProperty("jdk9Home", jdk9Provider.get())
|
||||
systemProperty("jdk10Home", jdk10Provider.get())
|
||||
systemProperty("jdk11Home", jdk11Provider.get())
|
||||
if (mavenLocalRepo != null) {
|
||||
systemProperty("maven.repo.local", mavenLocalRepo)
|
||||
}
|
||||
}
|
||||
|
||||
useAndroidSdk()
|
||||
|
||||
+2
-2
@@ -595,8 +595,8 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
|
||||
) = assertOutputContains("[KOTLIN] Kotlin compilation 'jdkHome' argument: $javaexecPath")
|
||||
|
||||
private fun getUserJdk(): JavaInfo = Jvm.forHome(File(System.getenv("JAVA_HOME")))
|
||||
private fun getJdk9(): JavaInfo = Jvm.forHome(File(System.getenv("JDK_9")))
|
||||
private fun getJdk11(): JavaInfo = Jvm.forHome(File(System.getenv("JDK_11")))
|
||||
private fun getJdk9(): JavaInfo = Jvm.forHome(File(System.getProperty("jdk9Home")))
|
||||
private fun getJdk11(): JavaInfo = Jvm.forHome(File(System.getProperty("jdk11Home")))
|
||||
// replace required for windows paths so Groovy will not complain about unexpected char '\'
|
||||
private fun getJdk9Path(): String = getJdk9().javaHome.absolutePath.replace("\\", "\\\\")
|
||||
private fun getJdk11Path(): String = getJdk11().javaHome.absolutePath.replace("\\", "\\\\")
|
||||
|
||||
@@ -145,7 +145,6 @@ tasks {
|
||||
}
|
||||
|
||||
projectTest {
|
||||
executable = "${rootProject.extra["JDK_18"]!!}/bin/java"
|
||||
dependsOn(tasks.named("validatePlugins"))
|
||||
|
||||
workingDir = rootDir
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
import proguard.gradle.ProGuardTask
|
||||
import org.gradle.internal.jvm.Jvm
|
||||
|
||||
description = "Kotlin \"main\" script definition"
|
||||
|
||||
@@ -8,7 +8,6 @@ plugins {
|
||||
id("jps-compatible")
|
||||
}
|
||||
|
||||
val JDK_18: String by rootProject.extra
|
||||
val jarBaseName = property("archivesBaseName") as String
|
||||
|
||||
val localPackagesToRelocate =
|
||||
@@ -88,13 +87,28 @@ val proguard by task<CacheableProguardTask> {
|
||||
|
||||
outjars(fileFrom(buildDir, "libs", "$jarBaseName-$version-after-proguard.jar"))
|
||||
|
||||
jdkHome = File(JDK_18)
|
||||
javaLauncher.set(project.getToolchainLauncherFor(JdkMajorVersion.JDK_1_8))
|
||||
|
||||
libraryjars(mapOf("filter" to "!META-INF/versions/**"), proguardLibraryJars)
|
||||
libraryjars(
|
||||
files(
|
||||
firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar", jdkHome = jdkHome!!),
|
||||
firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar", jdkHome = jdkHome!!),
|
||||
toolsJarFile(jdkHome = jdkHome!!)
|
||||
javaLauncher.map {
|
||||
firstFromJavaHomeThatExists(
|
||||
"jre/lib/rt.jar",
|
||||
"../Classes/classes.jar",
|
||||
jdkHome = it.metadata.installationPath.asFile
|
||||
)
|
||||
},
|
||||
javaLauncher.map {
|
||||
firstFromJavaHomeThatExists(
|
||||
"jre/lib/jsse.jar",
|
||||
"../Classes/jsse.jar",
|
||||
jdkHome = it.metadata.installationPath.asFile
|
||||
)
|
||||
},
|
||||
javaLauncher.map {
|
||||
Jvm.forHome(it.metadata.installationPath.asFile).toolsJar
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -3,12 +3,6 @@ apply plugin: 'jps-compatible'
|
||||
|
||||
configureGradlePluginPublishing(project)
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
options.fork = false
|
||||
}
|
||||
|
||||
pill {
|
||||
variant = 'FULL'
|
||||
}
|
||||
@@ -60,5 +54,3 @@ pluginBundle {
|
||||
}
|
||||
|
||||
configurePluginMarkers(project)
|
||||
|
||||
test.executable = "${JDK_18}/bin/java"
|
||||
|
||||
@@ -3,12 +3,6 @@ apply plugin: 'jps-compatible'
|
||||
|
||||
configurePublishing(project)
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
options.fork = false
|
||||
}
|
||||
|
||||
pill {
|
||||
variant = 'FULL'
|
||||
}
|
||||
@@ -45,5 +39,3 @@ ArtifactsKt.noDefaultJar(project)
|
||||
ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDefaultJarDepsToShadedCompiler(project, {}), {})
|
||||
configureSourcesJar()
|
||||
configureJavadocJar()
|
||||
|
||||
test.executable = "${JDK_18}/bin/java"
|
||||
|
||||
@@ -6,12 +6,6 @@ dependencies {
|
||||
embedded(project(":kotlinx-serialization-compiler-plugin")) { transitive = false }
|
||||
}
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
options.fork = false
|
||||
}
|
||||
|
||||
TaskProvider<Jar> jar = tasks.named("jar")
|
||||
jar.configure {
|
||||
manifestAttributes(manifest, project)
|
||||
|
||||
@@ -7,12 +7,6 @@ pill {
|
||||
variant = 'FULL'
|
||||
}
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
options.fork = false
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly project(':kotlin-gradle-plugin')
|
||||
compile project(':kotlin-gradle-plugin-api')
|
||||
|
||||
@@ -5,12 +5,7 @@ plugins {
|
||||
id("jps-compatible")
|
||||
}
|
||||
|
||||
jvmTarget = "1.6"
|
||||
|
||||
tasks.withType<JavaCompile> {
|
||||
sourceCompatibility = "1.6"
|
||||
targetCompatibility = "1.6"
|
||||
}
|
||||
project.updateJvmTarget("1.6")
|
||||
|
||||
sourceSets {
|
||||
"main" { projectDefault() }
|
||||
|
||||
@@ -2,7 +2,9 @@ description 'Kotlin Script Runtime'
|
||||
|
||||
apply plugin: 'kotlin'
|
||||
|
||||
configureJvm6Project(project)
|
||||
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_6)
|
||||
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
|
||||
|
||||
configurePublishing(project)
|
||||
|
||||
dependencies {
|
||||
|
||||
Reference in New Issue
Block a user