Bazel: Switch to using bazlets
We prefer to consume maven_jar custom rule from bazlets repository, for
the same reasons as in Gerrit project:
* caching atifacts across different clones and projects
* exposing source classifiers and neverlink artifact
Change-Id: Ia560a68136186025926649f6985608fcf326082f
diff --git a/WORKSPACE b/WORKSPACE
index 1e34b35..065379c 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -1,3 +1,10 @@
+workspace(name = "gitiles")
+load("//tools:bazlets.bzl", "load_bazlets")
+load_bazlets(commit = "3afbeab55ece585dbfc7a980bf7214b24ddbbe86")
+load("@com_googlesource_gerrit_bazlets//tools:maven_jar.bzl",
+ "maven_jar",
+ "GERRIT")
+
maven_jar(
name = "commons_lang",
artifact = "org.apache.commons:commons-lang3:3.1",
@@ -26,12 +33,13 @@
name = "jsr305",
artifact = "com.google.code.findbugs:jsr305:3.0.0",
sha1 = "5871fb60dc68d67da54a663c3fd636a10a532948",
+ attach_source = False,
)
maven_jar(
name = "prettify",
artifact = "prettify:java-prettify:1.2.1",
- repository = "http://gerrit-maven.storage.googleapis.com/",
+ repository = GERRIT,
sha1 = "29ad8d072f9d0b83d1a2e9aa6ccb0905e6d543c6",
)
@@ -140,6 +148,7 @@
name = "tukaani_xz",
artifact = "org.tukaani:xz:1.4",
sha1 = "18a9a2ce6abf32ea1b5fd31dae5210ad93f4e5e3",
+ attach_source = False,
)
maven_jar(
diff --git a/gitiles-servlet/BUILD b/gitiles-servlet/BUILD
index ff33933..e19f329 100644
--- a/gitiles-servlet/BUILD
+++ b/gitiles-servlet/BUILD
@@ -51,7 +51,7 @@
],
)
-load("//gitiles-servlet:junit.bzl", "junit_tests")
+load("@com_googlesource_gerrit_bazlets//tools:junit.bzl", "junit_tests")
junit_tests(
name = "ServletTests",
diff --git a/gitiles-servlet/junit.bzl b/gitiles-servlet/junit.bzl
deleted file mode 100644
index ee79637..0000000
--- a/gitiles-servlet/junit.bzl
+++ /dev/null
@@ -1,60 +0,0 @@
-# skylark rule to generate a Junit4 TestSuite
-# Assumes srcs are all .java Test files
-# Assumes junit4 is already added to deps by the user.
-
-# See https://github.com/bazelbuild/bazel/issues/1017 for background.
-
-_OUTPUT = """import org.junit.runners.Suite;
-import org.junit.runner.RunWith;
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses({%s})
-public class %s {}
-"""
-
-_PREFIXES = ("org", "com", "edu")
-
-def _SafeIndex(l, val):
- for i, v in enumerate(l):
- if val == v:
- return i
- return -1
-
-def _AsClassName(fname):
- fname = [x.path for x in fname.files][0]
- toks = fname[:-5].split("/")
- findex = -1
- for s in _PREFIXES:
- findex = _SafeIndex(toks, s)
- if findex != -1:
- break
- if findex == -1:
- fail("%s does not contain any of %s",
- fname, _PREFIXES)
- return ".".join(toks[findex:]) + ".class"
-
-def _impl(ctx):
- classes = ",".join(
- [_AsClassName(x) for x in ctx.attr.srcs])
- ctx.file_action(output=ctx.outputs.out, content=_OUTPUT % (
- classes, ctx.attr.outname))
-
-_GenSuite = rule(
- attrs = {
- "srcs": attr.label_list(allow_files = True),
- "outname": attr.string(),
- },
- outputs = {"out": "%{name}.java"},
- implementation = _impl,
-)
-
-def junit_tests(name, srcs, **kwargs):
- s_name = name + "TestSuite"
- j_name = s_name + ".java",
- _GenSuite(name=s_name,
- srcs=srcs,
- outname=s_name)
- native.java_test(name=name,
- test_class=s_name,
- srcs = srcs + [":"+s_name],
- **kwargs)
diff --git a/tools/BUILD b/tools/BUILD
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/tools/BUILD
@@ -0,0 +1 @@
+
diff --git a/tools/bazlets.bzl b/tools/bazlets.bzl
new file mode 100644
index 0000000..e14e488
--- /dev/null
+++ b/tools/bazlets.bzl
@@ -0,0 +1,17 @@
+NAME = "com_googlesource_gerrit_bazlets"
+
+def load_bazlets(
+ commit,
+ local_path = None
+ ):
+ if not local_path:
+ native.git_repository(
+ name = NAME,
+ remote = "https://gerrit.googlesource.com/bazlets",
+ commit = commit,
+ )
+ else:
+ native.local_repository(
+ name = NAME,
+ path = local_path,
+ )