First attempt at supporting builds with Java 11

Includes:
- Bump protobuf to 3.8.0 and grpc-java to 1.21.0 (along with transitive
  dependencies such as Netty)
- Add jaxb_api at compile time when needed (removed in JDK 11)
- Bump Bnd to 4.1 (adds support for Java 11)

To build with JDK 11, uncomment lines in .bazelrc.
Tested with Bazel 0.26.0.

Change-Id: Ib8e0c7310eacf97328762606e57c01e4834e5565
diff --git a/lib/deps.json b/lib/deps.json
index 4b59b68..38aed00 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -67,7 +67,7 @@
       "hk2-utils",
       "javax.inject",
       "hk2-osgi-resource-locator",
-      "javax.annotation-api-mvn",
+      "javax_annotation_javax_annotation_api",
       "validation-api",
       "//core/common:onos-core-common",
       "//core/api:onos-api-tests",
@@ -184,7 +184,7 @@
 
     // Note: grpc imports "javax_annotation_api" has an http file, so we need to give a different name here
     // See WORKSPACE
-    "javax.annotation-api-mvn": "mvn:javax.annotation:javax.annotation-api:1.3",
+    "javax_annotation_javax_annotation_api": "mvn:javax.annotation:javax.annotation-api:1.3",
 
     "javax.inject": "mvn:org.glassfish.hk2.external:javax.inject:2.5.0-b42",
     "javax.ws.rs-api": "mvn:javax.ws.rs:javax.ws.rs-api:2.1",
@@ -229,19 +229,19 @@
     "minimal-json": "mvn:com.eclipsesource.minimal-json:minimal-json:0.9.4",
     "minlog": "mvn:com.esotericsoftware:minlog:1.3.0",
     "io_netty_netty": "mvn:io.netty:netty:3.10.5.Final",
-    "io_netty_netty_buffer": "mvn:io.netty:netty-buffer:4.1.32.Final",
-    "io_netty_netty_codec": "mvn:io.netty:netty-codec:4.1.32.Final",
-    "io_netty_netty_common": "mvn:io.netty:netty-common:4.1.32.Final",
-    "io_netty_netty_handler": "mvn:io.netty:netty-handler:4.1.32.Final",
-    "io_netty_netty_handler_proxy": "mvn:io.netty:netty-handler-proxy:4.1.32.Final",
-    "io_netty_netty_transport": "mvn:io.netty:netty-transport:4.1.32.Final",
-    "io_netty_netty_transport_native_unix_common": "mvn:io.netty:netty-transport-native-unix-common:4.1.32.Final",
-    "io_netty_netty_transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.32.Final",
-    "io_netty_netty_resolver": "mvn:io.netty:netty-resolver:4.1.32.Final",
-    "io_netty_netty_codec-http2": "mvn:io.netty:netty-codec-http2:4.1.32.Final",
-    "io_netty_netty_codec-http": "mvn:io.netty:netty-codec-http:4.1.32.Final",
-    "io_netty_netty_codec-socks": "mvn:io.netty:netty-codec-socks:4.1.32.Final",
-    "io_netty_netty_tcnative_boringssl": "mvn:io.netty:netty-tcnative-boringssl-static:2.0.20.Final",
+    "io_netty_netty_buffer": "mvn:io.netty:netty-buffer:4.1.34.Final",
+    "io_netty_netty_codec": "mvn:io.netty:netty-codec:4.1.34.Final",
+    "io_netty_netty_common": "mvn:io.netty:netty-common:4.1.34.Final",
+    "io_netty_netty_handler": "mvn:io.netty:netty-handler:4.1.34.Final",
+    "io_netty_netty_handler_proxy": "mvn:io.netty:netty-handler-proxy:4.1.34.Final",
+    "io_netty_netty_transport": "mvn:io.netty:netty-transport:4.1.34.Final",
+    "io_netty_netty_transport_native_unix_common": "mvn:io.netty:netty-transport-native-unix-common:4.1.34.Final",
+    "io_netty_netty_transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.34.Final",
+    "io_netty_netty_resolver": "mvn:io.netty:netty-resolver:4.1.34.Final",
+    "io_netty_netty_codec-http2": "mvn:io.netty:netty-codec-http2:4.1.34.Final",
+    "io_netty_netty_codec-http": "mvn:io.netty:netty-codec-http:4.1.34.Final",
+    "io_netty_netty_codec-socks": "mvn:io.netty:netty-codec-socks:4.1.34.Final",
+    "io_netty_netty_tcnative_boringssl": "mvn:io.netty:netty-tcnative-boringssl-static:2.0.22.Final",
     "objenesis": "mvn:org.objenesis:objenesis:2.6",
     "openflowj": "mvn:org.onosproject:openflowj:3.2.1.onos",
     "org.osgi.util.function": "mvn:org.osgi:org.osgi.util.function:1.1.0",
@@ -275,8 +275,8 @@
     "validation-api": "mvn:javax.validation:validation-api:1.1.0.Final",
     "checkstyle": "mvn:com.puppycrawl.tools:checkstyle:8.10",
     "apache-karaf": "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.5-offline-201904251/apache-karaf-4.2.5-offline-201904251.tar.gz",
-    "bndlib": "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.0.0",
-    "bndexe": "mvn:biz.aQute.bnd:biz.aQute.bnd:4.0.0",
+    "bndlib": "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.1.0",
+    "bndexe": "mvn:biz.aQute.bnd:biz.aQute.bnd:4.1.0",
     "libthrift": "mvn:org.apache.thrift:libthrift:0.11.0",
     "qdox": "mvn:com.thoughtworks.qdox:qdox:2.0-M3",
     "snmp-core": "mvn:org.onosproject:snmp-core:1.3-20161021.1",
@@ -290,12 +290,12 @@
 
     // grpc related jars
     "com_google_api_grpc_proto_google_common_protos": "mvn:com.google.api.grpc:proto-google-common-protos:1.12.0",
-    "com_google_errorprone_error_prone_annotations": "mvn:com.google.errorprone:error_prone_annotations:2.3.2",
-    "com_google_auth_google_auth_library_credentials": "mvn:com.google.auth:google-auth-library-credentials:0.9.0",
-    "com_google_auth_google_auth_library_oauth2_http": "mvn:com.google.auth:google-auth-library-oauth2-http:0.9.0",
+    "com_google_errorprone_error_prone_annotations": "mvn:com.google.errorprone:error_prone_annotations:2.3.3",
+    "com_google_auth_google_auth_library_credentials": "mvn:com.google.auth:google-auth-library-credentials:0.13.0",
+    "com_google_auth_google_auth_library_oauth2_http": "mvn:com.google.auth:google-auth-library-oauth2-http:0.13.0",
     "com_google_j2objc_j2objc_annotations": "mvn:com.google.j2objc:j2objc-annotations:1.1",
-    "io_opencensus_opencensus_api": "mvn:io.opencensus:opencensus-api:0.18.0",
-    "io_opencensus_opencensus_contrib_grpc_metrics": "mvn:io.opencensus:opencensus-contrib-grpc-metrics:0.18.0",
+    "io_opencensus_opencensus_api": "mvn:io.opencensus:opencensus-api:0.21.0",
+    "io_opencensus_opencensus_contrib_grpc_metrics": "mvn:io.opencensus:opencensus-contrib-grpc-metrics:0.21.0",
 
     // Openstack4j related jars
     "openstack4j-core": "mvn:org.pacesys:openstack4j-core:3.2.0",