[WIP] Attempt at building grpc and p4runtime protocols with Bazel

STILL NOT WORKING AT RUNTIME

Change-Id: I1f9e60b12a12e09edad2a714ec2921a4f71c6d35
diff --git a/lib/deps.json b/lib/deps.json
index 44e9827..625869f 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -8,7 +8,7 @@
       "commons-lang3",
       "commons-io",
       "commons-pool",
-      "guava",
+      "com_google_guava_guava",
       "slf4j-api",
       "osgi-core",
       "org.osgi.compendium",
@@ -16,7 +16,7 @@
       "org.apache.felix.scr",
       "org.apache.karaf.features.core",
       "org.apache.karaf.system.core",
-      { "name": "jsr305", "compile_only": true },
+      { "name": "com_google_code_findbugs_jsr305", "compile_only": true },
       "org.apache.servicemix.bundles.dom4j"
     ],
     "CORE_DEPS": [
@@ -30,7 +30,7 @@
       "easymock",
       "hamcrest-all",
       "hamcrest-optional",
-      "guava-testlib",
+      "com_google_guava_guava_testlib",
       "//utils/junit:onlab-junit"
     ],
     "TEST_ADAPTERS": [
@@ -59,7 +59,7 @@
       "hk2-utils",
       "javax.inject",
       "hk2-osgi-resource-locator",
-      "javax.annotation-api",
+      "javax.annotation-api-mvn",
       "validation-api",
       "//core/common:onos-core-common",
       "//core/api:onos-api-tests",
@@ -67,25 +67,8 @@
       "//utils/osgi:onlab-osgi-tests"
     ],
     "NETTY": [
-      "netty-buffer",
-      "netty-common"
-    ],
-    "GRPC_1.3": [
-      "grpc-protobuf-1.3.1",
-      "grpc-stub-1.3.1",
-      "grpc-netty-1.3.1",
-      "grpc-auth-1.3.1",
-      "grpc-context-1.3.1",
-      "google-truth-0.28"
-    ],
-    "GRPC_TEST_1.3": [
-      "grpc-testing-1.3.1",
-      "grpc-testing-proto-1.3.1",
-      "google-code-findbugs-3.0.0",
-      "google-errorprone-2.0.19",
-      "google-instrumentation-0.3.0",
-      "junit-dep",
-      "objenesis"
+      "io_netty_netty_buffer",
+      "io_netty_netty_common"
     ],
     "ONOS_YANG": [
       "onos-yang-model",
@@ -129,6 +112,25 @@
       "atomix-utils",
       "typesafe-config",
       "classgraph"
+    ],
+
+    // FIXME: Remove this for Bazel build
+    "GRPC_1.3": [
+      "grpc-protobuf-1.3.1",
+      "grpc-stub-1.3.1",
+      "grpc-netty-1.3.1",
+      "grpc-auth-1.3.1",
+      "grpc-context-1.3.1",
+      "google-truth-0.28"
+    ],
+    "GRPC_TEST_1.3": [
+      "grpc-testing-1.3.1",
+      "grpc-testing-proto-1.3.1",
+      "google-code-findbugs-3.0.0",
+      "google-errorprone-2.0.19",
+      "google-instrumentation-0.3.0",
+      "junit-dep",
+      "objenesis"
     ]
   },
 
@@ -164,12 +166,11 @@
     "concurrent-trees": "mvn:com.googlecode.concurrent-trees:concurrent-trees:2.6.1",
     "easymock": "mvn:org.easymock:easymock:3.6",
     "antlr": "mvn:antlr:antlr:2.7.7",
-    "error_prone_annotations": "mvn:com.google.errorprone:error_prone_annotations:2.0.18",
     "ganymed-ssh2": "mvn:ch.ethz.ganymed:ganymed-ssh2:262",
     "gmetric4j": "mvn:info.ganglia.gmetric4j:gmetric4j:1.0.10",
-    "gson": "mvn:com.google.code.gson:gson:2.7",
-    "guava": "mvn:com.google.guava:guava:22.0",
-    "guava-testlib": "mvn:com.google.guava:guava-testlib:22.0",
+    "com_google_code_gson_gson": "mvn:com.google.code.gson:gson:2.7",
+    "com_google_guava_guava": "mvn:com.google.guava:guava:22.0",
+    "com_google_guava_guava_testlib": "mvn:com.google.guava:guava-testlib:22.0",
     "hamcrest-all": "mvn:org.hamcrest:hamcrest-all:1.3",
     "hk2-api": "mvn:org.glassfish.hk2:hk2-api:2.5.0-b42",
     "hk2-locator": "mvn:org.glassfish.hk2:hk2-locator:2.5.0-b42",
