diff options
author | David Ostrovsky <david@ostrovsky.org> | 2017-12-13 23:41:45 +0100 |
---|---|---|
committer | Matthias Sohn <matthias.sohn@sap.com> | 2018-02-07 17:51:35 -0500 |
commit | ab1b97234ded461407b163b178a592cdabe66930 (patch) | |
tree | 20e1fe34e3ae39e691dc9c4a7f787c759e00965b /BUILD | |
parent | 6766fc85d06464402168e71e27a506eb2042b279 (diff) | |
download | jgit-ab1b97234ded461407b163b178a592cdabe66930.tar.gz jgit-ab1b97234ded461407b163b178a592cdabe66930.zip |
Bazel: Support building with Java 9
Bazel@HEAD supports Java 9.
The current code has one single issue with Java 9 compliance: the usage
of javax.xml.bind.DatatypeConverter class for printHexBinary() method.
This class is not available on Java 9. One alternative is to use guava
library. Something similar was done here: [1]. But unlike the case with
checkstyle library, JGit currently doesn't use guava. Instead, we add
java.xml.bind module with --add-modules compiler option.
To build (or test) with Java 9, build custom bazel version and issue:
$ bazel --host_javabase=/usr/lib64/jvm/java-9-openjdk build \
--javacopt='--release 9' \
--java_toolchain=@bazel_tools//tools/jdk:toolchain_jdk9 :all
The Java 9 support is backwards compatible.
* [1] https://github.com/checkstyle/checkstyle/issues/5027
Change-Id: I2c5203fc4e65885ce7b210f824fda85ba6d6c51d
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
Diffstat (limited to 'BUILD')
-rw-r--r-- | BUILD | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1,5 +1,12 @@ package(default_visibility = ["//visibility:public"]) +config_setting( + name = "jdk9", + values = { + "java_toolchain": "@bazel_tools//tools/jdk:toolchain_jdk9", + }, +) + genrule( name = "all", testonly = 1, |