|
- <?xml version="1.0"?>
- <document>
-
- <properties>
- <author email="">Conor MacNeill</author>
- <author email="stefan.bodewig@epost.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.1)
- <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/jakarta-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>
|