@@ -187,7 +188,11 @@
     "jackson-annotations": "mvn:com.fasterxml.jackson.core:jackson-annotations:2.9.5",
     "jackson-core": "mvn:com.fasterxml.jackson.core:jackson-core:2.9.5",
     "jackson-databind": "mvn:com.fasterxml.jackson.core:jackson-databind:2.9.5",
-    "javax.annotation-api": "mvn:javax.annotation:javax.annotation-api:1.2",
+
+    // 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.2",
+
     "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",
     "jersey-client": "mvn:org.glassfish.jersey.core:jersey-client:2.26",
@@ -210,7 +215,7 @@
     "javax.servlet-api": "mvn:javax.servlet:javax.servlet-api:3.1.0",
     "joda-time": "mvn:joda-time:joda-time:2.9.3",
     "jsch": "mvn:com.jcraft:jsch:0.1.53",
-    "jsr305": "mvn:com.google.code.findbugs:jsr305:3.0.1",
+    "com_google_code_findbugs_jsr305": "mvn:com.google.code.findbugs:jsr305:3.0.1",
     "junit": "mvn:junit:junit:4.12",
     "junit-dep": "mvn:junit:junit:4.10",
     "kryo": "mvn:com.esotericsoftware:kryo:4.0.1",
@@ -222,16 +227,19 @@
     "metrics-json": "mvn:io.dropwizard.metrics:metrics-json:3.2.2",
     "minimal-json": "mvn:com.eclipsesource.minimal-json:minimal-json:0.9.4",
     "minlog": "mvn:com.esotericsoftware:minlog:1.3.0",
-    "netty": "mvn:io.netty:netty:3.10.5.Final",
-    "netty-buffer": "mvn:io.netty:netty-buffer:4.1.8.Final",
-    "netty-codec": "mvn:io.netty:netty-codec:4.1.8.Final",
-    "netty-common": "mvn:io.netty:netty-common:4.1.8.Final",
-    "netty-handler": "mvn:io.netty:netty-handler:4.1.8.Final",
-    "netty-transport": "mvn:io.netty:netty-transport:4.1.8.Final",
-    "netty-transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.8.Final",
-    "netty-resolver": "mvn:io.netty:netty-resolver:4.1.8.Final",
-    "netty-codec-http2": "mvn:io.netty:netty-codec-http2:4.1.8.Final",
-    "netty-codec-http": "mvn:io.netty:netty-codec-http:4.1.8.Final",
+    "io_netty_netty": "mvn:io.netty:netty:3.10.5.Final",
+    "io_netty_netty_buffer": "mvn:io.netty:netty-buffer:4.1.27.Final",
+    "io_netty_netty_codec": "mvn:io.netty:netty-codec:4.1.27.Final",
+    "io_netty_netty_common": "mvn:io.netty:netty-common:4.1.27.Final",
+    "io_netty_netty_handler": "mvn:io.netty:netty-handler:4.1.27.Final",
+    "io_netty_netty_handler_proxy": "mvn:io.netty:netty-handler-proxy:4.1.27.Final",
+    "io_netty_netty_transport": "mvn:io.netty:netty-transport:4.1.27.Final",
+    "io_netty_netty_transport_native_unix_common": "mvn:io.netty:netty-transport-native-unix-common:4.1.27.Final",
+    "io_netty_netty_transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.27.Final",
+    "io_netty_netty_resolver": "mvn:io.netty:netty-resolver:4.1.27.Final",
+    "io_netty_netty_codec-http2": "mvn:io.netty:netty-codec-http2:4.1.27.Final",
+    "io_netty_netty_codec-http": "mvn:io.netty:netty-codec-http:4.1.27.Final",
+    "io_netty_netty_codec-socks": "mvn:io.netty:netty-codec-socks:4.1.27.Final",
     "objenesis": "mvn:org.objenesis:objenesis:2.6",
     "openflowj": "mvn:org.onosproject:openflowj:3.2.1.onos",
     "org.apache.felix.framework.security": "mvn:org.onosproject:org.apache.felix.framework.security:jar:2.2.0.onos",
