Use Files.walkFileTree in DirectoryTraversal.

Summary:
Replace custom traversal code with Java 7's `Files.walkFileTree`.
This fixes infinite loops in the event of a symlink loop.

Test Plan:
Added a symlink loop to DirectoryTraversalTest and  `buck test --all`.

Use in a directory with symlink loops, previously it looped, now it
terminates.
2 files changed
tree: 06474772dc117d751c269539d70bb082a861262e
  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