diff options
author | Jakob Buchgraber <buchgr@google.com> | 2017-06-06 11:58:26 -0400 |
---|---|---|
committer | John Cater <jcater@google.com> | 2017-06-06 12:37:03 -0400 |
commit | 6073f1d41a102b70007356d1445c57b7f7533d78 (patch) | |
tree | 9ce021a4d4c91ca032946e1dc440159a055a3f1c /tools/build_rules/genproto.bzl | |
parent | d9223e00c18466bd286a5e400007acb78ddeb9de (diff) |
protobuf: Use bazel's native java_proto_library rules.
Additional changes:
- Introduce a Skylark macro java_library_srcs that provides the source jars of a java_*_library rule.
- Remove bazel's own java_proto_library implementation.
Change-Id: I18f2259bc75ca0fb32dcd8a6a857c609bd2c7773
PiperOrigin-RevId: 158146210
Diffstat (limited to 'tools/build_rules/genproto.bzl')
-rw-r--r-- | tools/build_rules/genproto.bzl | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/tools/build_rules/genproto.bzl b/tools/build_rules/genproto.bzl index 5ccd934122..f935e52b68 100644 --- a/tools/build_rules/genproto.bzl +++ b/tools/build_rules/genproto.bzl @@ -17,73 +17,6 @@ proto_filetype = [".proto"] -def gensrcjar_impl(ctx): - out = ctx.outputs.srcjar - - ctx.action( - command=' '.join([ - "JAR='%s'" % ctx.executable._jar.path, - "OUTPUT='%s'" % out.path, - "PROTO_COMPILER='%s'" % ctx.executable._proto_compiler.path, - "GRPC_JAVA_PLUGIN='%s'" % ctx.executable.grpc_java_plugin.path if \ - ctx.executable.grpc_java_plugin else "", - "SOURCE='%s'" % ctx.file.src.path, - ctx.executable._gensrcjar.path, - ]), - inputs=([ctx.file.src] + ctx.files._gensrcjar + ctx.files._jar + - ctx.files._jdk + ctx.files._proto_compiler + - ctx.files.grpc_java_plugin), - outputs=[out], - mnemonic="GenProtoSrcJar", - use_default_shell_env=True) - - return struct(runfiles=ctx.runfiles(collect_default=True)) - -gensrcjar = rule( - gensrcjar_impl, - attrs = { - "src": attr.label( - allow_files = proto_filetype, - single_file = True, - ), - "grpc_java_plugin": attr.label( - cfg = "host", - executable = True, - single_file = True, - ), - "_gensrcjar": attr.label( - default = Label("//tools/build_rules:gensrcjar"), - cfg = "host", - executable = True, - ), - # TODO(bazel-team): this should be a hidden attribute with a default - # value, but Skylark needs to support select first. - "_proto_compiler": attr.label( - default = Label("//third_party/protobuf:protoc"), - allow_files = True, - cfg = "host", - executable = True, - single_file = True, - ), - "_jar": attr.label( - default = Label("@bazel_tools//tools/jdk:jar"), - allow_files = True, - cfg = "host", - executable = True, - single_file = True, - ), - # The jdk dependency is required to ensure dependent libraries are found - # when we invoke jar (see issue #938). - # TODO(bazel-team): Figure out why we need to pull this in explicitly; - # the jar dependency above should just do the right thing on its own. - "_jdk": attr.label( - default = Label("@bazel_tools//tools/jdk:jdk"), - allow_files = True, - ), - }, - outputs = {"srcjar": "lib%{name}.srcjar"}, -) - def cc_grpc_library(name, src): basename = src[:-len(".proto")] protoc_label = str(Label("//third_party/protobuf:protoc")) @@ -107,28 +40,3 @@ def cc_grpc_library(name, src): deps = [str(Label("//third_party/grpc:grpc++_unsecure"))], includes = ["."]) -# TODO(bazel-team): support proto => proto dependencies too -def java_proto_library(name, src, use_grpc_plugin=False): - grpc_java_plugin = None - if use_grpc_plugin: - grpc_java_plugin = str(Label("//third_party/grpc:grpc-java-plugin")) - - gensrcjar(name=name + "_srcjar", src=src, grpc_java_plugin=grpc_java_plugin) - deps = [str(Label("//third_party/protobuf:protobuf_java"))] - if use_grpc_plugin: - deps += [ - str(Label("//third_party/grpc:grpc-jar")), - str(Label("//third_party:guava")), - ] - native.java_library( - name=name, - srcs=[name + "_srcjar"], - deps=deps, - # The generated code has lots of 'rawtypes' warnings. - javacopts=["-Xlint:-rawtypes"], -) - -def proto_java_library(name, src): - print("Deprecated: use java_proto_library() instead, proto_java_library " + - "will be removed in version 0.2.1") - java_proto_library(name, src) |