]> source.dussan.org Git - jgit.git/commit
Bazel: Support building with Java 9 68/113368/6
authorDavid Ostrovsky <david@ostrovsky.org>
Wed, 13 Dec 2017 22:41:45 +0000 (23:41 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Wed, 7 Feb 2018 22:51:35 +0000 (17:51 -0500)
commitab1b97234ded461407b163b178a592cdabe66930
tree20e1fe34e3ae39e691dc9c4a7f787c759e00965b
parent6766fc85d06464402168e71e27a506eb2042b279
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>
BUILD
org.eclipse.jgit/BUILD