Bazel: Add gerrit_js_bundle rule
Change-Id: Ia8421a9ef6f1ad91808bb698769da84022f63973 (cherry picked from commit 9975c3cf96a1fa8d68a6582e57fef235ea208abc)
This commit is contained in:
parent
fe8b0cf4ac
commit
8021b12eba
|
@ -1,5 +1,7 @@
|
|||
load("@npm//@bazel/rollup:index.bzl", "rollup_bundle")
|
||||
load("@npm//@bazel/terser:index.bzl", "terser_minified")
|
||||
load("//lib/js:npm.bzl", "NPM_SHA1S", "NPM_VERSIONS")
|
||||
load("//tools/bzl:genrule2.bzl", "genrule2")
|
||||
|
||||
NPMJS = "NPMJS"
|
||||
|
||||
|
@ -534,3 +536,55 @@ def polygerrit_plugin(name, app, srcs = [], deps = [], assets = None, plugin_nam
|
|||
name = name,
|
||||
srcs = static_files,
|
||||
)
|
||||
|
||||
def gerrit_js_bundle(name, srcs, entry_point):
|
||||
"""Produces a Gerrit JavaScript bundle archive.
|
||||
|
||||
This rule bundles and minifies the javascript files of a frontend plugin and
|
||||
produces a file archive.
|
||||
Output of this rule is an archive with "${name}.jar" with specific layout for
|
||||
Gerrit frontentd plugins. That archive should be provided to gerrit_plugin
|
||||
rule as resource_jars attribute.
|
||||
|
||||
Args:
|
||||
name: Rule name.
|
||||
srcs: Plugin sources.
|
||||
entry_point: Plugin entry_point.
|
||||
"""
|
||||
rollup_bundle(
|
||||
name = name + "-bundle",
|
||||
srcs = srcs,
|
||||
entry_point = entry_point,
|
||||
format = "iife",
|
||||
rollup_bin = "//tools/node_tools:rollup-bin",
|
||||
sourcemap = "hidden",
|
||||
deps = [
|
||||
"@tools_npm//rollup-plugin-node-resolve",
|
||||
],
|
||||
)
|
||||
|
||||
terser_minified(
|
||||
name = name + ".min",
|
||||
sourcemap = False,
|
||||
src = name + "-bundle.js",
|
||||
)
|
||||
|
||||
native.genrule(
|
||||
name = name + "_rename_js",
|
||||
srcs = [name + ".min"],
|
||||
outs = [name + ".js"],
|
||||
cmd = "cp $< $@",
|
||||
output_to_bindir = True,
|
||||
)
|
||||
|
||||
genrule2(
|
||||
name = name,
|
||||
srcs = [name + ".js"],
|
||||
outs = [name + ".jar"],
|
||||
cmd = " && ".join([
|
||||
"mkdir $$TMP/static",
|
||||
"cp $(SRCS) $$TMP/static",
|
||||
"cd $$TMP",
|
||||
"zip -Drq $$ROOT/$@ -g .",
|
||||
]),
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue