Fix p4runtime runtime dependencies when building with Bazel

A convenient macro for packaging together all proto and gRPC libraries
in an OSGi jar is provided. Also re-packaging of gRPC core (to avoid OSGi
split problem) is simplified by depending on a patched fork of grpc-java.

Change-Id: Idb79a5bea8ae0bc57b146bda1fc47a4568d12c60
diff --git a/tools/build/bazel/grpc_workspace.bzl b/tools/build/bazel/grpc_workspace.bzl
index 331f0a4..27938e0 100644
--- a/tools/build/bazel/grpc_workspace.bzl
+++ b/tools/build/bazel/grpc_workspace.bzl
@@ -1,19 +1,24 @@
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 
 GRPC_VER = "1.14.0"
-SHA = "657ee70cbbc7e8c5aa26d622329f5fc8bfa6ce5e960bcdbff802f785b0eba212"
+GRPC_SHA = "932c6e8a9f4ea26da7dc5cdb0faed53a8bb0821c9d0b43d8ab16c3f89d0cf909"
+
+GAPIS_COMMIT = "37cc0e5acae50ee91f00827a7010c3b07dfa5311"
+GAPIS_SHA = "17d023f48ea290f25edaf25a967973b5a42ce6d71b1570862f302d95aa8b9f77"
 
 def generate_grpc():
+    # Patched grpc-java that fixes the OSGi split problem.
     http_archive(
         name = "io_grpc_grpc_java",
-        urls = ["https://github.com/grpc/grpc-java/archive/v%s.zip" % GRPC_VER],
-        sha256 = SHA,
-        strip_prefix = "grpc-java-" + GRPC_VER,
+        urls = ["https://github.com/ccascone/grpc-java/archive/v%s-patched.zip" % GRPC_VER],
+        sha256 = GRPC_SHA,
+        strip_prefix = "grpc-java-%s-patched" % GRPC_VER,
     )
+    # Google APIs protos (status.proto, etc.)
     http_archive(
-        name = "io_grpc_grpc_java_core_repkg",
-        urls = ["https://github.com/grpc/grpc-java/archive/v%s.zip" % GRPC_VER],
-        sha256 = SHA,
-        strip_prefix = "grpc-java-%s/core" % GRPC_VER,
-        build_file = "//tools/build/bazel:grpc_core_repkg_BUILD",
+        name = "com_github_googleapis",
+        urls = ["https://github.com/googleapis/googleapis/archive/%s.zip" % GAPIS_COMMIT],
+        sha256 = GAPIS_SHA,
+        strip_prefix = "googleapis-" + GAPIS_COMMIT,
+        build_file = "//tools/build/bazel:googleapis_BUILD"
     )