Bump Java language level to Java 17 per default Note that with this change CI verification takes place on JDK 17 for both checker environments: Build/Tests and RBE Build/Tests. Also update eclipse project generation to reference JavaSE-17 per default. Also change compatibility mode of Locale Sensitive Service Provider to COMPAT only, as it also fixed the tests on Mac Os X operating system. Test Plan: To build with Remote JDK 17 locally: $ bazel build release To build with Remote JDK 17 on RBE: $ bazel build --config=remote --remote_instance_name=<name> release To build with Remote JDK 11 locally: $ bazel build --config java11 release To build with Remote JDK 11 on RBE: $ bazel build --config=remote11 --remote_instance_name=<name> release Release-Notes: Update Java language level to Java 17 per default Change-Id: I932527e6036efb1518a31979a22a086e458bbc5c
diff --git a/.bazelrc b/.bazelrc index 94df44e..6828f9e 100644 --- a/.bazelrc +++ b/.bazelrc
@@ -4,30 +4,30 @@ build --disk_cache=~/.gerritcodereview/bazel-cache/cas # Builds using remotejdk_11, executes using remotejdk_11 or local_jdk -build --java_language_version=11 -build --java_runtime_version=remotejdk_11 -build --tool_java_language_version=11 -build --tool_java_runtime_version=remotejdk_11 +build:java11 --java_language_version=11 +build:java11 --java_runtime_version=remotejdk_11 +build:java11 --tool_java_language_version=11 +build:java11 --tool_java_runtime_version=remotejdk_11 # Builds using remotejdk_17, executes using remotejdk_17 or local_jdk -build:java17 --java_language_version=17 -build:java17 --java_runtime_version=remotejdk_17 -build:java17 --tool_java_language_version=17 -build:java17 --tool_java_runtime_version=remotejdk_17 +build --java_language_version=17 +build --java_runtime_version=remotejdk_17 +build --tool_java_language_version=17 +build --tool_java_runtime_version=remotejdk_17 # Builds and executes on RBE using remotejdk_11 -build:remote --java_language_version=11 -build:remote --java_runtime_version=remotejdk_11 -build:remote --tool_java_language_version=11 -build:remote --tool_java_runtime_version=remotejdk_11 -build:remote --config=remote_shared +build:remote11 --java_language_version=11 +build:remote11 --java_runtime_version=remotejdk_11 +build:remote11 --tool_java_language_version=11 +build:remote11 --tool_java_runtime_version=remotejdk_11 +build:remote11 --config=remote_shared # Builds and executes on RBE using remotejdk_17 -build:remote17 --java_language_version=17 -build:remote17 --java_runtime_version=remotejdk_17 -build:remote17 --tool_java_language_version=17 -build:remote17 --tool_java_runtime_version=remotejdk_17 -build:remote17 --config=remote_shared +build:remote --java_language_version=17 +build:remote --java_runtime_version=remotejdk_17 +build:remote --tool_java_language_version=17 +build:remote --tool_java_runtime_version=remotejdk_17 +build:remote --config=remote_shared # Enable strict_action_env flag to. For more information on this feature see # https://groups.google.com/forum/#!topic/bazel-discuss/_VmRfMyyHBk.
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index fae2a87..ba37f19 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs
@@ -11,9 +11,9 @@ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.compliance=17 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -130,4 +130,4 @@ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.processAnnotations=enabled org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=11 +org.eclipse.jdt.core.compiler.source=17
diff --git a/java/Main.java b/java/Main.java index c04db2c..e824a95 100644 --- a/java/Main.java +++ b/java/Main.java
@@ -16,7 +16,7 @@ public final class Main { private static final String FLOGGER_BACKEND_PROPERTY = "flogger.backend_factory"; private static final String FLOGGER_LOGGING_CONTEXT = "flogger.logging_context"; - private static final Runtime.Version MIN_JAVA_VERSION = Runtime.Version.parse("11.0.10"); + private static final Runtime.Version MIN_JAVA_VERSION = Runtime.Version.parse("17.0.5"); // We don't do any real work here because we need to import // the archive lookup code and we cannot import a class in
diff --git a/tools/bzl/junit.bzl b/tools/bzl/junit.bzl index 4659c48..c5951e1 100644 --- a/tools/bzl/junit.bzl +++ b/tools/bzl/junit.bzl
@@ -70,7 +70,7 @@ POST_JDK8_OPTS = [ # Enforce JDK 8 compatibility on Java 9, see # https://docs.oracle.com/javase/9/intl/internationalization-enhancements-jdk-9.htm#JSINT-GUID-AF5AECA7-07C1-4E7D-BC10-BC7E73DC6C7F - "-Djava.locale.providers=COMPAT,CLDR,SPI", + "-Djava.locale.providers=COMPAT", ] POST_JDK17_OPTS = [
diff --git a/tools/eclipse/project.py b/tools/eclipse/project.py index d574ecf..3ad9e0c 100755 --- a/tools/eclipse/project.py +++ b/tools/eclipse/project.py
@@ -24,7 +24,7 @@ MAIN = '//tools/eclipse:classpath' AUTO = '//lib/auto:auto-value' -def JRE(java_vers = '11'): +def JRE(java_vers = '17'): return '/'.join([ 'org.eclipse.jdt.launching.JRE_CONTAINER', 'org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType',