Build blame cache as own java_library
This is a first step towards properly packaging of blame cache in Gerrit
server which is needed for [1]. [1] currently (PS-44) depends on the
whole gitiles-servlet and this leads to a:
java.lang.NoClassDefFoundError: com/google/template/soy/SoyFileSet
caused by packaging the gitiles-servlet in the Gerrit core but without
all of its dependencies.
[1] https://gerrit-review.googlesource.com/72798
Change-Id: I9326b30962c21082b3d152eb6397ddcf767d1ce3
diff --git a/.buckconfig b/.buckconfig
index adac013..7ab2a74 100644
--- a/.buckconfig
+++ b/.buckconfig
@@ -1,5 +1,6 @@
[alias]
all = //:all
+ blame-cache = //blame-cache:lib
in = //:install
mvn_install = //:install
mvn_deploy = //:deploy
diff --git a/BUCK b/BUCK
index b7015cd..a8ccb68 100644
--- a/BUCK
+++ b/BUCK
@@ -1,6 +1,9 @@
include_defs('//VERSION')
DEPS = [
+ '//blame-cache:lib',
+ '//blame-cache:src',
+ '//blame-cache:javadoc',
'//gitiles-dev:dev',
'//gitiles-servlet:servlet',
'//gitiles-servlet:src',
@@ -21,9 +24,18 @@
url = 'gs://gerrit-maven',
version = GITILES_VERSION,
group = 'com.google.gitiles',
- jar = {'gitiles-servlet': '//gitiles-servlet:servlet'},
- src = {'gitiles-servlet': '//gitiles-servlet:src'},
- doc = {'gitiles-servlet': '//gitiles-servlet:javadoc'},
+ jar = {
+ 'blame-cache': '//blame-cache:lib',
+ 'gitiles-servlet': '//gitiles-servlet:servlet',
+ },
+ src = {
+ 'blame-cache': '//blame-cache:src',
+ 'gitiles-servlet': '//gitiles-servlet:src',
+ },
+ doc = {
+ 'blame-cache': '//blame-cache:javadoc',
+ 'gitiles-servlet': '//gitiles-servlet:javadoc',
+ },
)
def b():
diff --git a/blame-cache/BUCK b/blame-cache/BUCK
new file mode 100644
index 0000000..e3a6428
--- /dev/null
+++ b/blame-cache/BUCK
@@ -0,0 +1,29 @@
+SRCS = glob(['src/main/java/**/*.java'])
+DEPS = [
+ '//lib:guava',
+ '//lib/jgit:jgit',
+]
+
+java_library(
+ name = 'lib',
+ srcs = SRCS,
+ deps = DEPS,
+ visibility = ['PUBLIC'],
+)
+
+java_sources(
+ name = 'src',
+ srcs = SRCS,
+ visibility = ['//:'],
+)
+
+java_doc(
+ name = 'javadoc',
+ title = 'Blame Cache API Documentation',
+ pkgs = ['com.google.gitiles.blame'],
+ paths = ['blame-cache/src/main/java'],
+ srcs = SRCS,
+ deps = DEPS,
+ visibility = ['//:'],
+ do_it_wrong = True,
+)
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameCache.java b/blame-cache/src/main/java/com/google/gitiles/blame/BlameCache.java
similarity index 100%
rename from gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameCache.java
rename to blame-cache/src/main/java/com/google/gitiles/blame/BlameCache.java
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java b/blame-cache/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java
similarity index 100%
rename from gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java
rename to blame-cache/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/blame/Region.java b/blame-cache/src/main/java/com/google/gitiles/blame/Region.java
similarity index 100%
rename from gitiles-servlet/src/main/java/com/google/gitiles/blame/Region.java
rename to blame-cache/src/main/java/com/google/gitiles/blame/Region.java
diff --git a/gitiles-dev/BUCK b/gitiles-dev/BUCK
index fe841a8..76775ed 100644
--- a/gitiles-dev/BUCK
+++ b/gitiles-dev/BUCK
@@ -2,6 +2,7 @@
name = 'lib',
srcs = glob(['src/main/java/**/*.java']),
deps = [
+ '//blame-cache:lib',
'//gitiles-servlet:servlet',
'//lib:guava',
'//lib:servlet-api_3_0',
diff --git a/gitiles-servlet/BUCK b/gitiles-servlet/BUCK
index 8a0de1f..81c06e2 100644
--- a/gitiles-servlet/BUCK
+++ b/gitiles-servlet/BUCK
@@ -1,6 +1,7 @@
SRCS = glob(['src/main/java/**/*.java'])
RSRC = glob(['src/main/resources/**/*'])
DEPS = [
+ '//blame-cache:lib',
'//lib:commons-lang',
'//lib:grappa',
'//lib:gson',