blob: 109f79a2c3b2c749ae02f64372ba0063a6525cda [file] [log] [blame]
load("//tools/bzl:genrule2.bzl", "genrule2")
load("//tools/bzl:plugin.bzl", "gerrit_plugin")
gerrit_plugin(
name = "gitiles",
srcs = glob(["src/main/java/**/*.java"]),
manifest_entries = [
"Gerrit-PluginName: gitiles",
"Gerrit-Module: com.googlesource.gerrit.plugins.gitiles.Module",
"Gerrit-HttpModule: com.googlesource.gerrit.plugins.gitiles.HttpModule",
# Gitiles uses /repo to access a repo, so the default plugin layout would
# disallow repos named "static" or "Documentation". Paths starting with +
# are reserved by Gitiles and can't match repos.
"Gerrit-HttpStaticPrefix: +static",
"Gerrit-HttpDocumentationPrefix: +Documentation",
],
resource_jars = [":gitiles-servlet-resources"],
resources = glob(["src/main/resources/**/*"]),
deps = ["//lib/gitiles"],
)
genrule2(
name = "gitiles-servlet-resources",
srcs = ["@gitiles-servlet//jar"],
outs = ["gitiles-servlet-resources.jar"],
cmd = " && ".join([
"unzip -qd $$TMP $(location @gitiles-servlet//jar) \"com/google/gitiles/static/*\"",
"cd $$TMP/com/google/gitiles/static",
# To avoid loading 3rd party resources, we adapt gitiles' CSS to
# load fonts from Gerrit directly:
# 1. Strip out Google font CSS imports
"sed -e '\\%^@import .//fonts\\.googleapis\\.com/%d' -i base.css",
# 2. Add Gerrit's fonts CSS
"sed -e 's%^\\(.*Common styles and definitions.*\\)$$%" +
"\\1\\n\\n@import \"../../../styles/fonts.css\";%' -i base.css",
# 3. Use Gerrit's Roboto Mono for Source Code Pro
"sed -e 's/Source Code Pro/Roboto Mono/g' -i base.css",
# Switching from `static` to `+static` (see comment in plugin definiton)
"cd $$TMP/com/google/gitiles",
"mv static +static",
"zip -qr $$ROOT/$@ .",
]),
)