Build Java 9 artifacts with third party JDK9.
Change-Id: Ib7d046077c1e0444eb72f272e576d6f702d88865
diff --git a/build.gradle b/build.gradle
index 066d00a..f9e5f2d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -73,13 +73,6 @@
]
}
}
- java11 {
- java {
- srcDirs = [
- 'src/test/examplesJava11'
- ]
- }
- }
apiUsageSample {
java {
srcDirs = ['src/test/apiUsageSample', 'src/main/java']
@@ -120,6 +113,20 @@
}
output.resourcesDir = 'build/classes/examples'
}
+ examplesJava9 {
+ java {
+ srcDirs = [
+ 'src/test/examplesJava9'
+ ]
+ }
+ }
+ examplesJava11 {
+ java {
+ srcDirs = [
+ 'src/test/examplesJava11'
+ ]
+ }
+ }
examplesKotlin {
java {
srcDirs = ['src/test/examplesKotlin']
@@ -489,15 +496,31 @@
}
}
-tasks.named(sourceSets.java11.compileJavaTaskName).get().configure {
+tasks.named(sourceSets.examplesJava9.compileJavaTaskName).get().configure {
+ def jdkDir = 'third_party/openjdk/openjdk-9.0.4/'
options.fork = true
options.forkOptions.jvmArgs = []
if (OperatingSystem.current().isLinux()) {
- options.forkOptions.javaHome = file('third_party/openjdk/jdk-11/Linux')
+ options.forkOptions.javaHome = file(jdkDir + 'linux')
} else if (OperatingSystem.current().isMacOsX()) {
- options.forkOptions.javaHome = file('third_party/openjdk/jdk-11/Mac')
+ options.forkOptions.javaHome = file(jdkDir + 'osx')
} else {
- options.forkOptions.javaHome = file('third_party/openjdk/jdk-11/Windows')
+ options.forkOptions.javaHome = file(jdkDir + 'windows')
+ }
+ sourceCompatibility = JavaVersion.VERSION_1_9
+ targetCompatibility = JavaVersion.VERSION_1_9
+}
+
+tasks.named(sourceSets.examplesJava11.compileJavaTaskName).get().configure {
+ def jdkDir = 'third_party/openjdk/jdk-11/'
+ options.fork = true
+ options.forkOptions.jvmArgs = []
+ if (OperatingSystem.current().isLinux()) {
+ options.forkOptions.javaHome = file(jdkDir + 'Linux')
+ } else if (OperatingSystem.current().isMacOsX()) {
+ options.forkOptions.javaHome = file(jdkDir + 'Mac')
+ } else {
+ options.forkOptions.javaHome = file(jdkDir + 'Windows')
}
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
@@ -1289,7 +1312,7 @@
task "jar_examplesJava9_${name}"(type: Jar) {
archiveName = jarName
destinationDir = exampleOutputDir
- from "src/test/examplesJava9" // Java 1.9 classes
+ from sourceSets.examplesJava9.output
include "**/" + name + "/**/*.class"
}
}
@@ -1305,7 +1328,7 @@
task "jar_examplesJava11_${name}"(type: Jar) {
archiveName = jarName
destinationDir = exampleOutputDir
- from sourceSets.java11.output
+ from sourceSets.examplesJava11.output
include "**/" + name + "/**/*.class"
}
}
@@ -2075,51 +2098,3 @@
}
}
}
-
-
-
-
-// This task allows to build class files from Java 9 source in order to use them as inputs of
-// D8/R8 tests. Class files are generated in the same place than source files and must be commited
-// to the D8 repository because there is no way to generate them on all computers due to the need of
-// Java 9.
-// Use the following command to rebuild class files of tests:
-// ./tools/gradle.py -Pjava9Home=<java 9 home> buildJava9Tests
-task buildJava9Tests {
- def javacOutputFolder = getTemporaryDir();
- def examplesDir = file("src/test/examplesJava9")
-
- task "compile_Java9examples"(type: JavaCompile) {
- doFirst {
- if (!project.hasProperty('java9Home') || project.property('java9Home').isEmpty()) {
- throw new GradleException("Set java9Home property.")
- }
- }
-
- source = fileTree(dir: examplesDir, include: '**/*.java')
- destinationDir = javacOutputFolder
- classpath = sourceSets.main.compileClasspath
- options.compilerArgs += ["-Xlint:-options"]
- sourceCompatibility = JavaVersion.VERSION_1_9
- targetCompatibility = JavaVersion.VERSION_1_9
- options.fork = true
-
- if (project.hasProperty('java9Home')) {
- options.forkOptions.javaHome = file(getProperty('java9Home'))
- }
-
- doLast {
- def classfileFrom = copySpec {
- from javacOutputFolder
- include "**/*.class"
- }
- copy {
- into examplesDir
- with classfileFrom
- }
- delete javacOutputFolder
- }
- }
-
- dependsOn compile_Java9examples
-}
diff --git a/src/test/examplesJava9/privateinterfacemethods/C.class b/src/test/examplesJava9/privateinterfacemethods/C.class
deleted file mode 100644
index 430b6c1..0000000
--- a/src/test/examplesJava9/privateinterfacemethods/C.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/privateinterfacemethods/I$1.class b/src/test/examplesJava9/privateinterfacemethods/I$1.class
deleted file mode 100644
index 29644e6..0000000
--- a/src/test/examplesJava9/privateinterfacemethods/I$1.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/privateinterfacemethods/I$2.class b/src/test/examplesJava9/privateinterfacemethods/I$2.class
deleted file mode 100644
index 243b0af..0000000
--- a/src/test/examplesJava9/privateinterfacemethods/I$2.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/privateinterfacemethods/I.class b/src/test/examplesJava9/privateinterfacemethods/I.class
deleted file mode 100644
index 893ed9e..0000000
--- a/src/test/examplesJava9/privateinterfacemethods/I.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/privateinterfacemethods/IB.class b/src/test/examplesJava9/privateinterfacemethods/IB.class
deleted file mode 100644
index e670d08..0000000
--- a/src/test/examplesJava9/privateinterfacemethods/IB.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/privateinterfacemethods/PrivateInterfaceMethods.class b/src/test/examplesJava9/privateinterfacemethods/PrivateInterfaceMethods.class
deleted file mode 100644
index dd3615b..0000000
--- a/src/test/examplesJava9/privateinterfacemethods/PrivateInterfaceMethods.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/twrcloseresource/Iface.class b/src/test/examplesJava9/twrcloseresource/Iface.class
deleted file mode 100644
index c27b3ee..0000000
--- a/src/test/examplesJava9/twrcloseresource/Iface.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/twrcloseresource/TwrCloseResourceTest.class b/src/test/examplesJava9/twrcloseresource/TwrCloseResourceTest.class
deleted file mode 100644
index 8d6979d..0000000
--- a/src/test/examplesJava9/twrcloseresource/TwrCloseResourceTest.class
+++ /dev/null
Binary files differ
diff --git a/src/test/examplesJava9/varhandle/VarHandleTests.class b/src/test/examplesJava9/varhandle/VarHandleTests.class
deleted file mode 100644
index 91e078c..0000000
--- a/src/test/examplesJava9/varhandle/VarHandleTests.class
+++ /dev/null
Binary files differ