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/lib/BUILD b/lib/BUILD
new file mode 100644
index 0000000..595854e
--- /dev/null
+++ b/lib/BUILD
@@ -0,0 +1,24 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+[java_library(
+ name = n,
+ exports = ["@%s//jar" % n.replace("-", "_")],
+) for n in [
+ "autolink",
+ "commonmark",
+ "commons-lang",
+ "cm-autolink",
+ "gfm-strikethrough",
+ "gfm-tables",
+ "jsr305",
+ "jgit-archive-library",
+ "joda-time",
+ "servlet-api_2_5",
+ "servlet-api_3_0",
+ "truth",
+ "gson",
+ "guava",
+ "prettify",
+]]
diff --git a/lib/guice/BUILD b/lib/guice/BUILD
new file mode 100644
index 0000000..6646fce
--- /dev/null
+++ b/lib/guice/BUILD
@@ -0,0 +1,25 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+java_library(
+ name = "guice",
+ exports = [
+ ":aopalliance",
+ ":guice-assistedinject",
+ ":guice_library",
+ ":javax-inject",
+ ":multibindings",
+ ],
+)
+
+[java_library(
+ name = n,
+ runtime_deps = ["@%s//jar" % n.replace("-", "_")],
+) for n in [
+ "guice_library",
+ "guice-assistedinject",
+ "multibindings",
+ "javax-inject",
+ "aopalliance",
+]]
diff --git a/lib/jetty/BUILD b/lib/jetty/BUILD
new file mode 100644
index 0000000..2c97028
--- /dev/null
+++ b/lib/jetty/BUILD
@@ -0,0 +1,55 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+java_library(
+ name = "servlet",
+ exports = [
+ ":security",
+ "//lib:servlet-api_3_0", # Different from the rest of gitiles-server.
+ "@servlet//jar",
+ ],
+)
+
+java_library(
+ name = "security",
+ exports = [
+ ":server",
+ "@security//jar",
+ ],
+)
+
+java_library(
+ name = "server",
+ exports = [
+ ":continuation",
+ ":http",
+ "@server//jar",
+ ],
+)
+
+java_library(
+ name = "continuation",
+ exports = ["@continuation//jar"],
+)
+
+java_library(
+ name = "http",
+ exports = [
+ ":io",
+ "@http//jar",
+ ],
+)
+
+java_library(
+ name = "io",
+ exports = [
+ ":util",
+ "@io//jar",
+ ],
+)
+
+java_library(
+ name = "util",
+ exports = ["@util//jar"],
+)
diff --git a/lib/jgit/BUILD b/lib/jgit/BUILD
new file mode 100644
index 0000000..9fd1d4f
--- /dev/null
+++ b/lib/jgit/BUILD
@@ -0,0 +1,42 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+java_library(
+ name = "jgit-servlet",
+ exports = ["@jgit_servlet//jar"],
+)
+
+java_library(
+ name = "jgit",
+ exports = ["@jgit//jar"],
+)
+
+java_library(
+ name = "jgit-archive",
+ exports = [
+ ":commons-compress",
+ ":jgit-archive_library",
+ ":tukaani-xz",
+ ],
+)
+
+java_library(
+ name = "tukaani-xz",
+ exports = ["@tukaani_xz//jar"],
+)
+
+java_library(
+ name = "commons-compress",
+ exports = ["@commons_compress//jar"],
+)
+
+java_library(
+ name = "jgit-archive_library",
+ exports = ["@jgit_archive_library//jar"],
+)
+
+java_library(
+ name = "junit",
+ exports = ["@jgit_junit//jar"],
+)
diff --git a/lib/junit/BUILD b/lib/junit/BUILD
new file mode 100644
index 0000000..c2a6fcc
--- /dev/null
+++ b/lib/junit/BUILD
@@ -0,0 +1,13 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+java_library(
+ name = "junit",
+ exports = ["@junit//jar"],
+)
+
+java_library(
+ name = "hamcrest-core",
+ exports = ["@hamcrest_core//jar"],
+)
diff --git a/lib/slf4j/BUILD b/lib/slf4j/BUILD
new file mode 100644
index 0000000..4a27aac
--- /dev/null
+++ b/lib/slf4j/BUILD
@@ -0,0 +1,16 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+java_library(
+ name = "slf4j-api",
+ exports = ["@slf4j_api//jar"],
+)
+
+java_library(
+ name = "slf4j-simple",
+ runtime_deps = [
+ ":slf4j-api",
+ "@slf4j_simple//jar",
+ ],
+)
diff --git a/lib/soy/BUILD b/lib/soy/BUILD
new file mode 100644
index 0000000..4f19143
--- /dev/null
+++ b/lib/soy/BUILD
@@ -0,0 +1,9 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+java_library(
+ name = "soy",
+ exports = ["@soy//jar"],
+ runtime_deps = ["@icu4j//jar"],
+)