Fix the Bazel build re/nanopb
This change modifies the BUILD rule dependencies used for nanopb,
switching them from third_party to //external -- the former uses
submodules, which don't work well with Bazel (since Bazel removes
submodules from repositories as it fetches them, preferring instead to
unify submodule versions across the workspace via the top-level
WORKSPACE configuration).
diff --git a/BUILD b/BUILD
index 52d1d5a..025878d 100644
--- a/BUILD
+++ b/BUILD
@@ -41,6 +41,7 @@
+
cc_library(
name = "gpr",
srcs = [
@@ -154,6 +155,7 @@
)
+
cc_library(
name = "grpc",
srcs = [
@@ -294,10 +296,6 @@
"src/core/lib/tsi/ssl_types.h",
"src/core/lib/tsi/transport_security.h",
"src/core/lib/tsi/transport_security_interface.h",
- "third_party/nanopb/pb.h",
- "third_party/nanopb/pb_common.h",
- "third_party/nanopb/pb_decode.h",
- "third_party/nanopb/pb_encode.h",
"src/core/ext/transport/chttp2/client/insecure/channel_create.c",
"src/core/ext/transport/chttp2/client/secure/secure_channel_create.c",
"src/core/ext/transport/chttp2/server/insecure/server_chttp2.c",
@@ -459,9 +457,6 @@
"src/core/lib/tsi/fake_transport_security.c",
"src/core/lib/tsi/ssl_transport_security.c",
"src/core/lib/tsi/transport_security.c",
- "third_party/nanopb/pb_common.c",
- "third_party/nanopb/pb_decode.c",
- "third_party/nanopb/pb_encode.c",
],
hdrs = [
"include/grpc/byte_buffer.h",
@@ -486,6 +481,7 @@
"//external:libssl",
"//external:zlib",
":gpr",
+ "//external:nanopb",
],
copts = [
"-std=gnu99",
@@ -493,6 +489,7 @@
)
+
cc_library(
name = "grpc_codegen_lib",
srcs = [
@@ -529,6 +526,7 @@
)
+
cc_library(
name = "grpc_unsecure",
srcs = [
@@ -655,10 +653,6 @@
"src/core/lib/transport/static_metadata.h",
"src/core/lib/transport/transport.h",
"src/core/lib/transport/transport_impl.h",
- "third_party/nanopb/pb.h",
- "third_party/nanopb/pb_common.h",
- "third_party/nanopb/pb_decode.h",
- "third_party/nanopb/pb_encode.h",
"src/core/ext/transport/chttp2/client/insecure/channel_create.c",
"src/core/ext/transport/chttp2/server/insecure/server_chttp2.c",
"src/core/ext/transport/chttp2/transport/alpn.c",
@@ -800,9 +794,6 @@
"src/core/lib/transport/static_metadata.c",
"src/core/lib/transport/transport.c",
"src/core/lib/transport/transport_op_string.c",
- "third_party/nanopb/pb_common.c",
- "third_party/nanopb/pb_decode.c",
- "third_party/nanopb/pb_encode.c",
],
hdrs = [
"include/grpc/byte_buffer.h",
@@ -824,6 +815,7 @@
],
deps = [
":gpr",
+ "//external:nanopb",
],
copts = [
"-std=gnu99",
@@ -831,6 +823,7 @@
)
+
cc_library(
name = "grpc_zookeeper",
srcs = [
@@ -851,6 +844,7 @@
)
+
cc_library(
name = "grpc++",
srcs = [
@@ -983,6 +977,7 @@
)
+
cc_library(
name = "grpc++_codegen_lib",
srcs = [
@@ -1050,6 +1045,7 @@
)
+
cc_library(
name = "grpc++_unsecure",
srcs = [
@@ -1174,6 +1170,7 @@
)
+
cc_library(
name = "grpc_plugin_support",
srcs = [
@@ -1225,6 +1222,7 @@
)
+
cc_library(
name = "grpc_csharp_ext",
srcs = [
@@ -1244,6 +1242,7 @@
+
objc_library(
name = "gpr_objc",
srcs = [
@@ -1357,6 +1356,7 @@
)
+
objc_library(
name = "grpc_objc",
srcs = [
@@ -1521,9 +1521,6 @@
"src/core/lib/tsi/fake_transport_security.c",
"src/core/lib/tsi/ssl_transport_security.c",
"src/core/lib/tsi/transport_security.c",
- "third_party/nanopb/pb_common.c",
- "third_party/nanopb/pb_decode.c",
- "third_party/nanopb/pb_encode.c",
],
hdrs = [
"include/grpc/byte_buffer.h",
@@ -1676,10 +1673,6 @@
"src/core/lib/tsi/ssl_types.h",
"src/core/lib/tsi/transport_security.h",
"src/core/lib/tsi/transport_security_interface.h",
- "third_party/nanopb/pb.h",
- "third_party/nanopb/pb_common.h",
- "third_party/nanopb/pb_decode.h",
- "third_party/nanopb/pb_encode.h",
],
includes = [
"include",
@@ -1688,6 +1681,7 @@
deps = [
":gpr_objc",
"//external:libssl_objc",
+ "//external:nanopb",
],
sdk_dylibs = ["libz"],
)