@@ -285,7 +293,6 @@
     "msg-simple": "mvn:com.github.fge:msg-simple:1.1",
     "snakeyaml": "mvn:org.yaml:snakeyaml:1.15",
 
-    // Note update BVER in tools/dev/bin/patch-yang-libs and YANG_VER in tools/build/onos-buck
     "onos-yang-model":"mvn:org.onosproject:onos-yang-model:2.5",
     "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:2.5",
     "onos-yang-compiler-main":"mvn:org.onosproject:onos-yang-compiler-main:2.5",
@@ -293,9 +300,23 @@
     "onos-yang-serializers-json":"mvn:org.onosproject:onos-yang-serializers-json:2.5",
     "onos-yang-serializers-xml":"mvn:org.onosproject:onos-yang-serializers-xml:2.5",
     "onos-yang-serializers-utils":"mvn:org.onosproject:onos-yang-serializers-utils:2.5",
+
     "org.apache.servicemix.bundles.dom4j":"mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6.1_5",
     "plexus-utils": "mvn:org.codehaus.plexus:plexus-utils:3.0.24",
     "sshd-core": "mvn:org.apache.sshd:sshd-core:1.4.0",
+    "bcpkix-jdk15on": "mvn:org.bouncycastle:bcpkix-jdk15on:1.59",
+    "bcprov-jdk15on": "mvn:org.bouncycastle:bcprov-jdk15on:1.59",
+    "hamcrest-optional": "mvn:com.spotify:hamcrest-optional:1.1.0",
+    "swagger-annotations": "mvn:io.swagger:swagger-annotations:1.5.16",
+    "kafka-clients": "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1",
+    "tinder-xmpp": "mvn:org.igniterealtime:tinder:1.3.0",
+    "aalto-xml": "mvn:com.fasterxml:aalto-xml:1.0.0",
+    "stax2-api": "mvn:org.codehaus.woodstox:stax2-api:4.0.0",
+    "concurrent-hashmap": "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.0",
+    "gnu-idn": "mvn:org.gnu.inet:libidn:1.15",
+    "sigar":"mvn:org.knowhowlab.osgi:sigar:1.6.5_01",
+
+    // FIXME: Remove this for Bazel build...
     "grpc-core-1.3.1": "mvn:io.grpc:grpc-core:1.3.1",
     "grpc-protobuf-1.3.1": "mvn:io.grpc:grpc-protobuf:1.3.1",
     "grpc-protobuf-lite-1.3.1": "mvn:io.grpc:grpc-protobuf-lite:1.3.1",
@@ -310,17 +331,6 @@
     "google-truth-0.28": "mvn:com.google.truth:truth:0.28",
     "google-code-findbugs-3.0.0": "mvn:com.google.code.findbugs:jsr305:3.0.0",
     "google-errorprone-2.0.19": "mvn:com.google.errorprone:error_prone_annotations:2.0.19",
-    "google-instrumentation-0.3.0": "mvn:com.google.instrumentation:instrumentation-api:0.3.0",
-    "bcpkix-jdk15on": "mvn:org.bouncycastle:bcpkix-jdk15on:1.59",
-    "bcprov-jdk15on": "mvn:org.bouncycastle:bcprov-jdk15on:1.59",
-    "hamcrest-optional": "mvn:com.spotify:hamcrest-optional:1.1.0",
-    "swagger-annotations": "mvn:io.swagger:swagger-annotations:1.5.16",
-    "kafka-clients": "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1",
-    "tinder-xmpp": "mvn:org.igniterealtime:tinder:1.3.0",
-    "aalto-xml": "mvn:com.fasterxml:aalto-xml:1.0.0",
-    "stax2-api": "mvn:org.codehaus.woodstox:stax2-api:4.0.0",
-    "concurrent-hashmap": "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.0",
-    "gnu-idn": "mvn:org.gnu.inet:libidn:1.15",
-    "sigar":"mvn:org.knowhowlab.osgi:sigar:1.6.5_01"
+    "google-instrumentation-0.3.0": "mvn:com.google.instrumentation:instrumentation-api:0.3.0"
   }
 }