aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Jisi Liu <liujisi@google.com>2016-03-11 16:58:15 -0800
committerGravatar Jisi Liu <liujisi@google.com>2016-03-11 16:58:15 -0800
commitc71f1847c889073f5036f4be8b76973e19e16631 (patch)
tree38fe134d2b2e9ee5db653b5fcb1bbfa1ad544032
parentdfaf1aac309c1b65679bb28fb593303ae3e8d170 (diff)
parentea1886661e1ad607e7cac03f0e720c9ab337686e (diff)
Merge pull request #1278 from smparkes/master
pass correct args to protoc for 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=[],