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) [email protected]({%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, + )