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/protocols/grpc/BUILD b/protocols/grpc/BUILD
index e568960..56218f0 100644
--- a/protocols/grpc/BUILD
+++ b/protocols/grpc/BUILD
@@ -1,17 +1,23 @@
+load("//tools/build/bazel:osgi_java_library.bzl", "wrapped_osgi_jar")
 
 BUNDLES = [
-    "//protocols/grpc/proto:dummy_java_grpc",
-    "//protocols/grpc/proto:dummy_java_proto",
+    "//protocols/grpc/proto:onos-protocols-grpc-proto",
     "//protocols/grpc/api:onos-protocols-grpc-api",
     "//protocols/grpc/ctl:onos-protocols-grpc-ctl",
-    # gRPC dependencies
-    "@runtime_grpc_core//jar",
+    # gRPC dependencies (with patched core)
+    ":grpc-core-repkg",
     "@runtime_grpc_stub//jar",
     "@runtime_grpc_netty//jar",
     "@runtime_grpc_auth//jar",
     "@runtime_grpc_protobuf//jar",
     "@runtime_grpc_protobuf_lite//jar",
     "@runtime_protobuf//jar",
+    "@com_google_api_grpc_proto_google_common_protos//jar",
+    "@com_google_errorprone_error_prone_annotations//jar",
+    "@com_google_auth_google_auth_library_credentials//jar",
+    "@io_opencensus_opencensus_api//jar",
+    "@io_opencensus_opencensus_contrib_grpc_metrics//jar",
+    "@com_google_code_gson_gson//jar",
     # Lazily adding all netty-related packages.
     # Some of them might not be necessary.
     "@io_netty_netty//jar",
@@ -28,9 +34,16 @@
 
 onos_app (
     app_name = "org.onosproject.protocols.grpc",
-    title = "RPC Protocol Subsystem",
+    title = "gRPC Protocol Subsystem",
     category = "rotocol",
     url = "ttp://onosproject.org",
     description = "Exposes APIs to operate with gRPC channels",
     included_bundles = BUNDLES,
 )
+
+wrapped_osgi_jar(
+    name = "grpc-core-repkg",
+    jar = "@io_grpc_grpc_java//core:core",
+    deps = ["@io_opencensus_opencensus_api//jar"],
+    visibility = ["//visibility:public"],
+)