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/gitiles-war/BUCK b/gitiles-war/BUCK new file mode 100644 index 0000000..7b5dd36 --- /dev/null +++ b/gitiles-war/BUCK
@@ -0,0 +1,21 @@ +include_defs('//bucklets/war.bucklet') + +war( + name = 'gitiles', + libs = ['//gitiles-servlet:servlet'], + context = [ + '//gitiles-servlet:static-resources.zip', + ':web_xml.zip', + ], + visibility = ['PUBLIC'], +) + +genrule( + name = 'web_xml', + cmd = 'mkdir -p $TMP/WEB-INF' + + ';cp -r $SRCDIR/src/main/webapp/WEB-INF/web.xml $TMP/WEB-INF' + + ';cd $TMP' + + ';zip -qr $OUT *', + srcs = ['src/main/webapp/WEB-INF/web.xml'], + out = 'web_xml.zip', +)