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"