Java Gems: Ant, Tapestry and Lucene