Update Bazel jarjar and javadoc rules (#3269)
* update jarjar rule
* update javadoc rules
diff --git a/tools/rules/jarjar_rules.bzl b/tools/rules/jarjar_rules.bzl
index ff3cb1e..5ac8272 100644
--- a/tools/rules/jarjar_rules.bzl
+++ b/tools/rules/jarjar_rules.bzl
@@ -16,40 +16,45 @@
src_file = ctx.file.src
shade_file = ctx.file.shade
jarjar = ctx.executable._jarjar
-
class_jar = ctx.outputs.class_jar
+
ctx.action(
executable = jarjar,
inputs = [ src_file, shade_file, jarjar ],
outputs = [ class_jar ],
arguments = ["process", shade_file.path, src_file.path, class_jar.path])
- return struct(files = depset([class_jar]))
+ return [
+ JavaInfo(
+ output_jar = class_jar,
+ compile_jar = class_jar,
+ ),
+ DefaultInfo(files = depset([class_jar])),
+ ]
jarjar_attrs = {
"src": attr.label(
- allow_files = FileType([".jar"]),
+ allow_files = [".jar"],
single_file = True,
),
-
"shade": attr.label(
allow_files = True,
single_file = True,
),
+ "deps": attr.label_list(),
+ "_jarjar": attr.label(
+ default = Label("//third_party/java/jarjar:jarjar_bin"),
+ allow_files = True,
+ executable = True,
+ cfg = "host",
+ ),
}
jarjar_binary = rule(
jarjar_binary_impl,
- attrs = jarjar_attrs + {
- "deps": attr.label_list(),
- "_jarjar": attr.label(
- default = Label("//third_party/java/jarjar:jarjar_bin"),
- allow_files = True,
- executable = True,
- cfg = 'host',
- ),
- },
+ attrs = jarjar_attrs,
outputs = {
"class_jar": "%{name}.jar",
},
+ provides = [JavaInfo],
)
diff --git a/tools/rules/javadoc.bzl b/tools/rules/javadoc.bzl
index 77633df..3fb7c49 100644
--- a/tools/rules/javadoc.bzl
+++ b/tools/rules/javadoc.bzl
@@ -15,11 +15,11 @@
def _impl(ctx):
zip_output = ctx.outputs.zip
- transitive_jar_set = depset()
- source_jars = depset()
+ transitive_jar_set = []
+ source_jars = []
for l in ctx.attr.libs:
- source_jars += l.java.source_jars
- transitive_jar_set += l.java.transitive_deps
+ source_jars += l.java.source_jars.to_list()
+ transitive_jar_set += l.java.transitive_deps.to_list()
transitive_jar_paths = [j.path for j in transitive_jar_set]
dir = ctx.outputs.zip.path + ".dir"
source = ctx.outputs.zip.path + ".source"