Buck: Import all bucklets in bucklet.defs
This means all bucklets used by Gitiles are loaded on every buck
invocation.
Arguably it's a performance hit if you try to build a target that
doesn't require the bucklets, but for a small project like Gitiles where
every rule requires loading at least one bucklet, the cost should be
minimal.
Inspired-by: Dave Borowitz <dborowitz@google.com>
Change-Id: Ic1c8048437876b5bfd7cd503b32bd97649e4402c
diff --git a/BUCK b/BUCK
index 329fc6d..16bf880 100644
--- a/BUCK
+++ b/BUCK
@@ -1,5 +1,4 @@
include_defs('//VERSION')
-include_bucklets(['maven_package.bucklet'])
DEPS = [
'//gitiles-dev:dev',
diff --git a/bucklets.defs b/bucklets.defs
index 56c0a96..1ba5e0c 100644
--- a/bucklets.defs
+++ b/bucklets.defs
@@ -1,20 +1,27 @@
import os
import sys
-def include_bucklets(names):
- d = os.getcwd()
- while not os.path.lexists(os.path.join(d, '.buckversion')):
- d = os.path.dirname(d)
+d = os.getcwd()
+while not os.path.lexists(os.path.join(d, '.buckversion')):
+ d = os.path.dirname(d)
- bd = os.path.join(d, 'bucklets')
- if not os.path.isdir(bd) or not os.listdir(bd):
- sys.stderr.write(('Bucklets directory is missing or empty: %s\n'
- 'Run `git submodule update --init`') % bd)
+bd = os.path.join(d, 'bucklets')
+if not os.path.isdir(bd) or not os.listdir(bd):
+ sys.stderr.write(('Bucklets directory is missing or empty: %s\n'
+ 'Run `git submodule update --init`') % bd)
+ sys.exit(1)
+
+bucklets = [
+ 'java_doc.bucklet',
+ 'java_sources.bucklet',
+ 'maven_jar.bucklet',
+ 'maven_package.bucklet',
+ 'war.bucklet',
+]
+
+for bucklet in bucklets:
+ path = os.path.join(bd, bucklet)
+ if not os.path.isfile(path):
+ sys.stderr.write('Missing bucklet: %s\n' % path)
sys.exit(1)
-
- for name in names:
- path = os.path.join(bd, name)
- if not os.path.isfile(path):
- sys.stderr.write('Missing bucklet: %s\n' % path)
- sys.exit(1)
- include_defs('//bucklets/%s' % name)
+ include_defs('//bucklets/%s' % bucklet)
diff --git a/gitiles-servlet/BUCK b/gitiles-servlet/BUCK
index df2f629..1bedf7c 100644
--- a/gitiles-servlet/BUCK
+++ b/gitiles-servlet/BUCK
@@ -1,8 +1,3 @@
-include_bucklets([
- 'java_sources.bucklet',
- 'java_doc.bucklet',
-])
-
SRCS = glob(['src/main/java/**/*.java'])
RSRC = glob(['src/main/resources/**/*'])
DEPS = [
diff --git a/gitiles-war/BUCK b/gitiles-war/BUCK
index f51e211..268321d 100644
--- a/gitiles-war/BUCK
+++ b/gitiles-war/BUCK
@@ -1,5 +1,3 @@
-include_bucklets(['war.bucklet'])
-
war(
name = 'gitiles',
libs = ['//gitiles-servlet:servlet'],
diff --git a/lib/BUCK b/lib/BUCK
index 8f398c0..449901d 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,5 +1,3 @@
-include_bucklets(['maven_jar.bucklet'])
-
maven_jar(
name = 'guava',
id = 'com.google.guava:guava:16.0',
diff --git a/lib/guice/BUCK b/lib/guice/BUCK
index 7f4c4ef..eb2a260 100644
--- a/lib/guice/BUCK
+++ b/lib/guice/BUCK
@@ -1,5 +1,3 @@
-include_bucklets(['maven_jar.bucklet'])
-
VERSION = '4.0-beta'
EXCLUDE = [
'META-INF/DEPENDENCIES',
diff --git a/lib/jetty/BUCK b/lib/jetty/BUCK
index e1043de..5f394c8 100644
--- a/lib/jetty/BUCK
+++ b/lib/jetty/BUCK
@@ -1,5 +1,3 @@
-include_bucklets(['maven_jar.bucklet'])
-
VERS = '8.1.7.v20120910'
EXCLUDE = ['about.html']
diff --git a/lib/jgit/BUCK b/lib/jgit/BUCK
index 828bbeb..b3edc23 100644
--- a/lib/jgit/BUCK
+++ b/lib/jgit/BUCK
@@ -1,5 +1,3 @@
-include_bucklets(['maven_jar.bucklet'])
-
REPO = GERRIT
VERS = '3.3.2.201404171909-r.128-g79448bc'
diff --git a/lib/slf4j/BUCK b/lib/slf4j/BUCK
index 4c99d52..4d43e55 100644
--- a/lib/slf4j/BUCK
+++ b/lib/slf4j/BUCK
@@ -1,5 +1,3 @@
-include_bucklets(['maven_jar.bucklet'])
-
VERS = '1.6.1'
maven_jar(
diff --git a/lib/soy/BUCK b/lib/soy/BUCK
index 9cef651..239c88c 100644
--- a/lib/soy/BUCK
+++ b/lib/soy/BUCK
@@ -1,5 +1,3 @@
-include_bucklets(['maven_jar.bucklet'])
-
maven_jar(
name = 'soy',
id = 'com.google.template:soy:2014-04-22',