From 0d1cc8f8d3adb99f75fce180d857077ada3a19ee Mon Sep 17 00:00:00 2001
From: David Ostrovsky <a@a.com>
Date: Mon, 17 Jun 2019 23:28:52 +0200
Subject: [PATCH 3/3] Remove dependency on javax.xml.bind package

Replace javax.xml.bind.DatatypeConverter, that is not available any
more in Java 11 and later with Hex utility from non optional Bouncy
Castle library.

Bug: 540790
Change-Id: I9903c00ecc1a434e9795b8ba9267f02628fdc0e9
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
---
 BUILD                                                      | 7 -------
 org.eclipse.jgit/BUILD                                     | 4 ----
 .../src/org/eclipse/jgit/transport/WalkEncryption.java     | 7 +++----
 3 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/BUILD b/BUILD
index 5fea669..be6dd76 100644
--- a/BUILD
+++ b/BUILD
@@ -1,12 +1,5 @@
 package(default_visibility = ["//visibility:public"])
 
-config_setting(
-    name = "jdk9",
-    values = {
-        "java_toolchain": "@bazel_tools//tools/jdk:toolchain_jdk9",
-    },
-)
-
 genrule(
     name = "all",
     testonly = 1,
diff --git a/org.eclipse.jgit/BUILD b/org.eclipse.jgit/BUILD
index b67bfac..814ecec 100644
--- a/org.eclipse.jgit/BUILD
+++ b/org.eclipse.jgit/BUILD
@@ -14,10 +14,6 @@ RESOURCES = glob(["resources/**"])
 java_library(
     name = "jgit",
     srcs = SRCS,
-    javacopts = select({
-        "//:jdk9": ["--add-modules=java.xml.bind"],
-        "//conditions:default": [],
-    }),
     resource_strip_prefix = "org.eclipse.jgit/resources",
     resources = RESOURCES,
     deps = [
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
index b4248ee..7a973af 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
@@ -66,8 +66,8 @@
 import javax.crypto.spec.PBEKeySpec;
 import javax.crypto.spec.PBEParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
-import javax.xml.bind.DatatypeConverter;
 
+import org.bouncycastle.util.encoders.Hex;
 import org.eclipse.jgit.internal.JGitText;
 import org.eclipse.jgit.util.Base64;
 
@@ -301,7 +301,7 @@ InputStream decrypt(InputStream in) throws IOException {
 		String DEFAULT_KEY_ALGO = JetS3tV2.ALGORITHM;
 		String DEFAULT_KEY_SIZE = Integer.toString(JetS3tV2.KEY_SIZE);
 		String DEFAULT_KEY_ITER = Integer.toString(JetS3tV2.ITERATIONS);
-		String DEFAULT_KEY_SALT = DatatypeConverter.printHexBinary(JetS3tV2.SALT);
+		String DEFAULT_KEY_SALT = Hex.toHexString(JetS3tV2.SALT);
 
 		String EMPTY = ""; //$NON-NLS-1$
 
@@ -377,8 +377,7 @@ static GeneralSecurityException securityError(String message) {
 
 			final byte[] salt;
 			try {
-				salt = DatatypeConverter
-						.parseHexBinary(keySalt.replaceAll(REGEX_WS, EMPTY));
+				salt = Hex.decode(keySalt.replaceAll(REGEX_WS, EMPTY));
 			} catch (Exception e) {
 				throw securityError(X_KEY_SALT + EMPTY + keySalt);
 			}
-- 
2.20.1

