Merge "Fix genantlr() to support buck caching"
diff --git a/BUCK b/BUCK
index d467528..ee5ba75 100644
--- a/BUCK
+++ b/BUCK
@@ -8,11 +8,13 @@
genrule(
name = 'api',
- cmd = 'echo',
+ cmd = '',
srcs = [],
deps = [
':extension-api',
+ ':extension-api-src',
':plugin-api',
+ ':plugin-api-src',
],
out = '__fake.api__',
)
@@ -29,18 +31,33 @@
export_deps = True,
visibility = ['PUBLIC'],
)
+genrule(
+ name = 'extension-api-src',
+ cmd = 'ln -s $DEPS $OUT',
+ srcs = [],
+ deps = ['//gerrit-extension-api:api-src'],
+ out = 'extension-api-src.jar',
+)
+
+PLUGIN_API = [
+ '//gerrit-server:server',
+ '//gerrit-sshd:sshd',
+ '//gerrit-httpd:httpd',
+]
java_binary(name = 'plugin-api', deps = [':plugin-lib'])
java_library(
name = 'plugin-lib',
- deps = [
- '//gerrit-server:server',
- '//gerrit-sshd:sshd',
- '//gerrit-httpd:httpd',
- ],
+ deps = PLUGIN_API,
export_deps = True,
visibility = ['PUBLIC'],
)
+java_binary(
+ name = 'plugin-api-src',
+ deps = [
+ '//gerrit-extension-api:api-src',
+ ] + [d + '-src' for d in PLUGIN_API],
+)
genrule(
name = 'download',
diff --git a/gerrit-extension-api/BUCK b/gerrit-extension-api/BUCK
index 75539f6..4145636 100644
--- a/gerrit-extension-api/BUCK
+++ b/gerrit-extension-api/BUCK
@@ -1,6 +1,14 @@
+SRCS = glob(['src/main/java/com/google/gerrit/extensions/**/*.java'])
+
java_library2(
name = 'api',
- srcs = glob(['src/main/java/com/google/gerrit/extensions/**/*.java']),
+ srcs = SRCS,
compile_deps = ['//lib/guice:guice'],
visibility = ['PUBLIC'],
)
+
+java_sources(
+ name = 'api-src',
+ srcs = SRCS,
+ visibility = ['PUBLIC'],
+)
diff --git a/gerrit-httpd/BUCK b/gerrit-httpd/BUCK
index 51f951d..c906459 100644
--- a/gerrit-httpd/BUCK
+++ b/gerrit-httpd/BUCK
@@ -1,7 +1,10 @@
+SRCS = glob(['src/main/java/**/*.java'])
+RESOURCES = glob(['src/main/resources/**/*'])
+
java_library2(
name = 'httpd',
- srcs = glob(['src/main/java/**/*.java']),
- resources = glob(['src/main/resources/**/*']),
+ srcs = SRCS,
+ resources = RESOURCES,
deps = [
'//gerrit-antlr:query_exception',
'//gerrit-common:server',
@@ -33,6 +36,12 @@
visibility = ['PUBLIC'],
)
+java_sources(
+ name = 'httpd-src',
+ srcs = SRCS + RESOURCES,
+ visibility = ['PUBLIC'],
+)
+
java_test(
name = 'httpd_tests',
srcs = glob(['src/test/java/**/*.java']),
diff --git a/gerrit-server/BUCK b/gerrit-server/BUCK
index 1d676a0..95f5b11 100644
--- a/gerrit-server/BUCK
+++ b/gerrit-server/BUCK
@@ -1,10 +1,13 @@
include_defs('//lib/prolog/DEFS')
+SRCS = glob(['src/main/java/**/*.java'])
+RESOURCES = glob(['src/main/resources/**/*'])
+
# TODO(sop) break up gerrit-server java_library(), its too big
java_library2(
name = 'server',
- srcs = glob(['src/main/java/**/*.java']),
- resources = glob(['src/main/resources/**/*']),
+ srcs = SRCS,
+ resources = RESOURCES,
deps = [
'//gerrit-antlr:query_exception',
'//gerrit-antlr:query_parser',
@@ -51,6 +54,12 @@
visibility = ['PUBLIC'],
)
+java_sources(
+ name = 'server-src',
+ srcs = SRCS + RESOURCES,
+ visibility = ['PUBLIC'],
+)
+
prolog_cafe_library(
name = 'common_rules',
srcs = ['src/main/prolog/gerrit_common.pl'],
diff --git a/gerrit-sshd/BUCK b/gerrit-sshd/BUCK
index 769be58..93a3ef7 100644
--- a/gerrit-sshd/BUCK
+++ b/gerrit-sshd/BUCK
@@ -1,6 +1,8 @@
+SRCS = glob(['src/main/java/**/*.java'])
+
java_library2(
name = 'sshd',
- srcs = glob(['src/main/java/**/*.java']),
+ srcs = SRCS,
deps = [
'//gerrit-extension-api:api',
'//gerrit-cache-h2:cache-h2',
@@ -29,3 +31,9 @@
],
visibility = ['PUBLIC'],
)
+
+java_sources(
+ name = 'sshd-src',
+ srcs = SRCS,
+ visibility = ['PUBLIC'],
+)
diff --git a/tools/DEFS b/tools/DEFS
index 5b83ef0..50d325c 100644
--- a/tools/DEFS
+++ b/tools/DEFS
@@ -168,3 +168,14 @@
],
visibility = visibility,
)
+
+def java_sources(
+ name,
+ srcs,
+ visibility = []
+ ):
+ java_library(
+ name = name,
+ resources = srcs,
+ visibility = visibility,
+ )