From ea1886661e1ad607e7cac03f0e720c9ab337686e Mon Sep 17 00:00:00 2001 From: Steven Parkes Date: Thu, 25 Feb 2016 07:53:19 -0800 Subject: pass correct args to protoc for java wellknown protos when used as an external repository --- BUILD | 11 ++--------- protobuf.bzl | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/BUILD b/BUILD index 9cbddd5b..32fd669f 100644 --- a/BUILD +++ b/BUILD @@ -22,6 +22,7 @@ load( "protobuf", "cc_proto_library", "py_proto_library", + "internal_gen_well_known_protos_java", "internal_protobuf_py_tests", ) @@ -457,16 +458,8 @@ cc_test( ################################################################################ # Java support ################################################################################ -genrule( - name = "gen_well_known_protos_java", +internal_gen_well_known_protos_java( srcs = WELL_KNOWN_PROTOS, - outs = [ - "wellknown.srcjar", - ], - cmd = "$(location :protoc) --java_out=$(@D)/wellknown.jar" + - " -Isrc $(SRCS) " + - " && mv $(@D)/wellknown.jar $(@D)/wellknown.srcjar", - tools = [":protoc"], ) java_library( diff --git a/protobuf.bzl b/protobuf.bzl index 71eaba22..fbcae0b3 100644 --- a/protobuf.bzl +++ b/protobuf.bzl @@ -199,6 +199,31 @@ def cc_proto_library( includes=includes, **kargs) + +def internal_gen_well_known_protos_java(srcs): + """Bazel rule to generate the gen_well_known_protos_java genrule + + Args: + srcs: the well known protos + """ + root = Label("%s//protobuf_java" % (REPOSITORY_NAME)).workspace_root + if root == "": + include = " -Isrc " + else: + include = " -I%s/src " % root + native.genrule( + name = "gen_well_known_protos_java", + srcs = srcs, + outs = [ + "wellknown.srcjar", + ], + cmd = "$(location :protoc) --java_out=$(@D)/wellknown.jar" + + " %s $(SRCS) " % include + + " && mv $(@D)/wellknown.jar $(@D)/wellknown.srcjar", + tools = [":protoc"], + ) + + def py_proto_library( name, srcs=[], -- cgit v1.2.3