Modify BuildFileToJsonParser to use Gson's streaming parser.

Summary:
Instead of using our hand-tuned streaming parser, use the default one in Gson.
This also enables us to parse arbitrary JSON structures instead of only arrays
of arrays of primitives.

This changes `BuildFileToJsonParser` to take `isServerMode` as a constructor param
so that we are explicit. Despite what the comment on `BuildFileToJsonParser#isServerMode`
says, I don't believe that we can use "regular mode" going forward.
That is, because the output from `buck.py` includes an `__includes` entry,
we cannot read a single JSON object in isolation because there may be context
from the `__includes` entry that it needs.

Test Plan: Sandcastle builds.
5 files changed
tree: 6251d7a5d5970009f1bc69a98e9987d49e382fc9
  1. .buckconfig
  2. .classpath
  3. .gitignore
  4. .idea/
  5. .project
  6. .travis.yml
  7. DEFS
  8. LICENSE
  9. README.md
  10. bin/
  11. buck.iml
  12. build.xml
  13. config/
  14. docs/
  15. lib/
  16. plugin/
  17. pmd/
  18. scripts/
  19. src/
  20. test/
  21. testdata/
  22. third-party/
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/.

Build Status

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