| <?xml version="1.0"?> |
| <document> |
| |
| <properties> |
| <author email="">Conor MacNeill</author> |
| <author email="stefan.bodewig@freenet.de">Stefan Bodewig</author> |
| <title>Welcome</title> |
| </properties> |
| |
| <body> |
| |
| <section name="Ant Top Level Apache Project"> |
| <h3>Ant Promoted to Top Level Apache Project</h3> |
| |
| <p>On November 18, 2002, the Apache board <a href="mission.html">created</a> |
| the Apache Ant top level project. Ant has now migrated from the Jakarta |
| project into an Apache project of its own. This is primarily an |
| organizational change and will not affect the technical aspects of |
| the project. Ant retains a strong association with the Apache |
| Jakarta project. One effect of this change is that the Ant webpage |
| is now located at <a href="http://ant.apache.org/">http://ant.apache.org/</a> |
| </p> |
| </section> |
| |
| <section name="Apache Ant"> |
| |
| <p> |
| Apache Ant is a Java-based build tool. In theory, it is kind of like |
| Make, but without Make's wrinkles. |
| </p> |
| |
| <p> |
| Why another build tool when there is already <em>make</em>, <em>gnumake</em>, |
| <em>nmake</em>, <em>jam</em>, and |
| others? Because all those tools have limitations that Ant's original author |
| couldn't live with when developing software across multiple platforms. Make-like |
| tools are inherently shell-based -- they evaluate a set of dependencies, then |
| execute commands not unlike what you would issue in a shell. This means that you |
| can easily extend these tools by using or writing any program for the OS that |
| you are working on. However, this also means that you limit yourself to the OS, |
| or at least the OS type such as Unix, that you are working on. |
| </p> |
| |
| <p> |
| Makefiles are inherently evil as well. Anybody who has worked on them for any |
| time has run into the dreaded tab problem. "Is my command not executing |
| because I have a space in front of my tab!!!" said the original author of |
| Ant way too many times. Tools like Jam took care of this to a great degree, but |
| still have yet another format to use and remember. |
| </p> |
| |
| <p> |
| Ant is different. Instead of a model where it is extended with shell-based |
| commands, 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. |
| </p> |
| |
| <p> |
| Granted, this removes some of the expressive power that is inherent by being |
| able to construct a shell command such as |
| <code>`find . -name foo -exec rm {}`</code>, but it |
| gives you the ability to be cross platform -- to work anywhere and everywhere. |
| And hey, if you really need to execute a shell command, Ant has an |
| <code><exec></code> task that |
| allows different commands to be executed based on the OS that it is executing |
| on. |
| </p> |
| |
| </section> |
| |
| <section name="Documentation"> |
| |
| <p> |
| You can view the documentation for the current release (Apache Ant 1.5.2) |
| <a href="manual/index.html">online</a> |
| </p> |
| |
| <p> |
| Comprehensive documentation is included in the source and binary distributions. |
| </p> |
| |
| </section> |
| |
| <section name="Nightly Builds"> |
| <p> |
| If you wish to use the latest Ant features, you can try downloading a nightly |
| build from <a href="http://cvs.apache.org/builds/ant/nightly/">here</a> |
| </p> |
| |
| </section> |
| |
| <section name="Towards Ant2"> |
| <p> |
| We are currently hashing out design details for Ant2. Please |
| read the latest <a href="antnews.html">Ant news</a> for more details. |
| </p> |
| </section> |
| |
| <section name="Get Involved"> |
| <ul> |
| <li><a href="http://jakarta.apache.org/getinvolved/getinvolvedindex.html">Get Involved</a></li> |
| <li><a href="mail.html">Join Mailing Lists</a></li> |
| <li><a href="http://marc.theaimsgroup.com/?l=ant-dev&r=1&w=2">Search the Dev Mailing List</a> |
| </li> |
| <li><a href="http://marc.theaimsgroup.com/?l=ant-user&r=1&w=2">Search the User Mailing List</a> |
| </li> |
| </ul> |
| |
| |
| |
| </section> |
| |
| </body> |
| </document> |
| |