Gitiles: Implement Buck driven build Until extension system is released by Buck team [1], factor out existing Buck building blocks as Bucklets in standalone git repository and reuse it as Git submodule to implement Buck driven build [2]. To build gitiles `gitiles` target is used: buck build gitiles To build servlet, sources and javadoc in addition, `all` target is used: buck build all that produces: buck-out/gen/gitiles.war buck-out/gen/servlet.jar buck-out/gen/src.jar buck-out/gen/javadoc.jar To execute the tests: buck test --all To generate eclipse project: bucklets/tools/eclipse.py To fetch sources for all dependent libraries too: bucklets/tools/eclipse.py --src To install gitiles-servlet into local Maven repository: buck build mvn_install To deploy gitiles-servlet into remote Maven repository: buck build mvn_deploy [1] http://stackoverflow.com/questions/16681527/buck-vs-gradle-pros-and-cons-for-android-build-systems [2] https://gerrit.googlesource.com/bucklets Change-Id: Ib824dac6423d69c298f9c30ed7a0c05b4d6447c0
diff --git a/lib/guice/BUCK b/lib/guice/BUCK new file mode 100644 index 0000000..1643150 --- /dev/null +++ b/lib/guice/BUCK
@@ -0,0 +1,74 @@ +include_defs('//bucklets/maven_jar.bucklet') + +VERSION = '4.0-beta' +EXCLUDE = [ + 'META-INF/DEPENDENCIES', + 'META-INF/LICENSE', + 'META-INF/NOTICE', +] + +java_library( + name = 'guice', + exported_deps = [ + ':guice_library', + ':guice-assistedinject', + ':multibindings', + ':javax-inject', + ':aopalliance', + ':jsr305', + ], + visibility = ['PUBLIC'], +) + +maven_jar( + name = 'multibindings', + id = 'com.google.inject.extensions:guice-multibindings:' + VERSION, + exclude_java_sources = True, + exclude = EXCLUDE + [ + 'META-INF/maven/com.google.guava/guava/pom.properties', + 'META-INF/maven/com.google.guava/guava/pom.xml', + ], + visibility = ['PUBLIC'], +) + +maven_jar( + name = 'guice_library', + id = 'com.google.inject:guice:' + VERSION, + sha1 = 'a82be989679df08b66d48b42659a3ca2daaf1d5b', + deps = [':aopalliance'], + exclude_java_sources = True, + exclude = EXCLUDE + [ + 'META-INF/maven/com.google.guava/guava/pom.properties', + 'META-INF/maven/com.google.guava/guava/pom.xml', + ], + visibility = ['PUBLIC'], +) + +maven_jar( + name = 'guice-assistedinject', + id = 'com.google.inject.extensions:guice-assistedinject:' + VERSION, + sha1 = 'abd6511011a9e4b64e2ebb60caac2e1cd6cd19a1', + exclude = EXCLUDE, +) + +maven_jar( + name = 'aopalliance', + id = 'aopalliance:aopalliance:1.0', + sha1 = '0235ba8b489512805ac13a8f9ea77a1ca5ebe3e8', + visibility = ['//lib/guice:guice'], +) + +maven_jar( + name = 'javax-inject', + id = 'javax.inject:javax.inject:1', + sha1 = '6975da39a7040257bd51d21a231b76c915872d38', + visibility = ['PUBLIC'], +) + +maven_jar( + name = 'jsr305', + id = 'com.google.code.findbugs:jsr305:1.3.9', + sha1 = '40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf', + attach_source = False, +) +