

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
        <html lang="en">
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
      <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Apache Ant - Ant Manual Distributions</title>
        <link type="text/css" href="./page.css" rel="stylesheet">
        </head>

    <body>
      <p class="navpath">
        <script src="./breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
      </p>

      <div class="logobar">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="left"><img border="0" alt="Apache Ant site" src="./images/group-logo.gif"></td>
            <td align="center" width="100%"><img alt="Apache Ant logo" border="0" src="./images/project-logo.gif"></td>
            <td align="right">
              <form target="_blank" onsubmit="q.value = query.value + ' site:ant.apache.org'" action="http://www.google.com/search" method="get">
                <table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
                  <tr>
                    <td colspan="3"><img height="10" width="1" alt="" src="./images/spacer.gif"></td>
                  </tr>
                  <tr>
                    <td><img height="1" width="1" alt="" src="./images/spacer.gif"></td>
                    <td nowrap="nowrap" class="searchcaption">
                      <input name="q" type="hidden">
                      <input size="15" id="query" type="text">
                      <img height="1" width="5" alt="" src="./images/spacer.gif">
                      <input name="Search" value="Search" type="submit">
                      <br>
                      the Apache Ant site
                    </td>
                    <td><img height="1" width="1" alt="" src="./images/spacer.gif"></td>
                  </tr>
                  <tr>
                    <td><img alt="" border="0" height="10" width="9" src="./images/search-left.gif"></td>
                    <td><img height="1" width="1" alt="" src="./images/spacer.gif"></td>
                    <td><img alt="" border="0" height="10" width="9" src="./images/search-right.gif"></td>
                  </tr>
                </table>
              </form>
            </td>
          </tr>
        </table>
      </div>

                  <div class="tab">
              <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
                <tr>
                                  <td width="8"><img alt="" height="5" width="8" src="./images/spacer.gif"></td><td valign="bottom">
                      <table summary="selected tab" style="height: 1.5em" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                        <td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="./images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b>Home</b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="./images/tabSel-right.gif"></td>
                        </tr>
                      </table>
                    </td>
                                    <td width="5"><img alt="" height="8" width="8" src="./images/spacer.gif"></td><td valign="bottom">
                      <table summary="non selected tab" style="height: 1.4em" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                          <td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="./images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="./projects/index.html"><font size="2" face="Arial, Helvetica, Sans-serif">Projects</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="./images/tab-right.gif"></td>
                        </tr>
                      </table>
                    </td>
                            </tr>
              </table>
            </div>

      <div class="bluebar"></div>
                    
  <div class="menucontainer">
    <div class="menu">
      <ul>
              <li class="menuheader">Apache Ant
          <ul>
                            <li>
                                    <a href="./index.html">Welcome</a>
                                </li>
                            <li>
                                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
                                </li>
                            <li>
                                    <a href="./antnews.html">News</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Documentation
          <ul>
                            <li>
                                    <a href="./manual/index.html">Manual</a>
                                </li>
                            <li>
                                    <a href="./projects.html">Related Projects</a>
                                </li>
                            <li>
                                    <a href="./external.html">External Tools and Tasks</a>
                                </li>
                            <li>
                                    <a href="./resources.html">Resources</a>
                                </li>
                            <li>
                                    <a href="./faq.html">Frequently Asked Questions</a>
                                </li>
                            <li>
                                    <a href="http://wiki.apache.org/ant/FrontPage">Wiki</a>
                                </li>
                            <li>
                                    <a href="./problems.html">Having Problems?</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Download
          <ul>
                            <li>
                                    <a href="http://ant.apache.org/bindownload.cgi">Binary Distributions</a>
                                </li>
                            <li>
                                    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
                                </li>
                            <li>
                                    <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Contributing
          <ul>
                            <li>
                                    <a href="./mail.html">Mailing Lists</a>
                                </li>
                            <li>
                                    <a href="./svn.html">Subversion Repositories</a>
                                </li>
                            <li>
                                    <a href="./nightlies.html">Nightly+Continuous Builds</a>
                                </li>
                            <li>
                                    <a href="./bugs.html">Bug Database</a>
                                </li>
                            <li>
                                    <a href="http://www.apache.org/security/">Security</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Sponsorship
          <ul>
                            <li>
                                    <a href="http://www.apache.org/foundation/thanks.html">Thanks</a>
                                </li>
                            <li>
                                    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Project Management
          <ul>
                            <li>
                                    <a href="./contributors.html">Contributors</a>
                                </li>
                            <li>
                                    <a href="./mission.html">Apache Ant Mission</a>
                                </li>
                            <li>
                                    <a href="./bylaws.html">Project Bylaws</a>
                                </li>
                            <li>
                                    <a href="./legal.html">Legal</a>
                                </li>
                      </ul>
        </li>
            </ul>
    </div>
    <center>
    <a href="http://www.apache.org/events/current-event.html"><img border="0" title="ApacheCon" alt="ApacheCon - logo" src="http://www.apache.org/events/current-event-125x125.png" style="width: 125px;height: 125px;"></a>
    </center>
    <img style="float: left" height="10" width="10" border="0" alt="" src="./images/menu-left.gif">
    <img style="float: right" height="10" width="10" border="0" alt="" src="./images/menu-right.gif">
  </div>
      <div class="lightbluebar">&nbsp;</div>
  <div class="main">
  <div class="content">
    <h1 class="title">Ant Manual Distributions</h1>
            <h3 class="section">
      <a name="Downloading Apache Ant&amp;#x2122;'s Manual"></a>
      Downloading Apache Ant&#x2122;'s Manual
    </h3>
                        <p>Apache Ant's manual is part of the binary distribution but is also
  available as a stand-alone download.</p>
                                <p>Use the links below to download a distribution of Ant's manual from
