<?xml version="1.0"?>
<document>

  <properties>
    <author email="conor@cortexebusiness.com.au">Conor MacNeill</author>
    <author email="stefan.bodewig@epost.de">Stefan Bodewig</author>
    <title>Ant</title>
  </properties>

<body>

  <section name="Ant 1.4 Beta">
  <h3>Ant 1.4 Beta Available !</h3>
  <p>The beta version of Ant 1.4 is now available for 
     <a href="http://jakarta.apache.org/builds/jakarta-ant/release/v1.4Beta2/">
     download</a>. If you have any feedback on the beta feel free to join the 
     discussion on the ant-dev and ant-user mailing lists.
     </p>
  </section>

  <section name="Ant">

<p>
Ant is a Java based build tool. In theory it is kind of like make without
make's wrinkles.
</p>

<p>
Why another build tool when there is already make, gnumake, nmake, jam, and
others? Because all of 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 and then
execute commands not unlike what you would issue on 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. &quot;Is my command not executing
because I have a space in front of my tab!!!&quot; said the original author of
Ant way too many times. Tools like Jam took care of this to a great degree, but
still use yet another format to use and remember.
</p>

<p>
Ant is different. Instead of a model where it is extended with shell based
commands, it 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 which 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 `find . -name foo -exec rm {}` 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 exec rule 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 most recent release 
<a href="manual/index.html">online</a>
</p>

<p>
Comprehensive documentation is included in the source and binary distribtions. 
</p>

  </section>

  <section name="Latest Release">
    <p>
    You can download the latest release:
    </p>
    <ul>
        <li><a href="http://jakarta.apache.org/builds/jakarta-ant/release/v1.3/bin/">
                Download the binary release</a></li>
        <li><a href="http://jakarta.apache.org/builds/jakarta-ant/release/v1.3/src/">
                Download the source release</a></li>
        <li><a href="http://jakarta.apache.org/builds/jakarta-ant/release/v1.3/rpms/">
                Download source and binary RPMs</a></li>
    </ul>  
  </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://jakarta.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="http://jakarta.apache.org/getinvolved/mail.html">Join Mailing Lists</a></li>
<li><a href="http://marc.theaimsgroup.com/?l=ant-dev&amp;r=1&amp;w=2">Search the Dev Mailing List</a>
</li>
<li><a href="http://marc.theaimsgroup.com/?l=ant-user&amp;r=1&amp;w=2">Search the User Mailing List</a>
</li>
</ul>



  </section>

</body>
</document>

