Apache Ant is a Java-based build tool. The session started with Ant is kind of like make. Ant is extended using Java classes. Instead of writing shell commands, the configuration files are XML-based, calling out a target tree where various tasks get executed. Each task is run by an object that implements a particular Task interface.
Ant has been awarded the Java Pro 2003 Readers’ Choice Award for Most Valuable Java Deployment Technology. However, it can also be used for other
technologies like XML, web services and web applications.
Other open source build tools available are:
Anthill
AntHill is a software build management server for the enterprise. It makes the build and release process easy and efficient. It supports many reposistory adapters including: CVS (Concurrent Versions
System), Visual Source Safe, Perforce, Clearcase, PVCS, StarTeam, MKSIntegrity.
and FileSystem. AntHill runs as an web interface application. It runs in continuous loops and whenever
an activity is detected (like file change), those files are checked out, a build is done and the reports are emailed.
CruiseControl
* Runs as a standalone Java application for continuous builds
* Separate web application can be deployed to view build results
http://cruisecontrol.sourceforge.net
Gump
* Mega continuous integration
* Builds everything (all dependencies) from HEAD
* Involved configuration
http://jakarta.apache.org/gump
Plain ol’ command-line cron/AT job
Continuous Integration
* Quick and relatively easy to do initially
* Requires a bit of work to accomplish what these other tools already can do
* Have build results e-mailed using MailLogger
Finally, the speaker introduced ant-contrib project. The Ant-Contrib project is a collection of
tasks (and at one point maybe types and other tools) for Apache Ant. Ant-Contrib also supports native (C/C++, etc) compiling and linking
tasks.