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:

./size-estimator-lucene-solr.xls -- Spreadsheet for estimating memory and disk usage in Lucene/Solr
./eclipse -- Used to generate project descriptors for the Eclipse IDE.
./idea -- Similar to Eclipse, but for IntelliJ's IDEA IDE.
./maven -- Mavenizes the Lucene/Solr packages
./scripts -- Odds and ends for building releases, etc.
