Performance improvements and a small API change for FileMatchProcessors.
- Switched recursive scanning to use an NIO TreeWalker rather than custom recursive scanning code. This should result in faster scanning compared to the old method of using java.util.zip. (This also paves the way for multithreaded scanning in the future, since java.util.zip is not threadsafe.)
- Only scan any given directory/file/jar once (after resolving symlinks).
- Small API change: the
inputStreamLengthBytes
parameter ofFileMatchProcessor
andFileMatchProcessorWithContext
is now of typelong
instead ofint
.