aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Steven Parkes <smparkes@smparkes.net>2016-02-25 07:53:19 -0800
committerGravatar Steven Parkes <smparkes@smparkes.net>2016-03-10 15:04:46 -0800
commitea1886661e1ad607e7cac03f0e720c9ab337686e (patch)
tree99d86fa6043a5730b60f1cddd5942c6c2a0c2904
parent48ebb29a8ec118bf6b9ee39f6be42b57321c099a (diff)
pass correct args to protoc for java wellknown protos when used as an external repository
-rw-r--r--BUILD11
-rw-r--r--protobuf.bzl25
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=[],