Require JDK 13 for compilation (#50004)

We have a long history of advancing the required compiler to the newest
JDK. JDK 13 has been with us for awhile, but we were blocked from
upgrading since Gradle was not compatible with JDK 13. With the
advancement in our project to Gradle 6 which supports JDK 13, we can now
advance our minimum compiler version. This commit updates the minimum
compiler version to JDK 13.
This commit is contained in:
Jason Tedor 2019-12-11 16:02:31 -05:00
parent adf5c92f8c
commit 23ab9e0204
No known key found for this signature in database
GPG Key ID: FA89F05560F16BC5
8 changed files with 11 additions and 13 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
JAVA_HOME=${JAVA_HOME:-$HOME/.java/openjdk12} JAVA_HOME=${JAVA_HOME:-$HOME/.java/openjdk13}
RUNTIME_JAVA_HOME=${RUNTIME_JAVA_HOME:-$HOME/.java/openjdk11} RUNTIME_JAVA_HOME=${RUNTIME_JAVA_HOME:-$HOME/.java/openjdk11}
JAVA7_HOME=$HOME/.java/java7 JAVA7_HOME=$HOME/.java/java7

View File

@ -4,7 +4,7 @@
# build and test Elasticsearch for this branch. Valid Java versions # build and test Elasticsearch for this branch. Valid Java versions
# are 'java' or 'openjdk' followed by the major release number. # are 'java' or 'openjdk' followed by the major release number.
ES_BUILD_JAVA=openjdk12 ES_BUILD_JAVA=openjdk13
ES_RUNTIME_JAVA=java8 ES_RUNTIME_JAVA=java8
GRADLE_TASK=build GRADLE_TASK=build
GRADLE_EXTRA_ARGS= GRADLE_EXTRA_ARGS=

View File

@ -6,4 +6,4 @@
# or 'openjdk' followed by the major release number. # or 'openjdk' followed by the major release number.
ES_BUILD_JAVA: ES_BUILD_JAVA:
- openjdk12 - openjdk13

View File

@ -9,13 +9,10 @@ ES_RUNTIME_JAVA:
- java8 - java8
- java8fips - java8fips
- java11 - java11
- java12
- openjdk12
- openjdk13 - openjdk13
- openjdk14 - openjdk14
- zulu8 - zulu8
- zulu11 - zulu11
- zulu12
- corretto11 - corretto11
- corretto8 - corretto8
- adoptopenjdk11 - adoptopenjdk11

View File

@ -20,6 +20,7 @@ export JAVA_HOME="${HOME}"/.java/${ES_BUILD_JAVA}
# We are caching BWC versions too, need these so we can build those # We are caching BWC versions too, need these so we can build those
export JAVA8_HOME="${HOME}"/.java/java8 export JAVA8_HOME="${HOME}"/.java/java8
export JAVA11_HOME="${HOME}"/.java/java11 export JAVA11_HOME="${HOME}"/.java/java11
export JAVA12_HOME="${HOME}"/.java/java12 export JAVA12_HOME="${HOME}"/.java/openjdk12
export JAVA13_HOME="${HOME}"/.java/openjdk13
./gradlew --parallel clean --scan -Porg.elasticsearch.acceptScanTOS=true -s resolveAllDependencies ./gradlew --parallel clean --scan -Porg.elasticsearch.acceptScanTOS=true -s resolveAllDependencies

View File

@ -92,16 +92,16 @@ Contributing to the Elasticsearch codebase
**Repository:** [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch) **Repository:** [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch)
JDK 12 is required to build Elasticsearch. You must have a JDK 12 installation JDK 13 is required to build Elasticsearch. You must have a JDK 13 installation
with the environment variable `JAVA_HOME` referencing the path to Java home for with the environment variable `JAVA_HOME` referencing the path to Java home for
your JDK 12 installation. By default, tests use the same runtime as `JAVA_HOME`. your JDK 13 installation. By default, tests use the same runtime as `JAVA_HOME`.
However, since Elasticsearch supports JDK 8, the build supports compiling with However, since Elasticsearch supports JDK 8, the build supports compiling with
JDK 12 and testing on a JDK 8 runtime; to do this, set `RUNTIME_JAVA_HOME` JDK 13 and testing on a JDK 8 runtime; to do this, set `RUNTIME_JAVA_HOME`
pointing to the Java home of a JDK 8 installation. Note that this mechanism can pointing to the Java home of a JDK 8 installation. Note that this mechanism can
be used to test against other JDKs as well, this is not only limited to JDK 8. be used to test against other JDKs as well, this is not only limited to JDK 8.
> Note: It is also required to have `JAVA8_HOME`, `JAVA9_HOME`, `JAVA10_HOME` > Note: It is also required to have `JAVA8_HOME`, `JAVA9_HOME`, `JAVA10_HOME`
and `JAVA11_HOME` available so that the tests can pass. and `JAVA11_HOME`, and `JAVA12_HOME` available so that the tests can pass.
> Warning: do not use `sdkman` for Java installations which do not have proper > Warning: do not use `sdkman` for Java installations which do not have proper
`jrunscript` for jdk distributions. `jrunscript` for jdk distributions.

View File

@ -73,7 +73,7 @@ import static org.elasticsearch.gradle.vagrant.VagrantMachine.convertWindowsPath
public class DistroTestPlugin implements Plugin<Project> { public class DistroTestPlugin implements Plugin<Project> {
private static final Logger logger = Logging.getLogger(DistroTestPlugin.class); private static final Logger logger = Logging.getLogger(DistroTestPlugin.class);
private static final String GRADLE_JDK_VERSION = "12.0.1+12@69cfe15208a647278a19ef0990eea691"; private static final String GRADLE_JDK_VERSION = "13.0.1+9@cec27d702aa74d5a8630c65ae61e4305";
private static final String GRADLE_JDK_VENDOR = "openjdk"; private static final String GRADLE_JDK_VENDOR = "openjdk";
// all distributions used by distro tests. this is temporary until tests are per distribution // all distributions used by distro tests. this is temporary until tests are per distribution

View File

@ -1 +1 @@
1.12 13