This directory contains some helpers to build the Turbine source code
with the Eclipse IDE (http://www.eclipse.org/). If you're using maven,
you shouldn't need anything from this directory.

This was created and is intended for Eclipse 2.1.1 or better. Updates
and patches are welcome, please send them to turbine-dev@jakarta.apache.org.

Contents:

build.xml     - ant Build file which sets up the auto generated Torque
                peer classes. This file does not build Turbine itself!

