aboutsummaryrefslogtreecommitdiffhomepage
path: root/bazel/generate_cc.bzl
diff options
context:
space:
mode:
authorGravatar MakMukhi <mmukhi@google.com>2017-04-24 16:36:40 -0700
committerGravatar GitHub <noreply@github.com>2017-04-24 16:36:40 -0700
commitc090c619c117912b8c9e88a3c4bc8f778a94d582 (patch)
treee3063eb1460bccc34076a13719dfe5a1bd622aa1 /bazel/generate_cc.bzl
parentc83346f3c818b4948b3aaa018bb8c80feaf8efff (diff)
parent1bcb976a3a8b1da416a2766fb012335d52086c00 (diff)
Merge pull request #10644 from MakMukhi/master
Added unit testing support.
Diffstat (limited to 'bazel/generate_cc.bzl')
-rw-r--r--bazel/generate_cc.bzl11
1 files changed, 10 insertions, 1 deletions
diff --git a/bazel/generate_cc.bzl b/bazel/generate_cc.bzl
index 35c2983b54..8f0f94f563 100644
--- a/bazel/generate_cc.bzl
+++ b/bazel/generate_cc.bzl
@@ -12,6 +12,8 @@ def generate_cc_impl(ctx):
if ctx.executable.plugin:
outs += [proto.basename[:-len(".proto")] + ".grpc.pb.h" for proto in protos]
outs += [proto.basename[:-len(".proto")] + ".grpc.pb.cc" for proto in protos]
+ if ctx.attr.generate_mock:
+ outs += [proto.basename[:-len(".proto")] + "_mock.grpc.pb.h" for proto in protos]
else:
outs += [proto.basename[:-len(".proto")] + ".pb.h" for proto in protos]
outs += [proto.basename[:-len(".proto")] + ".pb.cc" for proto in protos]
@@ -23,7 +25,10 @@ def generate_cc_impl(ctx):
arguments = []
if ctx.executable.plugin:
arguments += ["--plugin=protoc-gen-PLUGIN=" + ctx.executable.plugin.path]
- arguments += ["--PLUGIN_out=" + ",".join(ctx.attr.flags) + ":" + dir_out]
+ flags = list(ctx.attr.flags)
+ if ctx.attr.generate_mock:
+ flags.append("generate_mock_code=true")
+ arguments += ["--PLUGIN_out=" + ",".join(flags) + ":" + dir_out]
additional_input = [ctx.executable.plugin]
else:
arguments += ["--cpp_out=" + ",".join(ctx.attr.flags) + ":" + dir_out]
@@ -71,6 +76,10 @@ generate_cc = rule(
"well_known_protos" : attr.label(
mandatory = False,
),
+ "generate_mock" : attr.bool(
+ default = False,
+ mandatory = False,
+ ),
"_protoc": attr.label(
default = Label("//external:protocol_compiler"),
executable = True,