aboutsummaryrefslogtreecommitdiffhomepage
path: root/grpc.bzl
diff options
context:
space:
mode:
authorGravatar Jorge Canizales <jcanizales@google.com>2015-07-01 18:43:54 -0700
committerGravatar Jorge Canizales <jcanizales@google.com>2015-07-02 00:52:33 -0700
commitd9435277fbb686da64ac831bc085f2670d5c2977 (patch)
treec2cc2d83881bd176f4b8cb285c4aa45e238a3196 /grpc.bzl
parent164f633283259a3f1306e3546910c9fcaaa56bbb (diff)
Split messages and services macros
Diffstat (limited to 'grpc.bzl')
-rw-r--r--grpc.bzl24
1 files changed, 15 insertions, 9 deletions
diff --git a/grpc.bzl b/grpc.bzl
index f31e188dd6..2e4528cb2c 100644
--- a/grpc.bzl
+++ b/grpc.bzl
@@ -15,43 +15,49 @@ def _file_with_extension(src, ext):
basename = elements[-1].partition('.')[0]
return "".join(elements[:-1] + [basename, ext])
-def objc_grpc_library(name, srcs, visibility=None):
+def _protoc_invocation(srcs, flags):
protoc_command = "protoc -I . "
srcs_params = ""
for src in srcs:
srcs_params += " $(location %s)" % (src)
+ return protoc_command + flags + srcs_params
+def objc_proto_library(name, srcs, visibility=None):
src = _file_to_upper_camel(srcs[0])
- # Messages
- protoc_messages_flags = "--objc_out=$(GENDIR)"
+ protoc_flags = "--objc_out=$(GENDIR)"
message_header = _file_with_extension(src, ".pbobjc.h")
message_implementation = _file_with_extension(src, ".pbobjc.m")
native.genrule(
- name = name + "_mesages_codegen",
+ name = name + "_codegen",
srcs = srcs,
outs = [message_header, message_implementation],
- cmd = protoc_command + protoc_messages_flags + srcs_params,
+ cmd = _protoc_invocation(srcs, protoc_flags),
)
native.objc_library(
- name = name + "_messages",
+ name = name,
hdrs = [message_header],
includes = ["."],
non_arc_srcs = [message_implementation],
deps = [
"//external:protobuf_objc",
],
+ visibility = visibility,
)
- # Services
- protoc_services_flags = "--grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(location //external:grpc_protoc_plugin_objc)"
+def objc_grpc_library(name, srcs, visibility=None):
+ objc_proto_library(name + "_messages", srcs, visibility)
+
+ src = _file_to_upper_camel(srcs[0])
+
+ protoc_flags = "--grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(location //external:grpc_protoc_plugin_objc)"
service_header = _file_with_extension(src, ".pbrpc.h")
service_implementation = _file_with_extension(src, ".pbrpc.m")
native.genrule(
name = name + "_codegen",
srcs = srcs + ["//external:grpc_protoc_plugin_objc"],
outs = [service_header, service_implementation],
- cmd = protoc_command + protoc_services_flags + srcs_params,
+ cmd = _protoc_invocation(srcs, protoc_flags),
)
native.objc_library(
name = name,