diff options
author | Luca Milanesio <luca.milanesio@gmail.com> | 2020-10-09 23:40:25 +0100 |
---|---|---|
committer | Luca Milanesio <luca.milanesio@gmail.com> | 2020-10-10 00:29:10 +0100 |
commit | aed17b3d86227c64baba7d3346762a34f3b82c2c (patch) | |
tree | 9629df896a646ed1b3c7053d7d58f3526d093448 | |
parent | 36b398b81ee0b17ef3657aba1a393799a882d84f (diff) |
Generate a Java 11 Eclipse project by default
Set the Java 11 JDK runtime by default in Eclipse
when generating the project using tools/eclipse/project.py.
Java 8 legacy project generation is still supported
using a custom java version.
Example:
tools/eclipse/project.py -j=1.8
Bug: Issue 13494
Change-Id: Id323e393009f094687d1ac50001520ff831c7652
-rwxr-xr-x | tools/eclipse/project.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/tools/eclipse/project.py b/tools/eclipse/project.py index b1d52422f5..acb53461e2 100755 --- a/tools/eclipse/project.py +++ b/tools/eclipse/project.py @@ -23,11 +23,14 @@ import sys MAIN = '//tools/eclipse:classpath' AUTO = '//lib/auto:auto-value' -JRE = '/'.join([ - 'org.eclipse.jdt.launching.JRE_CONTAINER', - 'org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType', - 'JavaSE-1.8', -]) + +def JRE(java_vers = '11'): + return '/'.join([ + 'org.eclipse.jdt.launching.JRE_CONTAINER', + 'org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType', + "JavaSE-%s" % java_vers, + ]) + # Map of targets to corresponding classpath collector rules cp_targets = { AUTO: '//tools/eclipse:autovalue_classpath_collect', @@ -46,9 +49,9 @@ opts.add_argument('--name', help='name of the generated project', opts.add_argument('-b', '--batch', action='store_true', dest='batch', help='Bazel batch option') opts.add_argument('-j', '--java', action='store', - dest='java', help='Post Java 8 support (9)') + dest='java', help='Legacy Java 1.8 or post Java 11') opts.add_argument('-e', '--edge_java', action='store', - dest='edge_java', help='Post Java 9 support (10|11|...)') + dest='edge_java', help='Post Java 11 support (14|...)') opts.add_argument('--bazel', help=('name of the bazel executable. Defaults to using' ' bazelisk if found, or bazel if bazelisk is not' @@ -95,7 +98,9 @@ def _build_bazel_cmd(*args): if arg == "build": build = True cmd.append(arg) - if custom_java and not edge_java: + if custom_java == '1.8': + cmd.append('--java_toolchain=//tools:error_prone_warnings_toolchain') + elif custom_java and not edge_java: cmd.append('--host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java%s' % custom_java) cmd.append('--java_toolchain=@bazel_tools//tools/jdk:toolchain_java%s' % custom_java) if edge_java and build: @@ -312,7 +317,7 @@ def gen_classpath(ext): s = s.replace('.jar', '-src.jar') classpathentry('lib', p, s) - classpathentry('con', JRE) + classpathentry('con', JRE(custom_java) if custom_java else JRE()) classpathentry('output', 'eclipse-out/classes') classpathentry('src', '.apt_generated') classpathentry('src', '.apt_generated_tests', out="eclipse-out/test") |