diff options
Diffstat (limited to 'bazel')
-rw-r--r-- | bazel/cc_grpc_library.bzl | 6 | ||||
-rw-r--r-- | bazel/generate_cc.bzl | 6 | ||||
-rw-r--r-- | bazel/grpc_build_system.bzl | 44 |
3 files changed, 36 insertions, 20 deletions
diff --git a/bazel/cc_grpc_library.bzl b/bazel/cc_grpc_library.bzl index 94781ed7ae..5216a7a44b 100644 --- a/bazel/cc_grpc_library.bzl +++ b/bazel/cc_grpc_library.bzl @@ -2,7 +2,7 @@ load("//:bazel/generate_cc.bzl", "generate_cc") -def cc_grpc_library(name, srcs, deps, proto_only, well_known_protos, generate_mock, use_external = False, **kwargs): +def cc_grpc_library(name, srcs, deps, proto_only, well_known_protos, generate_mocks = False, use_external = False, **kwargs): """Generates C++ grpc classes from a .proto file. Assumes the generated classes will be used in cc_api_version = 2. @@ -16,7 +16,7 @@ def cc_grpc_library(name, srcs, deps, proto_only, well_known_protos, generate_mo 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. + generate_mocks: When True, Google Mock code for client stub is generated. **kwargs: rest of arguments, e.g., compatible_with and visibility. """ if len(srcs) > 1: @@ -54,7 +54,7 @@ def cc_grpc_library(name, srcs, deps, proto_only, well_known_protos, generate_mo srcs = [proto_target], plugin = plugin, well_known_protos = well_known_protos, - generate_mock = generate_mock, + generate_mocks = generate_mocks, **kwargs ) diff --git a/bazel/generate_cc.bzl b/bazel/generate_cc.bzl index 96610d873e..ae747aa42c 100644 --- a/bazel/generate_cc.bzl +++ b/bazel/generate_cc.bzl @@ -23,7 +23,7 @@ def generate_cc_impl(ctx): if ctx.executable.plugin: outs += [proto.path[label_len:-len(".proto")] + ".grpc.pb.h" for proto in protos] outs += [proto.path[label_len:-len(".proto")] + ".grpc.pb.cc" for proto in protos] - if ctx.attr.generate_mock: + if ctx.attr.generate_mocks: outs += [proto.path[label_len:-len(".proto")] + "_mock.grpc.pb.h" for proto in protos] else: outs += [proto.path[label_len:-len(".proto")] + ".pb.h" for proto in protos] @@ -35,7 +35,7 @@ def generate_cc_impl(ctx): if ctx.executable.plugin: arguments += ["--plugin=protoc-gen-PLUGIN=" + ctx.executable.plugin.path] flags = list(ctx.attr.flags) - if ctx.attr.generate_mock: + if ctx.attr.generate_mocks: flags.append("generate_mock_code=true") arguments += ["--PLUGIN_out=" + ",".join(flags) + ":" + dir_out] additional_input = [ctx.executable.plugin] @@ -98,7 +98,7 @@ _generate_cc = rule( "well_known_protos" : attr.label( mandatory = False, ), - "generate_mock" : attr.bool( + "generate_mocks" : attr.bool( default = False, mandatory = False, ), diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl index 662068ad2a..095b1596c8 100644 --- a/bazel/grpc_build_system.bzl +++ b/bazel/grpc_build_system.bzl @@ -37,7 +37,9 @@ def _get_external_deps(external_deps): ret = [] for dep in external_deps: if dep == "nanopb": - ret += ["//third_party/nanopb"] + ret += ["grpc_nanopb"] + elif dep == "address_sorting": + ret += ["//third_party/address_sorting"] elif dep == "cares": ret += select({"//:grpc_no_ares": [], "//conditions:default": ["//external:cares"],}) @@ -57,12 +59,6 @@ def _maybe_update_cc_library_hdrs(hdrs): ret.append(h) return ret -def _maybe_update_cc_library_defines(name): - ret = [] - if name == "alts_proto": - ret += ["PB_FIELD_16BIT=1"] - return ret - def grpc_cc_library(name, srcs = [], public_hdrs = [], hdrs = [], external_deps = [], deps = [], standalone = False, language = "C++", testonly = False, visibility = None, @@ -70,11 +66,10 @@ def grpc_cc_library(name, srcs = [], public_hdrs = [], hdrs = [], copts = [] if language.upper() == "C": copts = if_not_windows(["-std=c99"]) - defines = _maybe_update_cc_library_defines(name) native.cc_library( name = name, srcs = srcs, - defines = defines + select({"//:grpc_no_ares": ["GRPC_ARES=0"], + defines = select({"//:grpc_no_ares": ["GRPC_ARES=0"], "//conditions:default": [],}) + select({"//:remote_execution": ["GRPC_PORT_ISOLATED_RUNTIME=1"], "//conditions:default": [],}) + @@ -104,7 +99,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 = False, - has_services = True, use_external = False, generate_mock = False): + has_services = True, use_external = False, generate_mocks = False): cc_grpc_library( name = name, srcs = srcs, @@ -112,10 +107,10 @@ def grpc_proto_library(name, srcs = [], deps = [], well_known_protos = False, well_known_protos = well_known_protos, proto_only = not has_services, use_external = use_external, - generate_mock = generate_mock, + generate_mocks = generate_mocks, ) -def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, language = "C++"): +def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, language = "C++", size = "medium", timeout = "moderate"): copts = [] if language.upper() == "C": copts = if_not_windows(["-std=c99"]) @@ -127,6 +122,8 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data 'deps': deps + _get_external_deps(external_deps), 'copts': copts, 'linkopts': if_not_windows(["-pthread"]), + 'size': size, + 'timeout': timeout, } if uses_polling: native.cc_test(testonly=True, tags=['manual'], **args) @@ -137,9 +134,11 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data srcs = [ '//test/core/util:run_with_poller_sh', ], + size = size, + timeout = timeout, args = [ poller, - '$(location %s)' % name + '$(location %s)' % name, ] + args['args'], ) else: @@ -162,7 +161,23 @@ def grpc_cc_binary(name, srcs = [], deps = [], external_deps = [], args = [], da ) def grpc_generate_one_off_targets(): - pass + native.cc_library( + name = "grpc_nanopb", + hdrs = [ + "//third_party/nanopb:pb.h", + "//third_party/nanopb:pb_common.h", + "//third_party/nanopb:pb_decode.h", + "//third_party/nanopb:pb_encode.h", + ], + srcs = [ + "//third_party/nanopb:pb_common.c", + "//third_party/nanopb:pb_decode.c", + "//third_party/nanopb:pb_encode.c", + ], + defines = [ + "PB_FIELD_16BIT=1", + ], + ) def grpc_sh_test(name, srcs, args = [], data = []): native.sh_test( @@ -181,6 +196,7 @@ def grpc_py_binary(name, srcs, data = [], deps = [], external_deps = [], testonl native.py_binary( name = name, srcs = srcs, + testonly = testonly, data = data, deps = deps + _get_external_deps(external_deps) ) |