Implement Bazel build
TEST PLAN:
$ bazel test gitiles-servlet/...
Run debug version:
$ sh {path/to/src}/tools/run_bazel_dev.sh
TODO:
* publishing maven artifacts.
* check out Bazel's generate_workspace.
* intellij/eclipse project generation
Change-Id: I288011ce622536ce72c59a1961f962db9fe9e761
diff --git a/gitiles-servlet/BUILD b/gitiles-servlet/BUILD
new file mode 100644
index 0000000..ff33933
--- /dev/null
+++ b/gitiles-servlet/BUILD
@@ -0,0 +1,84 @@
+java_library(
+ name = "servlet-api",
+ neverlink = 1,
+ exports = ["//lib:servlet-api_2_5"],
+)
+
+java_library(
+ name = "servlet",
+ srcs = glob(["src/main/java/**/*.java"]),
+ resources = glob(["src/main/resources/**/*"]),
+ visibility = ["//visibility:public"],
+ deps = [
+ ":servlet-api",
+ "//blame-cache:lib",
+ "//lib:autolink",
+ "//lib:cm-autolink",
+ "//lib:commonmark",
+ "//lib:commons-lang",
+ "//lib:gfm-strikethrough",
+ "//lib:gfm-tables",
+ "//lib:gson",
+ "//lib:guava",
+ "//lib:joda-time",
+ "//lib:jsr305",
+ "//lib:prettify",
+ "//lib/guice",
+ "//lib/jgit",
+ "//lib/jgit:jgit-archive",
+ "//lib/jgit:jgit-servlet",
+ "//lib/slf4j:slf4j-api",
+ "//lib/soy",
+ ],
+)
+
+java_library(
+ name = "testutil",
+ srcs = glob(
+ ["src/test/java/**/*.java"],
+ exclude = ["src/test/java/**/*Test.java"],
+ ) + glob(["**/ServletTest.java"]),
+ deps = [
+ ":servlet",
+ "//lib:gson",
+ "//lib:guava",
+ "//lib:servlet-api_2_5",
+ "//lib:truth",
+ "//lib/jgit",
+ "//lib/jgit:jgit-servlet",
+ "//lib/jgit:junit",
+ "//lib/junit",
+ ],
+)
+
+load("//gitiles-servlet:junit.bzl", "junit_tests")
+
+junit_tests(
+ name = "ServletTests",
+ srcs = glob(
+ [
+ "src/test/java/**/*Test.java",
+ ],
+ exclude = ["**/ServletTest.java"],
+ ),
+ runtime_deps = ["//lib/junit:hamcrest-core"],
+ deps = [
+ ":servlet",
+ ":testutil",
+ "//lib:autolink",
+ "//lib:cm-autolink",
+ "//lib:commonmark",
+ "//lib:gfm-strikethrough",
+ "//lib:gfm-tables",
+ "//lib:gson",
+ "//lib:guava",
+ "//lib:joda-time",
+ "//lib:servlet-api_2_5",
+ "//lib:truth",
+ "//lib/jgit",
+ "//lib/jgit:jgit-servlet",
+ "//lib/jgit:junit",
+ "//lib/junit",
+ "//lib/soy",
+ ],
+)