Add support for Bazel in Gerrit tree build
Change-Id: Ieb7f965d9047a2ff389156d5d495e39eb2259ea5
diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..b5c7a38
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,46 @@
+load("//tools/bzl:plugin.bzl", "gerrit_plugin")
+
+genrule(
+ name = "gitiles",
+ srcs = [
+ ":gitiles__base",
+ "@gitiles_servlet//jar",
+ ],
+ outs = ["gitiles.jar"],
+ cmd = " && ".join([
+ "ROOT=$$PWD",
+ "TMP=$$(mktemp -d || mktemp -d -t bazel-tmp)",
+ "cp $(location :gitiles__base) $@",
+ "chmod +w $@",
+ "unzip -qd $$TMP $(location @gitiles_servlet//jar) \"com/google/gitiles/static/*\"",
+ "cd $$TMP/com/google/gitiles",
+ "mv static +static",
+ "zip -Drq $$ROOT/$@ -g . -i \"+static/*\"",
+ ]),
+)
+
+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",
+ ],
+ resources = glob(["src/main/resources/**/*"]),
+ target_suffix = "__base",
+ deps = [
+ "@autolink//jar",
+ "@cm_autolink//jar",
+ "@commonmark//jar",
+ "@gfm_strikethrough//jar",
+ "@gfm_tables//jar",
+ "@gitiles_servlet//jar",
+ "@prettify//jar",
+ ],
+)
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
new file mode 100644
index 0000000..7c6ed0f
--- /dev/null
+++ b/external_plugin_deps.bzl
@@ -0,0 +1,49 @@
+load("//tools/bzl:maven_jar.bzl", "maven_jar", "GERRIT", "MAVEN_CENTRAL")
+
+COMMONMARK_VERSION = '0.6.0'
+
+def external_plugin_deps():
+ maven_jar(
+ name = 'gitiles_servlet',
+ artifact = 'com.google.gitiles:gitiles-servlet:0.1-11',
+ sha1 = 'c8fe6a48472a51607103a4b10214867bcc1c63f5',
+ repository = GERRIT,
+ )
+
+ # prettify must match the version used in Gitiles
+ maven_jar(
+ name = 'prettify',
+ artifact = 'prettify:java-prettify:1.2.1',
+ sha1 = '29ad8d072f9d0b83d1a2e9aa6ccb0905e6d543c6',
+ repository = GERRIT,
+ )
+
+ maven_jar(
+ name = 'commonmark',
+ artifact = 'com.atlassian.commonmark:commonmark:' + COMMONMARK_VERSION,
+ sha1 = '5df3f6fa3073966620685924aa22d08ece7213f2',
+ )
+
+ maven_jar(
+ name = 'cm_autolink',
+ artifact = 'com.atlassian.commonmark:commonmark-ext-autolink:' + COMMONMARK_VERSION,
+ sha1 = '4d7e828a4651e2f590b4a059925991be58e62da6',
+ )
+
+ maven_jar(
+ name = 'autolink',
+ artifact = 'org.nibor.autolink:autolink:0.4.0',
+ sha1 = '764f7b0147a0675d971a34282dce9ec76b8307c9',
+ )
+
+ maven_jar(
+ name = 'gfm_strikethrough',
+ artifact = 'com.atlassian.commonmark:commonmark-ext-gfm-strikethrough:' + COMMONMARK_VERSION,
+ sha1 = '75a95aaec77810496de41239bcc773adfb13285f',
+ )
+
+ maven_jar(
+ name = 'gfm_tables',
+ artifact = 'com.atlassian.commonmark:commonmark-ext-gfm-tables:' + COMMONMARK_VERSION,
+ sha1 = 'ae1c701517e8116bc205b561b9b215a53df8abc7',
+ )