Migrate repo to use JVM toolchains Gradle feature.
^KT-46972 Fixed
This commit is contained in:
@@ -1,84 +1,5 @@
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
ext.configureJavaOnlyJvm6Project = { Project project ->
|
||||
project.tasks.withType(JavaCompile) {
|
||||
sourceCompatibility = 1.6
|
||||
targetCompatibility = 1.6
|
||||
options.fork = true
|
||||
options.forkOptions.javaHome = file(JDK_16)
|
||||
}
|
||||
}
|
||||
|
||||
List<String> tasksWithWarnings = (List<String>) rootProject.ext.get("tasksWithWarnings")
|
||||
|
||||
ext.configureJvm6Project = { Project project ->
|
||||
project.configure(project) {
|
||||
configurations {
|
||||
sources
|
||||
}
|
||||
|
||||
project.ext.jvmTarget = "1.6"
|
||||
project.ext.javaHome = JDK_16
|
||||
|
||||
task sourcesJar(type: Jar, dependsOn: classes) {
|
||||
classifier = 'sources'
|
||||
from sourceSets.main.kotlin
|
||||
}
|
||||
|
||||
configureJavaOnlyJvm6Project(project)
|
||||
|
||||
tasks.withType(project.compileKotlin.class) {
|
||||
kotlinOptions.jdkHome = JDK_16
|
||||
kotlinOptions.jvmTarget = "1.6"
|
||||
}
|
||||
|
||||
test {
|
||||
executable = "$JDK_16/bin/java"
|
||||
}
|
||||
}
|
||||
|
||||
if (!BuildPropertiesExtKt.getDisableWerror(project.kotlinBuildProperties)) {
|
||||
project.tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinCompile.class) { task ->
|
||||
if (!tasksWithWarnings.contains(task.path)) {
|
||||
task.kotlinOptions {
|
||||
allWarningsAsErrors = true
|
||||
freeCompilerArgs += "-Xsuppress-deprecated-jvm-target-warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ext.compileJava9Sources = { Project project, String moduleName, Collection<FileCollection> moduleOutputs = [project.sourceSets.main.output] ->
|
||||
// module-info.java should be in java9 source set by convention
|
||||
SourceDirectorySet java9SourceSet = project.sourceSets.java9.java
|
||||
project.configurations.java9CompileClasspath.extendsFrom(project.configurations.compileClasspath)
|
||||
project.tasks.getByName("compileJava9Java").configure { JavaCompile it ->
|
||||
dependsOn(moduleOutputs)
|
||||
it.sourceCompatibility = 1.9
|
||||
it.targetCompatibility = 1.9
|
||||
it.destinationDir = file("${java9SourceSet.outputDir}/META-INF/versions/9")
|
||||
it.options.fork = true
|
||||
it.options.forkOptions.javaHome = file(JDK_9)
|
||||
it.options.sourcepath = files(java9SourceSet.srcDirs)
|
||||
def compileClasspath = project.configurations.java9CompileClasspath
|
||||
def objects = project.objects
|
||||
|
||||
doFirst {
|
||||
def moduleFiles = objects.fileCollection().from(*moduleOutputs)
|
||||
def modulePath = compileClasspath.filter { !(it in moduleFiles.files) }
|
||||
|
||||
options.compilerArgs = [
|
||||
'--module-path', modulePath.asPath,
|
||||
'--patch-module', "$moduleName=${moduleFiles.asPath}",
|
||||
'-Xlint:-requires-transitive-automatic' // suppress automatic module transitive dependencies in kotlin.test
|
||||
]
|
||||
|
||||
classpath = objects.fileCollection().from()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ext.manifestAttributes = { Manifest manifest, Project project, String component = null, boolean multiRelease = false ->
|
||||
project.configure(manifest) {
|
||||
attributes \
|
||||
|
||||
@@ -2,7 +2,7 @@ description = 'Kotlin Test Annotations Common'
|
||||
|
||||
apply plugin: 'kotlin-platform-common'
|
||||
|
||||
jvmTarget = "1.6"
|
||||
JvmToolchain.updateJvmTarget(project, "1.6")
|
||||
|
||||
dependencies {
|
||||
compile kotlinStdlib("common")
|
||||
|
||||
@@ -2,7 +2,7 @@ description = 'Kotlin Test Common'
|
||||
|
||||
apply plugin: 'kotlin-platform-common'
|
||||
|
||||
jvmTarget = "1.6"
|
||||
JvmToolchain.updateJvmTarget(project, "1.6")
|
||||
|
||||
dependencies {
|
||||
compile kotlinStdlib("common")
|
||||
|
||||
@@ -2,7 +2,8 @@ description = 'Kotlin Test JUnit'
|
||||
|
||||
apply plugin: 'kotlin-platform-jvm'
|
||||
|
||||
configureJvm6Project(project)
|
||||
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_6)
|
||||
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
|
||||
|
||||
def includeJava9 = BuildPropertiesExtKt.getIncludeJava9(project.kotlinBuildProperties)
|
||||
|
||||
@@ -47,5 +48,5 @@ compileTestKotlin {
|
||||
configureJvmIrBackend(project)
|
||||
|
||||
if (includeJava9) {
|
||||
compileJava9Sources(project, 'kotlin.test.junit')
|
||||
LibrariesCommon.configureJava9Compilation(project, 'kotlin.test.junit')
|
||||
}
|
||||
|
||||
@@ -2,10 +2,6 @@ description = 'Kotlin Test JUnit 5'
|
||||
|
||||
apply plugin: 'kotlin-platform-jvm'
|
||||
|
||||
configureJvm6Project(project)
|
||||
ext.javaHome = JDK_18
|
||||
ext.jvmTarget = "1.8"
|
||||
|
||||
def includeJava9 = BuildPropertiesExtKt.getIncludeJava9(project.kotlinBuildProperties)
|
||||
|
||||
sourceSets {
|
||||
@@ -34,11 +30,6 @@ jar {
|
||||
configureSourcesJar()
|
||||
configureJavadocJar()
|
||||
|
||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
|
||||
kotlinOptions.jdkHome = JDK_18
|
||||
kotlinOptions.jvmTarget = 1.8
|
||||
}
|
||||
|
||||
compileKotlin {
|
||||
kotlinOptions.freeCompilerArgs = [
|
||||
"-Xallow-kotlin-package",
|
||||
@@ -57,10 +48,9 @@ compileTestKotlin {
|
||||
configureJvmIrBackend(project)
|
||||
|
||||
if (includeJava9) {
|
||||
compileJava9Sources(project, 'kotlin.test.junit5')
|
||||
LibrariesCommon.configureJava9Compilation(project, 'kotlin.test.junit5')
|
||||
}
|
||||
|
||||
test {
|
||||
useJUnitPlatform()
|
||||
executable = "$JDK_18/bin/java"
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ apply plugin: 'kotlin-platform-jvm'
|
||||
|
||||
archivesBaseName = 'kotlin-test'
|
||||
|
||||
configureJvm6Project(project)
|
||||
|
||||
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_6)
|
||||
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
|
||||
|
||||
def includeJava9 = BuildPropertiesExtKt.getIncludeJava9(project.kotlinBuildProperties)
|
||||
|
||||
@@ -62,5 +62,5 @@ compileTestKotlin {
|
||||
configureJvmIrBackend(project)
|
||||
|
||||
if (includeJava9) {
|
||||
compileJava9Sources(project, 'kotlin.test')
|
||||
LibrariesCommon.configureJava9Compilation(project, 'kotlin.test')
|
||||
}
|
||||
|
||||
@@ -2,8 +2,9 @@ description = 'Kotlin Test TestNG'
|
||||
|
||||
apply plugin: 'kotlin-platform-jvm'
|
||||
|
||||
configureJvm6Project(project)
|
||||
ext.javaHome = JDK_17
|
||||
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_7)
|
||||
JvmToolchain.updateJvmTarget(project, "1.6")
|
||||
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
|
||||
|
||||
def includeJava9 = BuildPropertiesExtKt.getIncludeJava9(project.kotlinBuildProperties)
|
||||
|
||||
@@ -50,7 +51,7 @@ compileTestKotlin {
|
||||
configureJvmIrBackend(project)
|
||||
|
||||
if (includeJava9) {
|
||||
compileJava9Sources(project, 'kotlin.test.testng')
|
||||
LibrariesCommon.configureJava9Compilation(project, 'kotlin.test.testng')
|
||||
}
|
||||
|
||||
test {
|
||||
|
||||
@@ -11,8 +11,7 @@ pill {
|
||||
variant = PillExtension.Variant.FULL
|
||||
}
|
||||
|
||||
jvmTarget = "1.6"
|
||||
javaHome = rootProject.extra["JDK_16"] as String
|
||||
project.configureJvmToolchain(JdkMajorVersion.JDK_1_6)
|
||||
|
||||
sourceSets {
|
||||
"main" { projectDefault() }
|
||||
|
||||
@@ -26,8 +26,7 @@ group = "org.jetbrains.kotlinx"
|
||||
val deployVersion = findProperty("kotlinxMetadataDeployVersion") as String?
|
||||
version = deployVersion ?: "0.1-SNAPSHOT"
|
||||
|
||||
jvmTarget = "1.6"
|
||||
javaHome = rootProject.extra["JDK_16"] as String
|
||||
project.configureJvmToolchain(JdkMajorVersion.JDK_1_6)
|
||||
|
||||
sourceSets {
|
||||
"main" { projectDefault() }
|
||||
|
||||
@@ -2,7 +2,8 @@ description = ''
|
||||
|
||||
apply plugin: 'kotlin'
|
||||
|
||||
configureJvm6Project(project)
|
||||
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_6)
|
||||
LibrariesCommon.disableDeprecatedJvmTargetWarning(project)
|
||||
|
||||
def includeJava9 = BuildPropertiesExtKt.getIncludeJava9(project.kotlinBuildProperties)
|
||||
|
||||
@@ -32,8 +33,9 @@ dependencies {
|
||||
}
|
||||
|
||||
if (includeJava9) {
|
||||
compileJava9Sources(
|
||||
project, 'kotlin.reflect',
|
||||
LibrariesCommon.configureJava9Compilation(
|
||||
project,
|
||||
'kotlin.reflect',
|
||||
[sourceSets.main.output, configurations.compileOnly.filter {
|
||||
!it.name.contains("kotlin-stdlib")
|
||||
}]
|
||||
|
||||
@@ -20,9 +20,11 @@ plugins {
|
||||
java
|
||||
}
|
||||
|
||||
val JDK_16: String by rootProject.extra
|
||||
|
||||
callGroovy("configureJavaOnlyJvm6Project", project)
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion.set(JavaLanguageVersion.of(6))
|
||||
}
|
||||
}
|
||||
|
||||
publish()
|
||||
|
||||
@@ -150,9 +152,19 @@ val proguard by task<CacheableProguardTask> {
|
||||
injars(mapOf("filter" to "!META-INF/**,!**/*.kotlin_builtins"), proguardAdditionalInJars)
|
||||
outjars(proguardOutput)
|
||||
|
||||
jdkHome = File(JDK_16)
|
||||
javaLauncher.set(project.getToolchainLauncherFor(JdkMajorVersion.JDK_1_6))
|
||||
libraryjars(mapOf("filter" to "!META-INF/versions/**"), proguardDeps)
|
||||
libraryjars(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar", jdkHome = jdkHome!!))
|
||||
libraryjars(
|
||||
project.files(
|
||||
javaLauncher.map {
|
||||
firstFromJavaHomeThatExists(
|
||||
"jre/lib/rt.jar",
|
||||
"../Classes/classes.jar",
|
||||
jdkHome = it.metadata.installationPath.asFile
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
configuration("$core/reflection.jvm/reflection.pro")
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ plugins {
|
||||
id("jps-compatible")
|
||||
}
|
||||
|
||||
jvmTarget = "1.6"
|
||||
project.updateJvmTarget("1.6")
|
||||
|
||||
dependencies {
|
||||
compile(kotlinStdlib())
|
||||
|
||||
@@ -3,7 +3,7 @@ plugins {
|
||||
id("jps-compatible")
|
||||
}
|
||||
|
||||
jvmTarget = "1.6"
|
||||
project.updateJvmTarget("1.6")
|
||||
|
||||
configurations.implementation {
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ plugins {
|
||||
id("jps-compatible")
|
||||
}
|
||||
|
||||
jvmTarget = "1.6"
|
||||
project.updateJvmTarget("1.6")
|
||||
|
||||
dependencies {
|
||||
compile(kotlinStdlib())
|
||||
|
||||
@@ -4,8 +4,6 @@ plugins {
|
||||
id("jps-compatible")
|
||||
}
|
||||
|
||||
jvmTarget = "1.8"
|
||||
|
||||
dependencies {
|
||||
compile(project(":kotlin-script-runtime"))
|
||||
compile(kotlinStdlib())
|
||||
|
||||
@@ -3,9 +3,7 @@ plugins {
|
||||
id("jps-compatible")
|
||||
}
|
||||
|
||||
val JDK_16: String by project
|
||||
jvmTarget = "1.6"
|
||||
javaHome = JDK_16
|
||||
project.configureJvmToolchain(JdkMajorVersion.JDK_1_6)
|
||||
|
||||
dependencies {
|
||||
compile(project(":kotlin-script-runtime"))
|
||||
@@ -26,10 +24,6 @@ tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> {
|
||||
)
|
||||
}
|
||||
|
||||
tasks.withType<Test> {
|
||||
executable = "$JDK_16/bin/java"
|
||||
}
|
||||
|
||||
publish()
|
||||
|
||||
runtimeJar()
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 += [
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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