aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-05-16 13:09:33 -0700
committerGravatar Craig Tiller <ctiller@google.com>2017-05-16 13:09:33 -0700
commita753371f05dd116df3f27a18eb6e08e1ed0c1b4f (patch)
tree7419dc13ad015fd2e2c36a975f9d1e317e5629b0
parenta3eac51e1e8eb9ace390d181d328de8fce009a5b (diff)
Rework well_known_protos attr, and some other fixes
-rw-r--r--bazel/cc_grpc_library.bzl5
-rw-r--r--bazel/generate_cc.bzl8
-rw-r--r--bazel/grpc_build_system.bzl2
-rw-r--r--examples/BUILD2
-rw-r--r--src/proto/grpc/status/BUILD2
-rw-r--r--test/cpp/interop/BUILD18
-rw-r--r--test/cpp/util/BUILD14
-rw-r--r--tools/grpcz/BUILD4
8 files changed, 37 insertions, 18 deletions
diff --git a/bazel/cc_grpc_library.bzl b/bazel/cc_grpc_library.bzl
index 0600bb9e30..afc5543795 100644
--- a/bazel/cc_grpc_library.bzl
+++ b/bazel/cc_grpc_library.bzl
@@ -12,9 +12,8 @@ def cc_grpc_library(name, srcs, deps, proto_only, well_known_protos, generate_mo
srcs: a single proto_library, which wraps the .proto files with services.
deps: a list of C++ proto_library (or cc_proto_library) which provides
the compiled code of any message that the services depend on.
- well_known_protos: The target from protobuf library that exports well
- known protos. Currently it will only work if the value is
- "@com_google_protobuf//:well_known_protos"
+ well_known_protos: Should this library additionally depend on well known
+ protos
use_external: When True the grpc deps are prefixed with //external. This
allows grpc to be used as a dependency in other bazel projects.
generate_mock: When true GMOCk code for client stub is generated.
diff --git a/bazel/generate_cc.bzl b/bazel/generate_cc.bzl
index d05509fc15..7fffb58218 100644
--- a/bazel/generate_cc.bzl
+++ b/bazel/generate_cc.bzl
@@ -57,7 +57,7 @@ def generate_cc_impl(ctx):
return struct(files=set(out_files))
-generate_cc = rule(
+_generate_cc = rule(
attrs = {
"srcs": attr.label_list(
mandatory = True,
@@ -90,3 +90,9 @@ generate_cc = rule(
output_to_genfiles = True,
implementation = generate_cc_impl,
)
+
+def generate_cc(well_known_protos, **kwargs):
+ if well_known_protos:
+ _generate_cc(well_known_protos="@com_google_protobuf//:well_known_protos", **kwargs)
+ else:
+ _generate_cc(**kwargs)
diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl
index 0f66edbcd0..b19c85c962 100644
--- a/bazel/grpc_build_system.bzl
+++ b/bazel/grpc_build_system.bzl
@@ -67,7 +67,7 @@ def grpc_proto_plugin(name, srcs = [], deps = []):
load("//:bazel/cc_grpc_library.bzl", "cc_grpc_library")
-def grpc_proto_library(name, srcs = [], deps = [], well_known_protos = None,
+def grpc_proto_library(name, srcs = [], deps = [], well_known_protos = False,
has_services = True, use_external = False, generate_mock = False):
cc_grpc_library(
name = name,
diff --git a/examples/BUILD b/examples/BUILD
index bd2d3c3150..33131346ac 100644
--- a/examples/BUILD
+++ b/examples/BUILD
@@ -27,6 +27,8 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+licenses(["notice"]) # 3-clause BSD
+
package(default_visibility = ["//visibility:public"])
load("//bazel:grpc_build_system.bzl", "grpc_proto_library")
diff --git a/src/proto/grpc/status/BUILD b/src/proto/grpc/status/BUILD
index 71363bd1b6..a93bfac419 100644
--- a/src/proto/grpc/status/BUILD
+++ b/src/proto/grpc/status/BUILD
@@ -37,5 +37,5 @@ grpc_proto_library(
name = "status_proto",
srcs = ["status.proto"],
has_services = False,
- well_known_protos = "@com_google_protobuf//:well_known_protos",
+ well_known_protos = True,
)
diff --git a/test/cpp/interop/BUILD b/test/cpp/interop/BUILD
index 1a3e8d916f..04c3489adc 100644
--- a/test/cpp/interop/BUILD
+++ b/test/cpp/interop/BUILD
@@ -29,8 +29,11 @@
licenses(["notice"]) # 3-clause BSD
-cc_library(
+load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_cc_binary")
+
+grpc_cc_library(
name = "server_helper_lib",
+ language = "c++",
srcs = [
"server_helper.cc",
],
@@ -39,12 +42,15 @@ cc_library(
],
deps = [
"//test/cpp/util:test_util",
- "//external:gflags",
+ ],
+ external_deps = [
+ "gflags",
],
)
-cc_binary(
+grpc_cc_binary(
name = "interop_server",
+ language = "c++",
srcs = [
"interop_server.cc",
"interop_server_bootstrap.cc",
@@ -59,8 +65,9 @@ cc_binary(
],
)
-cc_library(
+grpc_cc_library(
name = "client_helper_lib",
+ language = "c++",
srcs = [
"client_helper.cc",
"interop_client.cc",
@@ -79,8 +86,9 @@ cc_library(
],
)
-cc_binary(
+grpc_cc_binary(
name = "interop_client",
+ language = "c++",
srcs = [
"client.cc",
],
diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD
index 453e9b6c0f..9e4701b179 100644
--- a/test/cpp/util/BUILD
+++ b/test/cpp/util/BUILD
@@ -29,7 +29,7 @@
licenses(["notice"]) # 3-clause BSD
-load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_binary")
+load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_binary", "grpc_cc_test")
package(default_visibility = ["//visibility:public"])
@@ -141,19 +141,21 @@ grpc_cc_library(
],
)
-cc_test(
+grpc_cc_test(
name = "error_details_test",
srcs = [
"error_details_test.cc",
],
deps = [
"//:grpc++_error_details",
- "//external:gtest",
"//src/proto/grpc/testing:echo_messages_proto",
],
+ external_deps = [
+ "gtest",
+ ],
)
-cc_binary(
+grpc_cc_binary(
name = "grpc_cli",
srcs = [
"cli_call.cc",
@@ -175,7 +177,9 @@ cc_binary(
],
deps = [
"//:grpc++",
- "//external:gflags",
"//src/proto/grpc/reflection/v1alpha:reflection_proto",
],
+ external_deps = [
+ "gflags",
+ ],
)
diff --git a/tools/grpcz/BUILD b/tools/grpcz/BUILD
index cc887a5375..fbd01cbf9a 100644
--- a/tools/grpcz/BUILD
+++ b/tools/grpcz/BUILD
@@ -38,7 +38,7 @@ grpc_proto_library(
srcs = [
"monitoring.proto",
],
- well_known_protos = "@com_google_protobuf//:well_known_protos",
+ well_known_protos = True,
deps = [
":census_proto",
],
@@ -49,7 +49,7 @@ grpc_proto_library(
srcs = [
"census.proto",
],
- well_known_protos = "@com_google_protobuf//:well_known_protos",
+ well_known_protos = True,
)
cc_binary(