| load("//tools/bzl:genrule2.bzl", "genrule2") | |
| load("//tools/bzl:plugin.bzl", "PLUGIN_DEPS", "PLUGIN_TEST_DEPS", "gerrit_plugin") | |
| load("//tools/bzl:junit.bzl", "junit_tests") | |
| gerrit_plugin( | |
| name = "gitiles", | |
| srcs = glob(["src/main/java/**/*.java"]), | |
| manifest_entries = [ | |
| "Gerrit-PluginName: gitiles", | |
| "Gerrit-Module: com.googlesource.gerrit.plugins.gitiles.PluginModule", | |
| "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 to tmp file as in-place replace is OSX no-go | |
| "sed -e '\\%^@import .//fonts\\.googleapis\\.com/%d' base.css > $$TMP/base.css.tmp", | |
| # move tmp file back to base.css | |
| "mv $$TMP/base.css.tmp base.css", | |
| # 2. Add Gerrit's fonts CSS | |
| "sed -e 's%^\\(.*Common styles and definitions.*\\)$$%" + | |
| "\\1\\n\\n@import \"../../../styles/fonts.css\";%' base.css > $$TMP/base.css.tmp", | |
| "mv $$TMP/base.css.tmp base.css", | |
| # 3. Use Gerrit's Roboto Mono for Source Code Pro | |
| "sed -e 's/Source Code Pro/Roboto Mono/g' base.css > $$TMP/base.css.tmp", | |
| "mv $$TMP/base.css.tmp base.css", | |
| # Switching from `static` to `+static` (see comment in plugin definiton) | |
| "cd $$TMP/com/google/gitiles", | |
| "mv static +static", | |
| "zip -qr $$ROOT/$@ .", | |
| ]), | |
| ) | |
| junit_tests( | |
| name = "gitiles_tests", | |
| srcs = glob(["src/test/java/**/*Test.java"]), | |
| tags = ["gitiles"], | |
| visibility = ["//visibility:public"], | |
| runtime_deps = [":gitiles__plugin"], | |
| deps = PLUGIN_TEST_DEPS + PLUGIN_DEPS + [ | |
| ":gitiles__plugin", | |
| "//javatests/com/google/gerrit/util/http/testutil", | |
| "//lib/gitiles", | |
| ], | |
| ) |