The tools, documentation, etc. in this directory are intended to be helpful
to developers of Lucene and Solr.  They are not necessarily maintained in
the same way that the core code is maintained and so your mileage may vary
as to the usefulness of the tools.

Description of dev-tools/ contents:

./missing-doclet -- JavaDoc validation doclet subproject
./doap/       -- Lucene and Solr project descriptors in DOAP RDF format.
./scripts/    -- Odds and ends for building releases, etc.
./test-patch/ -- Scripts for automatically validating patches
