Allow building third-party apps based on gRPC

By publishing the repackaged grpc and protobuf artifacts

Change-Id: Ib3af7dba4f64948132aa70be31922de61d6f6ab2
diff --git a/lib/BUILD b/lib/BUILD
new file mode 100644
index 0000000..52c4ea6
--- /dev/null
+++ b/lib/BUILD
@@ -0,0 +1,66 @@
+load("//tools/build/bazel:osgi_java_library.bzl", "wrapped_osgi_jar")
+
+# Wrap protobuf and grpc-related JARs in OSGi-compatible ones, since the
+# original ones are built with Bazel and NOT imported via mvn.
+
+wrapped_osgi_jar(
+    # Differently from the official "grpc-core" package, here we also include
+    # "grpc-context" to solve the OSGI split-brain problem:
+    # https://github.com/grpc/grpc-java/issues/2727
+    # We use patched Bazel BUILD files to package together core and context (see
+    # tools/build/bazel/grpc_workspace.bzl). If you need grpc-context as a
+    # compile-time dependency, please use this one.
+    name = "io_grpc_grpc_core_context",
+    generate_pom = True,
+    jar = "@io_grpc_grpc_java//core",
+    visibility = ["//visibility:public"],
+    deps = [],
+)
+
+wrapped_osgi_jar(
+    name = "io_grpc_grpc_stub",
+    generate_pom = True,
+    jar = "@io_grpc_grpc_java//stub",
+    visibility = ["//visibility:public"],
+    deps = [],
+)
+
+wrapped_osgi_jar(
+    name = "io_grpc_grpc_netty",
+    generate_pom = True,
+    jar = "@io_grpc_grpc_java//netty",
+    visibility = ["//visibility:public"],
+    deps = [],
+)
+
+wrapped_osgi_jar(
+    name = "io_grpc_grpc_auth",
+    generate_pom = True,
+    jar = "@io_grpc_grpc_java//auth",
+    visibility = ["//visibility:public"],
+    deps = [],
+)
+
+wrapped_osgi_jar(
+    name = "io_grpc_grpc_protobuf",
+    generate_pom = True,
+    jar = "@io_grpc_grpc_java//protobuf",
+    visibility = ["//visibility:public"],
+    deps = [],
+)
+
+wrapped_osgi_jar(
+    name = "io_grpc_grpc_protobuf_lite",
+    generate_pom = True,
+    jar = "@io_grpc_grpc_java//protobuf-lite",
+    visibility = ["//visibility:public"],
+    deps = [],
+)
+
+wrapped_osgi_jar(
+    name = "com_google_protobuf_protobuf_java",
+    generate_pom = True,
+    jar = "@com_google_protobuf//:protobuf_java",
+    visibility = ["//visibility:public"],
+    deps = [],
+)