one of our mirrors.  It is good practice to
<a href="[location]#Verify Releases">verify the integrity</a>
of the distribution files, especially if you are using one of our
mirror sites.  In order to do this you must use the signatures from
our <a href="http://www.apache.org/dist/ant/">main distribution
directory</a>.</p>
                                <p>Ant is distributed as <code>zip</code>, <code>tar.gz</code> and
<code>tar.bz2</code> archives - the contents are the same.  Please
note that the <code>tar.*</code> archives contain file names longer
than 100 characters and have been created using GNU tar extensions.
Thus they must be untarred with a GNU compatible version of
<code>tar</code>.</p>
                                <p>If you do not see the file you need in the links below, please see
the <a href="http://www.apache.org/dist/ant/">master distribution
directory</a> or, preferably, its <a href="[preferred]/ant/">mirror</a>.</p>
                        <h3 class="section">
      <a name="Mirror"></a>
      Mirror
    </h3>
                        <p>You are currently using <b>[preferred]</b>.  If you encounter a
problem with this mirror, please select another mirror.  If all
mirrors are failing, there are <i>backup</i> mirrors (at the end of
the mirrors list) that should be available.</p>
                                <form action="[location]" method="get" id="SelectMirror">
Other mirrors: <select name="Preferred">
[if-any http]
  [for http]<option value="[http]">[http]</option>[end]
[end]
[if-any ftp]
  [for ftp]<option value="[ftp]">[ftp]</option>[end]
[end]
[if-any backup]
  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
[end]
</select>
<input type="submit" value="Change" />
</form>
                        <h3 class="section">
      <a name="Current Release of Ant"></a>
      Current Release of Ant
    </h3>
                        <p>Currently, Apache Ant 1.8.2 is the best available version, see the
<a href="[preferred]/ant/README.html">release notes</a>.</p>
                                <div class="warning">
<div class="label">Note</div>
<div class="content">Ant 1.8.2 was released on 27-December-2010 and
may not be available on all mirrors for a few days.</div>
</div>
                                <br />
                                <div class="warning">
