|author||Michael Bolin <firstname.lastname@example.org>||Thu Nov 14 17:59:30 2013 -0800|
|committer||Michael Bolin <email@example.com>||Sat Nov 16 19:36:05 2013 -0800|
Use Java 7 APIs to unzip a file instead of shelling out to `unzip`. Summary: Users have been reporting intermittent errors when multiple threads are unzipping artifacts pulled from cache. Previously, we were shelling out to `unzip` to do this extraction, but now, we use Java 7 APIs that create the parent directories for each file before writing the file. We'll have to live with this in the wild and see whether this is an improvement. If nothing else, this makes this part of the code work on Windows instead of only Linux and OS X. Note that this diff also removes the `filesToExtract` option from `UnzipStep`, as no one was using it and it was not tested. Test Plan: I did a build purely from cache with 12 threads and did not get any collisions.
Buck is an Android build tool. To see what Buck can do for you, check out the documentation at http://facebook.github.io/buck/.
To build Buck, run the following:
git clone firstname.lastname@example.org:facebook/buck.git cd buck ant ./bin/buck --help
Apache License 2.0