maven_jar: Add support for exports and deps attributes

Expose deps and exports attribute from java_import to maven_jar rule.
This was provided in Buck's maven_jar rule. The following maven_jar
rules:

  maven_jar(
      name = "foo",
      artifact = "foo:foo:1.0",
      sha1 = "4d7e828a4651e2f590b4a059925991be58e62da6",
      deps = [
          "@bar//jar",
          "@baz//jar",
      ],
      exports = [
          "@qux//jar",
          "@quux//jar",
      ]

expands to this java_import rule:

  java_import(
      name = 'jar',
      jars = ['foo-1.0.jar'],
      srcjar = 'foo-1.0-src.jar',
      deps = [
          '@bar//jar',
          '@baz//jar',
      ],
      exports = [
          '@qux//jar',
          '@quux//jar',
      ],
  )

Change-Id: I58cc5df9820240b24fc1b6cb261966f517c4891c
diff --git a/tools/bzl/maven_jar.bzl b/tools/bzl/maven_jar.bzl
index bf47370..2dbeae7 100644
--- a/tools/bzl/maven_jar.bzl
+++ b/tools/bzl/maven_jar.bzl
@@ -52,6 +52,18 @@
       version = version,
   )
 
+def _format_deps(attr, deps):
+  formatted_deps = ""
+  if deps:
+    if len(deps) == 1:
+      formatted_deps += "%s = [\'%s\']," % (attr, deps[0])
+    else:
+      formatted_deps += "%s = [\n" % attr
+      for dep in deps:
+        formatted_deps += "        \'%s\',\n" % dep
+      formatted_deps += "    ],"
+  return formatted_deps
+
 def _generate_build_file(ctx, binjar, srcjar):
   srcjar_attr = ""
   if srcjar:
@@ -61,17 +73,23 @@
 package(default_visibility = ['//visibility:public'])
 java_import(
     name = 'jar',
-    {srcjar_attr}
     jars = ['{binjar}'],
+    {srcjar_attr}
+    {deps}
+    {exports}
 )
 java_import(
     name = 'neverlink',
     jars = ['{binjar}'],
     neverlink = 1,
+    {deps}
+    {exports}
 )
 \n""".format(srcjar_attr = srcjar_attr,
               rule_name = ctx.name,
-              binjar = binjar)
+              binjar = binjar,
+              deps = _format_deps("deps", ctx.attr.deps),
+              exports = _format_deps("exports", ctx.attr.exports))
   if srcjar:
     contents += """
 java_import(
@@ -135,6 +153,8 @@
         "repository": attr.string(default = MAVEN_CENTRAL),
         "attach_source": attr.bool(default = True),
         "unsign": attr.bool(default = False),
+        "deps": attr.string_list(),
+        "exports": attr.string_list(),
         "exclude": attr.string_list(),
     },
     local = True,