aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/build_rules/genproto.bzl
diff options
context:
space:
mode:
authorGravatar Jakob Buchgraber <buchgr@google.com>2017-06-06 11:58:26 -0400
committerGravatar John Cater <jcater@google.com>2017-06-06 12:37:03 -0400
commit6073f1d41a102b70007356d1445c57b7f7533d78 (patch)
tree9ce021a4d4c91ca032946e1dc440159a055a3f1c /tools/build_rules/genproto.bzl
parentd9223e00c18466bd286a5e400007acb78ddeb9de (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.bzl92
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)