Introduce our own implementation of a ZipOutputStream.

Summary:
We currenty depend on the command line zip command in order to create zip files. This means that we cannot
currently build an APK on Windows, which is obviously suboptimal. In the ideal world, we'd use something
that ships with the JRE, but it turns out that the two obvious candidates fail. Our requirements are:

1) Can support changing the deflation level per-file.
2) Can support writing the same file more than once to the zip, overwriting existing entries.
3) As 2, but appending the new entry.

ZipOutputStream meets 1, but 2 or 3. ZipFileSystem supports 2, but not 1 or 3. The classes in this
diff allow us to support all three options.

Test Plan: buck test --all
32 files changed
tree: e4a1957aa57dedd1c8f73cfa495bf7e00256b7eb
  1. .idea/
  2. bin/
  3. config/
  4. docs/
  5. lib/
  6. pmd/
  7. scripts/
  8. src/
  9. test/
  10. testdata/
  11. third-party/
  12. .buckconfig
  13. .classpath
  14. .gitignore
  15. .project
  16. buck.iml
  17. build.xml
  18. DEFS
  19. LICENSE
  20. README.md
README.md

Buck

Buck is an Android build tool. To see what Buck can do for you, check out the documentation at http://facebook.github.io/buck/.

Installation

To build Buck, run the following:

git clone git@github.com:facebook/buck.git
cd buck
ant
./bin/buck --help

License

Apache License 2.0