Migrate repo to use JVM toolchains Gradle feature.

^KT-46972 Fixed
This commit is contained in:
Yahor Berdnikau
2021-06-29 15:42:02 +02:00
committed by Space
parent 08d831934a
commit 7789054547
67 changed files with 424 additions and 723 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ apply plugin: 'kotlin-platform-common'
configurePublishing(project)
jvmTarget = "1.6"
JvmToolchain.updateJvmTarget(project, "1.6")
def commonSrcDir = "../src"
def commonTestSrcDir = "../test"
+5 -17
View File
@@ -2,13 +2,14 @@ description = 'Kotlin Standard Library JDK 7 extension'
apply plugin: 'kotlin'
configureJvm6Project(project)
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_7)
JvmToolchain.updateJvmTarget(project, "1.6")
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
configurePublishing(project)
configureSourcesJar()
configureJavadocJar()
ext.javaHome = JDK_17
sourceSets {
main {
kotlin {
@@ -66,10 +67,6 @@ artifacts {
archives modularJar
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
kotlinOptions.jdkHome = JDK_17
}
compileKotlin {
kotlinOptions.freeCompilerArgs = [
"-Xallow-kotlin-package",
@@ -97,18 +94,12 @@ compileTestKotlin {
configureJvmIrBackend(project)
compileJava9Sources(project, 'kotlin.stdlib.jdk7')
test {
executable = "$JDK_17/bin/java"
}
LibrariesCommon.configureJava9Compilation(project, 'kotlin.stdlib.jdk7')
task testJdk6Tests(type: Test) {
dependsOn(':kotlin-stdlib:testClasses')
group = "verification"
executable = "$JDK_17/bin/java"
doFirst {
testClassesDirs = project(':kotlin-stdlib').sourceSets.test.output
classpath = files(
@@ -121,12 +112,9 @@ task testJdk6Tests(type: Test) {
task testNoJdk7(type: Test, dependsOn: noJdk7TestClasses) {
group = "verification"
executable = "$JDK_17/bin/java"
testClassesDirs = sourceSets.noJdk7Test.output.classesDirs
classpath = sourceSets.noJdk7Test.runtimeClasspath
}
check.dependsOn testJdk6Tests, testNoJdk7
+6 -22
View File
@@ -2,14 +2,10 @@ description = 'Kotlin Standard Library JDK 8 extension'
apply plugin: 'kotlin'
configureJvm6Project(project)
configurePublishing(project)
configureSourcesJar()
configureJavadocJar()
ext.javaHome = JDK_18
ext.jvmTarget = "1.8"
dependencies {
compile project(':kotlin-stdlib')
compile project(':kotlin-stdlib-jdk7')
@@ -59,11 +55,6 @@ artifacts {
archives modularJar
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
kotlinOptions.jdkHome = JDK_18
kotlinOptions.jvmTarget = 1.8
}
compileKotlin {
kotlinOptions.freeCompilerArgs = [
"-Xallow-kotlin-package",
@@ -87,19 +78,13 @@ compileTestKotlin {
configureJvmIrBackend(project)
compileJava9Sources(project, 'kotlin.stdlib.jdk8')
test {
executable = "$JDK_18/bin/java"
}
LibrariesCommon.configureJava9Compilation(project, 'kotlin.stdlib.jdk8')
task testJdk6Tests(type: Test) { thisTask ->
dependsOn(':kotlin-stdlib:testClasses')
check.dependsOn(thisTask)
group = "verification"
executable = "$JDK_18/bin/java"
doFirst {
testClassesDirs = project(':kotlin-stdlib').sourceSets.test.output
classpath = files(
@@ -109,13 +94,12 @@ task testJdk6Tests(type: Test) { thisTask ->
}
}
[9, 10, 11].forEach { v ->
task(type: Test, "jdk${v}Test") { thisTask ->
[JdkMajorVersion.JDK_9, JdkMajorVersion.JDK_10, JdkMajorVersion.JDK_11].forEach { jvmVersion ->
tasks.register("jdk${jvmVersion.majorVersion}Test", Test) { thisTask ->
check.dependsOn(thisTask)
group = "verification"
executable = "${project.property("JDK_$v")}/bin/java"
if (v > 9)
enabled(file(executable).parentFile.isDirectory())
thisTask.javaLauncher.set(
JvmToolchain.getToolchainLauncherFor(project, jvmVersion)
)
}
}
@@ -7,8 +7,7 @@ plugins {
`maven-publish`
}
jvmTarget = "1.6"
javaHome = rootProject.extra["JDK_16"] as String
project.configureJvmToolchain(JdkMajorVersion.JDK_1_6)
val builtins by configurations.creating {
isCanBeResolved = true
@@ -54,11 +53,6 @@ val copySources by task<Sync> {
into(File(buildDir, "src"))
}
tasks.withType<JavaCompile> {
sourceCompatibility = "1.6"
targetCompatibility = "1.6"
}
tasks.withType<KotlinCompile> {
dependsOn(copySources)
kotlinOptions {
+5 -4
View File
@@ -4,7 +4,9 @@ apply plugin: 'kotlin-platform-jvm'
archivesBaseName = 'kotlin-stdlib'
configureJvm6Project(project)
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_6)
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
configurePublishing(project)
configureJavadocJar()
configureSourcesJar()
@@ -38,6 +40,8 @@ sourceSets {
}
}
LibrariesCommon.configureJava9Compilation(project, 'kotlin.stdlib', [sourceSets.main.output])
configurations {
commonSources
longRunningTestCompile.extendsFrom(testCompile)
@@ -127,9 +131,6 @@ compileKotlin {
}
}
compileJava9Sources(project, 'kotlin.stdlib', [sourceSets.main.output])
compileTestKotlin {
kotlinOptions {
freeCompilerArgs += [
-5
View File
@@ -11,7 +11,6 @@ sourceSets {
compileTestKotlin {
kotlinOptions {
jdkHome = JDK_18
freeCompilerArgs = [
"-Xopt-in=kotlin.ExperimentalStdlibApi",
"-Xopt-in=kotlin.ExperimentalUnsignedTypes",
@@ -19,7 +18,3 @@ compileTestKotlin {
]
}
}
test {
executable = "$JDK_18/bin/java"
}