Skip to content
Snippets Groups Projects
Commit fc5fb879 authored by Jorge Canizales's avatar Jorge Canizales
Browse files

Support sources in nested dirs

parent 4bc49051
No related branches found
No related tags found
No related merge requests found
...@@ -6,7 +6,9 @@ def _lower_underscore_to_upper_camel(str): ...@@ -6,7 +6,9 @@ def _lower_underscore_to_upper_camel(str):
return "".join(humps) return "".join(humps)
def objc_grpc_library(name, srcs, visibility=None): def objc_grpc_library(name, srcs, visibility=None):
basename = srcs[0].split('/')[-1] src_path_elements = srcs[0].split('/')
src_dir = '/'.join(src_path_elements[:-1])
basename = src_path_elements[-1]
filename = basename[:-6] # remove .proto suffix filename = basename[:-6] # remove .proto suffix
filename = _lower_underscore_to_upper_camel(filename) filename = _lower_underscore_to_upper_camel(filename)
...@@ -17,24 +19,19 @@ def objc_grpc_library(name, srcs, visibility=None): ...@@ -17,24 +19,19 @@ def objc_grpc_library(name, srcs, visibility=None):
# Messages # Messages
protoc_messages_flags = "--objc_out=$(GENDIR)" protoc_messages_flags = "--objc_out=$(GENDIR)"
message_header = src_dir + '/' + filename + ".pbobjc.h"
message_implementation = src_dir + '/' + filename + ".pbobjc.m"
native.genrule( native.genrule(
name = name + "_mesages_codegen", name = name + "_mesages_codegen",
srcs = srcs, srcs = srcs,
outs = [ outs = [message_header, message_implementation],
filename + ".pbobjc.h",
filename + ".pbobjc.m",
],
cmd = protoc_command + protoc_messages_flags + srcs_params, cmd = protoc_command + protoc_messages_flags + srcs_params,
) )
native.objc_library( native.objc_library(
name = name + "_messages", name = name + "_messages",
hdrs = [ hdrs = [message_header],
":" + filename + ".pbobjc.h",
],
includes = ["."], includes = ["."],
non_arc_srcs = [ non_arc_srcs = [message_implementation],
":" + filename + ".pbobjc.m",
],
deps = [ deps = [
"//external:protobuf_objc", "//external:protobuf_objc",
], ],
...@@ -42,24 +39,19 @@ def objc_grpc_library(name, srcs, visibility=None): ...@@ -42,24 +39,19 @@ def objc_grpc_library(name, srcs, visibility=None):
# Services # Services
protoc_services_flags = "--grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(location //external:grpc_protoc_plugin_objc)" protoc_services_flags = "--grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(location //external:grpc_protoc_plugin_objc)"
service_header = src_dir + '/' + filename + ".pbrpc.h"
service_implementation = src_dir + '/' + filename + ".pbrpc.m"
native.genrule( native.genrule(
name = name + "_codegen", name = name + "_codegen",
srcs = srcs + ["//external:grpc_protoc_plugin_objc"], srcs = srcs + ["//external:grpc_protoc_plugin_objc"],
outs = [ outs = [service_header, service_implementation],
filename + ".pbrpc.h",
filename + ".pbrpc.m",
],
cmd = protoc_command + protoc_services_flags + srcs_params, cmd = protoc_command + protoc_services_flags + srcs_params,
) )
native.objc_library( native.objc_library(
name = name, name = name,
hdrs = [ hdrs = [service_header],
":" + filename + ".pbrpc.h",
],
includes = ["."], includes = ["."],
srcs = [ srcs = [service_implementation],
":" + filename + ".pbrpc.m",
],
deps = [ deps = [
":" + name + "_messages", ":" + name + "_messages",
"//external:proto_objc_rpc", "//external:proto_objc_rpc",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment