792e418600
New design mocks have the site's fonts entirely in Roboto and Roboto Medium. This change adds the fonts as dependncies. Bug: Issue 7139 Change-Id: I4e8175e49dda42a68b22d4a5966aba597c84c132
95 lines
2.9 KiB
Python
95 lines
2.9 KiB
Python
load("//tools/bzl:genrule2.bzl", "genrule2")
|
|
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_library", "closure_js_binary")
|
|
load(
|
|
"//tools/bzl:js.bzl",
|
|
"bower_component_bundle",
|
|
"vulcanize",
|
|
"bower_component",
|
|
"js_component",
|
|
)
|
|
|
|
def polygerrit_bundle(name, srcs, outs, app):
|
|
appName = app.split(".html")[0].split("/").pop() # eg: gr-app
|
|
|
|
closure_js_binary(
|
|
name = name + "_closure_bin",
|
|
# Known issue: Closure compilation not compatible with Polymer behaviors.
|
|
# See: https://github.com/google/closure-compiler/issues/2042
|
|
compilation_level = "WHITESPACE_ONLY",
|
|
defs = [
|
|
"--polymer_pass",
|
|
"--jscomp_off=duplicate",
|
|
"--force_inject_library=es6_runtime",
|
|
],
|
|
language = "ECMASCRIPT5",
|
|
deps = [name + "_closure_lib"],
|
|
)
|
|
|
|
closure_js_library(
|
|
name = name + "_closure_lib",
|
|
srcs = [appName + ".js"],
|
|
convention = "GOOGLE",
|
|
# TODO(davido): Clean up these issues: http://paste.openstack.org/show/608548
|
|
# and remove this supression
|
|
suppress = ["JSC_UNUSED_LOCAL_ASSIGNMENT"],
|
|
deps = [
|
|
"//lib/polymer_externs:polymer_closure",
|
|
"@io_bazel_rules_closure//closure/library",
|
|
],
|
|
)
|
|
|
|
vulcanize(
|
|
name = appName,
|
|
srcs = srcs,
|
|
app = app,
|
|
deps = ["//polygerrit-ui:polygerrit_components.bower_components"],
|
|
)
|
|
|
|
native.filegroup(
|
|
name = name + "_app_sources",
|
|
srcs = [
|
|
name + "_closure_bin.js",
|
|
appName + ".html",
|
|
],
|
|
)
|
|
|
|
native.filegroup(
|
|
name = name + "_css_sources",
|
|
srcs = native.glob(["styles/**/*.css"]),
|
|
)
|
|
|
|
native.filegroup(
|
|
name = name + "_top_sources",
|
|
srcs = [
|
|
"favicon.ico",
|
|
"index.html",
|
|
],
|
|
)
|
|
|
|
genrule2(
|
|
name = name,
|
|
srcs = [
|
|
name + "_app_sources",
|
|
name + "_css_sources",
|
|
name + "_top_sources",
|
|
"//lib/fonts:robotofonts",
|
|
"//lib/js:highlightjs_files",
|
|
# we extract from the zip, but depend on the component for license checking.
|
|
"@webcomponentsjs//:zipfile",
|
|
"//lib/js:webcomponentsjs"
|
|
],
|
|
outs = outs,
|
|
cmd = " && ".join([
|
|
"mkdir -p $$TMP/polygerrit_ui/{styles,fonts,bower_components/{highlightjs,webcomponentsjs},elements}",
|
|
"for f in $(locations " + name + "_app_sources); do ext=$${f##*.}; cp -p $$f $$TMP/polygerrit_ui/elements/" + appName + ".$$ext; done",
|
|
"cp $(locations //lib/fonts:robotofonts) $$TMP/polygerrit_ui/fonts/",
|
|
"for f in $(locations " + name + "_top_sources); do cp $$f $$TMP/polygerrit_ui/; done",
|
|
"for f in $(locations "+ name + "_css_sources); do cp $$f $$TMP/polygerrit_ui/styles; done",
|
|
"for f in $(locations //lib/js:highlightjs_files); do cp $$f $$TMP/polygerrit_ui/bower_components/highlightjs/ ; done",
|
|
"unzip -qd $$TMP/polygerrit_ui/bower_components $(location @webcomponentsjs//:zipfile) webcomponentsjs/webcomponents-lite.js",
|
|
"cd $$TMP",
|
|
"find . -exec touch -t 198001010000 '{}' ';'",
|
|
"zip -qr $$ROOT/$@ *",
|
|
]),
|
|
)
|