
So why have such a complicated looking build system? Why have a version of ANT (1.5.1) used by the external tasks that is older than the one currently used by WSAD (1.5.3) ?
This system was designed to be flexible ... changes to the development environments and updates to the tools used should not break the system or mean re-installs to every developer machine. This system was originally started when we used WSAD 4 that included ANT 1.3. The 3rd party tasks that we wanted to use needed a newer version of ANT. We could have upgraded the ANT in the developers machines and installed each task there as well ... but what about configuration of the tasks and updates to them? Each project would have to create all of the scripts for itself as well. Updates to the WSAD version would mean reinstalling the whole lot again to each machine, so the ANT scripts, the version we wanted to use and the 3rd party tasks we wanted to use were put into one location accessible by all developers. A single place to install new tasks, new features to the scripts, and maintain. This has meant that the scripts have basically stayed the same through 3 major WSAD updates without any need for changes to the project scripts or installations and configurations on the developer machines. The extra tasks that we use, such as PMD, have been updated numerous times in the central location without the need for each developer to do anything.
In the future, we will still continue to keep the tasks updated and install any dependencies (such as a newer ANT version) and configure in one place without requiring each developer to have this done for every IDE version they use or will use.
DeadEd.com
http://www.deaded.com/staticpages/index.php/builddescription