<div class="label">Tar files may require gnu tar to extract</div>
<div class="content">Tar files in the distribution contain long file names, and may
 require gnu tar to do the extraction.</div>
</div>
                                <ul>
<li><code>.zip</code> archive:
<a href="[preferred]/ant/manual/apache-ant-1.8.2-manual.zip">apache-ant-1.8.2-manual.zip</a>
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.zip.asc">PGP</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.zip.sha1">SHA1</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.zip.sha512">SHA512</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.zip.md5">MD5</a>]</li>

<li><code>.tar.gz</code> archive:
<a href="[preferred]/ant/manual/apache-ant-1.8.2-manual.tar.gz">apache-ant-1.8.2-manual.tar.gz</a>
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.gz.asc">PGP</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.gz.sha1">SHA1</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.gz.sha512">SHA512</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.gz.md5">MD5</a>]</li>

<li><code>.tar.bz2</code> archive:
<a href="[preferred]/ant/manual/apache-ant-1.8.2-manual.tar.bz2">apache-ant-1.8.2-manual.tar.bz2</a>
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.bz2.asc">PGP</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.bz2.sha1">SHA1</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.bz2.sha512">SHA512</a>]
[<a href="http://www.apache.org/dist/ant/manual/apache-ant-1.8.2-manual.tar.bz2.md5">MD5</a>]</li>
</ul>
                        <h3 class="section">
      <a name="Old Ant Releases"></a>
      Old Ant Releases
    </h3>
                        <p>Manuals for older releases of Ant can be
found <a href="http://archive.apache.org/dist/ant/manual/">here</a>.</p>
                        <h3 class="section">
      <a name="Verify Releases"></a>
      Verify Releases
    </h3>
                        <p>It is essential that you verify the integrity of the downloaded
files using the PGP signature or the SHA1, SHA512 or MD5 checksums.  The
checksums are not as strong indicators as the PGP signature.</p>
                                <p>The PGP signatures can be verified using PGP or GPG.  First
download the <a href="http://www.apache.org/dist/ant/KEYS">KEYS</a>
as well as the <code>asc</code> signature file for the particular
distribution.  Make sure you get these files from the <a href="http://www.apache.org/dist/ant/">main distribution
directory</a>, rather than from a mirror. Then verify the signatures
using</p>
                                <p><code>
% pgpk -a KEYS<br />
% pgpv apache-ant-1.8.2-manual.tar.gz.asc<br />
</code>
<em>or</em><br />
<code>
% pgp -ka KEYS<br />
% pgp apache-ant-1.8.2-manual.tar.gz.asc<br />
</code>
<em>or</em><br />
<code>
% gpg --import KEYS<br />
% gpg --verify apache-ant-1.8.2-manual.tar.gz.asc
</code></p>
                                <p>A command line version of <a href="http://www.gnupg.org/download/">GnuPG</a> 
is also available for Windows users.  Follow the 
<a href="http://www.gnupg.org/(en)/documentation/faqs.html#q4.19">instructions</a> 
to verify the package.</p>
                                <p>Alternatively, you can verify the checksums on the files.  Unix
programs called <code>md5</code>/<code>sha1</code>/<code>sha512</code> or
<code>md5sum</code>/<code>sha1sum</code>/<code>sha512sum</code> are included in many unix
distributions.  <code>*sum</code> is also available as part of <a href="http://www.gnu.org/software/textutils/textutils.html">GNU
Textutils</a>.  Windows users can get binary md5 programs from <a href="http://www.fourmilab.ch/md5/">here</a>, <a href="http://www.pc-tools.net/win32/freeware/console/">here</a>.  <a href="http://www.slavasoft.com/fsum/">fsum</a> supports MD5 and
SHA1.</p>
                                <p>We highly recommend to verify the PGP signature, though.</p>
                
    </div>
  </div>

        <p class="copyright">
      Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
        <script type="text/javascript" language="JavaScript"><!--
                document.write(" - "+"Last Published: " + document.lastModified);
              //  -->
        </script>
      </p>
    </body>
  </html>















