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', + )