Merge "Clean up polygerrit_plugin rule" into stable-3.4
diff --git a/tools/bzl/js.bzl b/tools/bzl/js.bzl
index facb1ce..04464d0 100644
--- a/tools/bzl/js.bzl
+++ b/tools/bzl/js.bzl
@@ -439,65 +439,37 @@
     """Combine html, js, css files and optionally split into js and html bundles."""
     _bundle_rule(pkg = native.package_name(), *args, **kwargs)
 
-def polygerrit_plugin(name, app, srcs = [], deps = [], assets = None, plugin_name = None, **kwargs):
-    """Bundles plugin dependencies for deployment.
+def polygerrit_plugin(name, app, assets = [], plugin_name = None):
+    """Produces plugin file set with minified javascript and assets.
 
-    This rule bundles all Polymer elements and JS dependencies into .html and .js files.
+    This rule minifies a plugin javascript file, potentially renames it, and produces a file set.
     Run-time dependencies (e.g. JS libraries loaded after plugin starts) should be provided using "assets" property.
-    Output of this rule is a FileSet with "${name}_fs", with deploy artifacts in "plugins/${name}/static".
+    Output of this rule is a FileSet with "${plugin_name}.js" and assets.
 
     Args:
       name: String, rule name.
-      app: String, the main or root source file.
-      assets: Fileset, additional files to be used by plugin in runtime, exported to "plugins/${name}/static".
+      app: String, the main or root source file. This must be single JavaScript file.
+      assets: Fileset, additional files to be used by plugin in runtime.
       plugin_name: String, plugin name. ${name} is used if not provided.
     """
     if not plugin_name:
         plugin_name = name
 
-    srcs = srcs if app in srcs else srcs + [app]
-    js_srcs = srcs
-
-    native.filegroup(
-        name = name + "-src-fg",
-        srcs = js_srcs,
-    )
-
     terser_minified(
-        name = name + ".min",
+        name = plugin_name + ".min",
         sourcemap = False,
-        src = name + "-src-fg",
+        src = app,
     )
 
     native.genrule(
         name = name + "_rename_js",
-        srcs = [name + ".min"],
+        srcs = [plugin_name + ".min"],
         outs = [plugin_name + ".js"],
         cmd = "cp $< $@",
         output_to_bindir = True,
     )
 
-    static_files = [plugin_name + ".js"]
-
-    if assets:
-        nested, direct = [], []
-        for x in assets:
-            target = nested if "/" in x else direct
-            target.append(x)
-
-        static_files += direct
-
-        if nested:
-            native.genrule(
-                name = name + "_copy_assets",
-                srcs = assets,
-                outs = [f.split("/")[-1] for f in nested],
-                cmd = "cp $(SRCS) $(@D)",
-                output_to_bindir = True,
-            )
-            static_files.append(":" + name + "_copy_assets")
-
     native.filegroup(
         name = name,
-        srcs = static_files,
+        srcs = [plugin_name + ".js"] + assets,
     )