<?xml version="1.0"?>
<!--
   Copyright 2001-2005 The Apache Software Foundation

   Licensed 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.
-->
<document>

  <properties>
    <author email="bodewig@apache.org">Stefan Bodewig</author>
    <title>External Tools and Tasks</title>
  </properties>

  <body>

    <section name="External Tools and Tasks">

      <p>This page lists external resources for Apache Ant: <a
      href="#Tasks">Tasks</a>, <a
      href="#Compiler%20Implementations">Compiler Implementations</a>,
      <a href="#IDE%20and%20Editor%20Integration">IDE integration
      tools</a>, <a href="#Source%20Control%20ystems">Source Control
      Systems</a>, loggers, you name it. If you've written
      something that should be included, please post all relevant
      information to one of the mailing lists.  For details, see the
      <a href="faq.html#adding-external-tasks">FAQ</a>.</p>

      <p>Nothing listed here is directly supported by the Ant
      developers (therefore '<i>external</i> tools and tasks'),
      if you encounter any problems with them, please use
      the contact information.</p>

    </section>

    <section name="Tasks">
      <subsection name="AJC">

        <p><a href="http://www.eclipse.org/aspectj/">AspectJ</a> is an
          aspect-oriented extension to Java.  This task compiles a
          source tree using the AspectJ compiler -- AJC.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.3</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.eclipse.org/aspectj/">http://www.eclipse.org/aspectj/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.eclipse.org/aspectj/">project mailing lists</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Anakia">

        <p>Actually, Anakia is more than just an Ant task, it is a an
        XML transformation tool based on JDOM, Velocity and Ant.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jakarta.apache.org/velocity/anakia.html">http://jakarta.apache.org/velocity/anakia.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://jakarta.apache.org/site/mail2.html">Velocity mailing lists</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Andariel">

        <p>Andariel is a set of tasks designed to help the generation of HTML
        (and other markup languages) pages from Ant. Includes a XPath processor,
        an image information retriever, and others.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.4 and newer</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://andariel.uworks.net/">http://andariel.uworks.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>josep DOT rio AT uworks DOT net</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License 1.1</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Ant2Svg">

        <p>Ant2Svg creates a graphical representation of an Ant build file.
        The graphical representation is in the form of a Scalable Vector
        Graphics (SVG) file that can be displayed in a web browser. This
        simplified SVG depiction helps the developer understand build file
        structure and identify extraneous or missing dependencies.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.6.1 and higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.spiritedsw.com/ant2svg/">http://www.spiritedsw.com/ant2svg/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>loney &lt;at&gt; spiritedsw &lt;dot&gt; com</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>The Apache Software License 2.0</td>
          </tr>
        </table>
      </subsection>

      <subsection name="AntDoc">

        <p>AntDoc is a tool that generates HTML documentation from Ant
        buildfiles; the generated HTML is inspired from what javadoc
        yields.  AntDocGUI offers a simple Ant target launcher named
        AntDoc GUI. Ant targets may be launched from the generated
        AntDoc HTML pages. Integration to various IDEs is in
        progress.</p>

        <p>AntDoc can be run via an Ant task, AntDoc GUI can be run
        via an Ant task, or via a JVM launch.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4.1 and higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://antdoc.free.fr/">http://antdoc.free.fr/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>Edouard Mercier</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>The Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Anteater">

        <p>Anteater is a set of Ant tasks for the functional testing of websites
          and web services (functional testing being; hit a URL and ensure the
          response meets certain criteria). Can test HTTP params, response
          codes, XPath, regexp and Relax NG expressions. Includes HTML reporting
          (based on junitreport) and a hierarchical grouping system for quickly
          configuring large test scripts.
        </p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://aft.sourceforge.net/">http://aft.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://lists.sourceforge.net/lists/listinfo/aft-devel">developer
                mailing list</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="AntForm">

        <p>Provides a java/swing form-based input scheme for
        configuring ant properties and launching ant targets.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.6.2.</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://antforms.sourceforge.net/">http://antforms.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:rene_ghosh@yahoo.com">Ren&#233; Ghosh</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Antmerge">

        <p>Provides simple inheritance between ant files</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with 1.5. Should work with all versions.</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.russet.org.uk/antmerge.html">http://www.russet.org.uk/antmerge.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:antmerge@russet.org.uk">Phillip Lord</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU Lesser General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Ant Pretty Build">

        <p>Ant Pretty Build is a tool to easily show and run Ant
        buildfiles directly from within a browser window.  It consists
        of a single XSL file that will generate, on the fly, in the
        browser, from the .xml buildfile, a pretty interface showing
        project name, description, properties and targets, etc. sorted
        or unsorted, allowing to modify/add properties, run the whole
        project, or run selected set of targets in a specific order,
        with the ability to modify logger/logfile, mode and add more
        libs or command line arguments.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>All Ant versions</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://antprettybuild.free.fr/">http://antprettybuild.free.fr/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://antprettybuild.free.fr/">Charbel BITAR (Project&apos;s Contact Page)</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License 2.0</td>
          </tr>
        </table>
      </subsection>

      <subsection name="AntSpaces">

	<p>AntSpaces provides Ant integration with JavaSpaces. This
	allows you to coordinate Ant tasks via JavaSpaces, pull out
	work units from a JavaSpace for distributed Ant tasks to work
	on, and so forth.</p>

	<table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://www.oopsconsultancy.com/software/antspaces/">http://www.oopsconsultancy.com/software/antspaces/</a>
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>antspaces at oopsconsultancy.com</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="AntTimerTask">
        <p><a href="http://www.jeckle.de/freeStuff/AntTimerTask/index.html">Timer</a>
        is task for measuring the time elapsed to complete other
        tasks</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.6</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://www.jeckle.de/freeStuff/AntTimerTask/index.html">http://www.jeckle.de/freeStuff/AntTimerTask/index.html</a>
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:mario@jeckle.de">mario@jeckle.de</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Lesser GNU Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Checkstyle">

        <p>Checkstyle is a development tool to help programmers write
        Java code that adheres to a coding standard. Its purpose is to
        automate the process of checking Java code, and to spare
        humans of this boring (but important) task.</p>

        <p>Checkstyle can be run via an Ant task or a command line
        utility.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4.1 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://checkstyle.sourceforge.net/">http://checkstyle.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:checkstyle@puppycrawl.com">Oliver Burn</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Starting with release 2.0 the license is the GNU
            Lesser General Public License.  Prior releases were under
            the GNU General Public License.</td>
          </tr>
        </table>
      </subsection>

      <subsection name="ChownTask">

        <p>ChownTask is an Ant task to change ownership of files on
        Unix.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.3 and up</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://sourceforge.net/projects/chowntask/">http://sourceforge.net/projects/chowntask/</a>
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:chowntask-users@lists.sourceforge.net">Wilfred Springer</a>
            </td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="CleanImports">
        <p>Removes unneeded imports. Formats your import
        sections. Flags ambiguous imports.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.3</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.euronet.nl/users/tomb/cleanImports/index.html">http://www.euronet.nl/users/tomb/cleanImports/index.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:tomb@euronet.nl">Tom Brus</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Clover">

        <p>Clover is an Ant-based Code Coverage tool. It can be used
        seamlessly with Ant-based projects. It provides method,
        statement, and branch coverage analysis, and has rich
        reporting in XML, HTML or via a Swing GUI.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4.1 or greater</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.cenqua.com/clover/">http://www.cenqua.com/clover/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:clover-support@cenqua.com">clover-support@cenqua.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial, free licenses available for open source
            projects.</td>
          </tr>
        </table>
      </subsection>

      <subsection name="CMSDeploy">

        <p><a href="http://cmsdeploy.sourceforge.net">CMSDeploy</a> is
        an Apache Ant Task to submit files and templates to Vignette
        CMS.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://cmsdeploy.sourceforge.net">http://cmsdeploy.sourceforge.net</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:masogato@users.sourceforge.net">masogato@users.sourceforge.net</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU Lesser General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Cocoon Task">
        <p>This task allows the generation of static web pages and
        sites using Apache Cocoon in off-line mode.</p>
        <p>It allows the configuration information for Cocoon to be
        included within the Ant build file, and is thus
        able to take advantage of Ant properties.</p>
        <p>The task shares its code with the Cocoon Command Line, which
        means that this task will instantly take
        advantage of any new functionality added there.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.3 and above</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://cocoon.apache.org/2.1/">http://cocoon.apache.org/2.1/</a></td>
         </tr>
          <tr>
            <th>Documentation:</th>
            <td><a href="http://cocoon.apache.org/2.1/userdocs/offiline/ant.html">http://cocoon.apache.org/2.1/userdocs/offline/ant.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:users.at.cocoon.apache.org">users at cocoon.apache.org</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
       </table>
     </subsection>

     <subsection name="Configure">

        <p>Recursive build support (call ant on every package level,
        and only build files in that package or in that package and
        everything below) with seperation of source and output.</p>

        <p>The task generates build files in any subdirectory (except
        for CVS-directories) for you. Only place one build.xml file in
        the top and call target &apos;setup&apos; or
        &apos;rescan&apos;.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 and 1.3</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.dsdelft.nl/~lemval/ant/">http://www.dsdelft.nl/~lemval/ant/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:lemval@dsdelft.nl">M.J.P. van Leeuwen</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>License derived from Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="CVSGrab">

        <p>A little CVS client that can be useful when people are
        behind corporate firewall that blocks any cvs
        communications. It uses the ViewCVS web interface to access
        the CVS repository via standard http, and downloads all the
        files present in it.</p>

        <p>It works from the command line or as an Ant task.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.3 or higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://cvsgrab.sourceforge.net/">http://cvsgrab.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:cvsgrab-users@lists.sourceforge.net">CVSGrab
            user mailing list</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Dependencies">
          <p>The dependencies task manages a set of external dependencies which
            may be downloaded from a remote repository,
             such as ibiblio.org. Uses a local cache to avoid repeated
            downloads.</p>

          <table class="externals">
            <tr>
              <th>Compatibility:</th>
              <td>Tested with 1.5.1, should work with 1.4+.</td>
           </tr>
            <tr>
              <th>URL:</th>
              <td><a href="http://www.httpunit.org/doc/dependencies.html">http://www.httpunit.org/doc/dependencies.html</a></td>
            </tr>
            <tr>
              <th>Contact:</th>
              <td><a href="mailto:russgold@httpunit.org">Russell Gold</a></td>
            </tr>
            <tr>
              <th>License:</th>
              <td>MIT License</td>
            </tr>
          </table>
    </subsection>

      <subsection name="Dependency Finder">
        <p>Dependency Finder extracts dependencies and OO metrics from
        Java class files produced by most Java compilers. It can compute
        API differences between versions;  no sources needed. It includes
        Ant tasks, web, Swing, and command-line interfaces, with XSL
        stylesheets for formatting output.</p>

        <p>You can use it to extract dependencies between packages, classes,
        or even methods, or any combination thereof.  You can use Perl
        regular expressions to filter the information and pinpoint only
        what you need.  There is even a Web Application version (WAR file)
        so a whole group of developers can share a common view.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with 1.5.3, should work with 1.4+.</td>
         </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://depfind.sourceforge.net/">http://depfind.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:jeantessier@users.sourceforge.net">Jean Tessier</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD-like License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Doxygen task">
        <p>There are two Ant tasks for running the Doxygen
        documentation system.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.1 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.bgw.org/projects/java/ant/">http://www.bgw.org/projects/java/ant/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:mortis@voicenet.com">Kyle R. Burton</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software Foundation License</td>
          </tr>
        </table>

        <p>and</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://ant-doxygen.sourceforge.net/">http://ant-doxygen.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:akkumar@users.sourceforge.net">Karthik A Kumar</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software Foundation License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="DTDDoc">
        <p>DTDDoc is here to help you to document your DTD's efficiently. It is a
        straightforward extension of the javadoc concept to the DTD file format.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://dtddoc.sourceforge.net/">http://dtddoc.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://sourceforge.net/mail/?group_id=53704">Project Mailing List</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>X11 (Open Source)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="EMMA">
        <p>EMMA is an open-source toolkit for measuring and reporting
        Java code coverage. EMMA distinguishes itself from other tools
        by going after a unique feature combination: support large-scale
        enterprise software development while keeping individual developers
        work fast and iterative at the same time.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://emma.sourceforge.net/">http://emma.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:emma-users@lists.sourceforge.net">Mailinglist</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Common Public License 1.0</td>
          </tr>
        </table>
      </subsection>

      <subsection name="FMPP">
        <p>FMPP is a general-purpose text file preprocessor tool that
        uses FreeMarker templates. It is particularly designed for
        HTML preprocessor, for the generation of complete (static)
        homepages: directory structure that contains HTML-s, image
        files, etc. But of course it can be used to generate source
        code or whatever text files. FMPP is extendable with Java
        classes to pull data from any data sources (XML file,
        database, etc.) and embed the data into the generated
        files.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://fmpp.sourceforge.net/">http://fmpp.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="GenJar">
        <p>Builds a JAR file based on class dependencies rather than simply the contents of a directory</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 alpha (built after 2001/08/04) and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://genjar.sourceforge.net/">http://genjar.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:jesse_dev@yahoo.com">Jesse Stockall</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software Foundation License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Grand">
        <p>Grand is a set of tools to create a visual representation of Ant target
          dependencies. It works by taking an Ant build file and creating a "dot" file. It
          differs from the existing tools by relying on the Ant API rather than XML parsing to
          get the dependencies. It includes many advanced features such as filtering or
          rendering depending on the target's nature. Also features a SWT based GUI.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.6 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.ggtools.net/grand/">http://www.ggtools.net/grand/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>Christophe Labouisse</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Greebo">

        <p>Greebo is an Ant-task for downloading dependency files
        (currently only jars) from a network to a specified directory,
        much like Maven. It supports multiple local and remote
        repositories with either flat or maven-like structures. It can
        read the dependency list from a Maven project file, a
        maven-like dependency file, or directly from the build.xml
        file.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://greebo.sourceforge.net/">http://greebo.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://sourceforge.net/mail/?group_id=73733">project mailing lists</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="GroboUtils CodeCoverage">

        <p>The CodeCoverage sub-project of GroboUtils provides a 100%
        pure Java code coverage tool.  It uses pre-execution class file
        recompilation, and generates XML files containing the coverage
        statistics.  It does not require any advanced VM setup to generate
        coverage numbers.
        </p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://groboutils.sourceforge.net/codecoverage/">http://groboutils.sourceforge.net/codecoverage/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://sourceforge.net/mail/?group_id=22594">project mailing lists</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>MIT License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Hammurapi">

        <p>Java code review tool. Performs automated code
        review. Contains 111 inspectors which check different aspects
        of code quality including coding standards, EJB, threading,
        ...</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with Ant 1.5 and 1.5.2</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.hammurapi.org">http://www.hammurapi.org</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.hammurapi.org/content/menu.show@id=Hammurapi.4.html">Project's Contact Page</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License (GPL)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="IDLDepend">
        <p>idldepend is a task that (re)generates Java sources to be
        created from CORBA/IDL files.</p>

        <p>It parses the IDL file and determines the Java files that
        must be generated, taking in account the modifications that
        can happen due to command line parameters.  If any of the Java
        files are missing or older than the source IDL specification,
        it launches the specified compiler.  The compilers of Orbacus,
        Jacorb, OpenORB, Orbix2k and Sun'JDK distributions are
        supported.</p>

        <p>To speed up the process and avoid unnecesary re-parsing, it
        keeps the dependencies in intermediate files.  This task does
        not launch the javac compiler as well, that is, its output are
        Java files and not the final bytecode.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 or later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://grasia.fdi.ucm.es/~luismi/idldepend/">http://grasia.fdi.ucm.es/~luismi/idldepend/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:luismpena@gmx.net">luismpena@gmx.net</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>free source, no license restrictions</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Image">
        <p>Image task generates and transforms images. It exposes the
        imaging capability available in Java2D, Java Advanced Imaging,
        ImageIO, etc., as set of nested elements.</p>

        <p>Image transformations such as &quot;resize&quot;
        (scale),&quot;overlay&quot; (one image on another),
        &quot;border&quot; (add a border), &quot;text&quot; (text on
        image), &quot;crop&quot; (a sub-image of a bigger image),
        &quot;rotate&quot;, &quot;grayscale&quot; (change a color
        image to shades of gray).<br/>
        Now it supports transparency (making images translucent), a
        bestfit option for Resize, simple support for images within
        a security-constraint, a preliminary support (if pjatools.jar
        is available) for saving files as GIF and some other fixes.</p>

        <p>IMPORTANT: You will need the PMIW (Poor Man's Imaging Wrapper) jar
        for all the operations and the pjatools jar for GIF encoding/ saving
        support.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a
                href="http://www.mullassery.com/software/ANT/">http://www.mullassery.com/software/ANT/</a></td>
          </tr>
          <tr>
            <th>pmiw jar</th>
            <td><a
                href="http://www.mullassery.com/software/PMIW/">http://www.mullassery.com/software/PMIW/</a>
                (Poor Man's Imaging Wrapper)</td>
          </tr>
          <tr>
            <th>pjatools jar</th>
            <td><a
                href="http://www.eteks.com/pja/en/">http://www.eteks.com/pja/en/</a>
                (pjatools for GIF encoding support)</td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.mullassery.com">Abey Mullassery</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Importscrubber">
        <p>Removes unnecessary import statements from a Java source code file.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.3</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://importscrubber.sourceforge.net/">http://importscrubber.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:tomcopeland@users.sourceforge.net">Tom Copeland</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="ImTask">

        <p>ImTask is a task to allow one to send an Instant
        Message. Currently supports yahoo!, AIM, and Jabber</p>


        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 or higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://imtask.sourceforge.net/">http://imtask.sourceforge.net</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:djallstar@users.sourceforge.net">Jon Madison</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Interactive">

        <p>Task allowing to run a dialog within a build used to setup
        some properties.  This way you can fill a property with the
        input of a user.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.kasisoft.de/build/ant/interactive/">http://www.kasisoft.de/build/ant/interactive/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:support@kasisoft.de">Daniel Kasmeroglu</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="IsDirValidator">

        <p>Checks whether a given directory structure conforms to
        certain rules that are defined via nested elements of the
        task.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://isvalidator.sourceforge.net/en/isDirValidator.htm">http://isvalidator.sourceforge.net/en/isDirValidator.htm</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:news@inigoserrano.com">I&#xF1;igo Serrano</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Ivy">

        <p>Ivy is a simple yet powerful dependency manager featuring
        continuous integration, dependencies of dependencies
        management, multiple repositories including ibiblio and high
        performance (use of a local cache).</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>1.5.1 or superior</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://ivy.jayasoft.org/">http://ivy.jayasoft.org/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>contact at jayasoft dot org</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="J2ME Ant Tasks">

        <p>There are different sets of tasks to help build <a
        href="http://java.sun.com/j2me/">Java 2 Platform, Micro
        Edition</a> (J2ME) applications.</p>

        <subsubsection name="Antenna">
          <p>Antenna provides a set of Ant tasks suitable for developing
          wireless Java applications targeted at the Mobile Information
          Device Profile (MIDP). With Antenna, you can compile,
          preverify, package, obfuscate, and run your MIDP applications
          (aka MIDlets), manipulate Java Application Descriptor (JAD)
          files, as well as convert JAR files to PRC files designed to
          run on MIDP for Palm OS. Deployment is supported via a
          deployment task and a corresponding HTTP servlet for
          Over-the-Air (OTA) provisioning. A small preprocessor allows
          to generate different variants of a MIDlet from a single
          source.</p>

          <table class="externals">
            <tr>
              <th>Compatibility:</th>
              <td>Ant 1.4.1 or later</td>
            </tr>
            <tr>
              <th>URL:</th>
              <td><a href="http://antenna.sourceforge.net/">http://antenna.sourceforge.net/</a></td>
            </tr>
            <tr>
              <th>Contact:</th>
              <td><a href="mailto:joerg@pleumann.de">J&#xF6;rg Pleumann</a></td>
            </tr>
            <tr>
              <th>License:</th>
              <td>GNU Lesser General Public License</td>
            </tr>
          </table>
        </subsubsection>

        <subsubsection name="Antic">
          <p>Antic is a freely available task for packaging J2ME
          applications. It produces both the Jar and Jad files in a
          single step. This allows *all* entries to be correclty set in
          the jad file, including the size of the jar file that is
          produced. This task has been used and tested extensively with
          Sun's Wireless Toolkit and also the Nokia SDK and
          emulators.</p>

          <table class="externals">
            <tr>
              <th>Compatibility:</th>
              <td>Ant 1.5</td>
            </tr>
            <tr>
              <th>URL:</th>
              <td><a href="http://www.smartkey.co.uk/tools/antic/antic.html">http://www.smartkey.co.uk/tools/antic/antic.html</a>
              </td>
            </tr>
            <tr>
              <th>Contact:</th>
              <td><a href="mailto:support@smartkey.co.uk">smartkey.co.uk</a></td>
            </tr>
            <tr>
              <th>License:</th>
              <td>GNU General Public License</td>
            </tr>
          </table>
        </subsubsection>

        <subsubsection name="Dave's J2ME Tasks">
          <p>This set supports CLDC and the K Virtual Machine (KVM):</p>

          <table class="externals">
            <tr>
              <th>Compatibility:</th>
              <td>Ant 1.3</td>
            </tr>
            <tr>
              <th>URL:</th>
              <td><a href="http://www.dribin.org/dave/j2me_ant/">http://www.dribin.org/dave/j2me_ant/</a></td>
            </tr>
            <tr>
              <th>Contact:</th>
              <td><a href="mailto:drib@enteract.com">Dave Dribin</a></td>
            </tr>
            <tr>
              <th>License:</th>
              <td>Apache Software License</td>
            </tr>
          </table>
        </subsubsection>

        <subsubsection name="J2ME Polish">
          <p>J2ME Polish is an Ant-based tool for the creation of
          MIDP applications. It covers the whole circle of preprocessing, compiling,
          obfuscation, preverifying, packaging and JAD-creation. J2ME Polish is
          ideal for creating device optimized applications with its powerful
          preprocessing capabilities and the integrated device database.
          With J2ME Polish no hardcoded values are needed and the portability of an
          application is not sacrificed, even though highly opimized applications are
          created from a single source.
          <br/>
          It contains a logging framework and an optional MIDP-compatible GUI
          which can be designed using the web-standard CSS. With the J2ME Polish GUI
          you can even use MIDP/2.0 features on MIDP/1.0 phones.
          </p>

          <table class="externals">
            <tr>
              <th>Compatibility:</th>
              <td>Ant 1.4.1 or later</td>
            </tr>
            <tr>
              <th>URL:</th>
              <td><a
              href="http://www.j2mepolish.org/">http://www.j2mepolish.org/</a></td>
            </tr>
            <tr>
              <th>Contact:</th>
              <td><a href="mailto:j2mepolish@enough.de">Enough Software</a></td>
            </tr>
            <tr>
              <th>License:</th>
              <td>GNU General Public License; commercial licenses available</td>
             </tr>
           </table>
        </subsubsection>

        <subsubsection name="Stampysoft's J2ME Tasks">
          <p>And this set works with the J2ME Wireless Toolkit and MIDP
          for PalmOS:</p>

          <table class="externals">
            <tr>
              <th>Compatibility:</th>
              <td>Ant 1.3</td>
            </tr>
            <tr>
              <th>URL:</th>
              <td><a href="http://www.stampysoft.com/ant/">http://www.stampysoft.com/ant/</a></td>
            </tr>
            <tr>
              <th>Contact:</th>
              <td><a href="mailto:jeckels@stampysoft.com">Josh Eckels</a></td>
            </tr>
            <tr>
              <th>License:</th>
              <td>MIT License</td>
            </tr>
          </table>
        </subsubsection>
      </subsection>

      <subsection name="Jacson">

        <p>Jacson is a configurable and plugable tool (much like Ant
        itself) to create filters for text (line based) files without
        programming.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Jacson has been used and tested with 1.5.1, should
            work with 1.4+</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jacson.sourceforge.net/">http://jacson.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:jacson-user@lists.sourceforge.de">jacson-user@lists.sourceforge.de</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU Library or Lesser General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Jalopy">

        <p>An Ant Plug-in for the Java Source Code Formatter
        Jalopy.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 (or higher)</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jalopy.sourceforge.net/">http://jalopy.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://jalopy.sf.net/contact.html">http://jalopy.sf.net/contact.html</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Starting with release 1.0 Beta 6 the license is the
            BSD License.  Prior releases were under the GNU General
            Public License.</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JarBundler">

        <p>JarBundler is a task that generates Mac OS X native Java
        Application Bundles.  It is fully configurable and can be used
        to generate Mac OS X application bundles from any supported
        Java platform, making it ideal for targeting multiple
        platforms with one build.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.loomcom.com/jarbundler/">http://www.loomcom.com/jarbundler/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:sethm@loomcom.com">Seth Morabito</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JarPatch">

        <p>JarPatch is a task that generates a zip file resulting of
        the diff between the content of 2 jar files.</p>

        <p>The resulting diff file can be use as a patch for a
        previous installation (just ensure that the generated
        patch.zip file is located on the CLASSPATH before the patched
        oldJar jar file)</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a
                href="http://perso.club-internet.fr/sjobic/ant/">http://perso.club-internet.fr/sjobic/ant/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:norbert.barbosa@laposte.net">Norbert Barbosa</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Java+ Precompile Task">

        <p>Java+ is an open source Java preprocessor that adds these
        features to any Java compiler:</p>

        <ul>
          <li>Multi-line strings with executable inclusions like Perl
          and Ruby. It eliminates the need for JSP or ASP and their
          need for Java compilers on deployment servers (a security
          concern) while adding no overhead in either space or
          time. </li>

          <li>Optionally supports localization by segregating Java+
          strings into ResourceBundle files with invarient keys based
          on the hash code of the strings's value. This is handled
          automatically and transparently; no intervention is
          required.</li>

          <li>Fast. Negligible impact on build times. By default,
          skips inputs whose outputs are up to date to avoid
          triggering recompilations.</li>

          <li>Pure Java code, portable to any platform, with
          graphical, shell and ant interfaces.</li>

          <li>Simple, general, recursive, digraph-driven string
          syntax. Digraph characters are user-selectable.</li>
        </ul>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://virtualschool.edu/java+/">http://virtualschool.edu/java+/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:bcox@virtualschool.edu">Brad Cox</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD-like License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Java2Html">

        <p>There are two different tools both named Java2HTML that
        process Java source code and generate syntax higlighted
        documentation from it.  Both include Ant tasks to run
        them.</p>

        <p>Java2Html library for converting java source files
        or snipplets to syntax highlighted html, rtf, tex and
        others.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.java2html.de/">http://www.java2html.de/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:java2html@jave.de">java2html@jave.de</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>

        <p>Java2HTML is a simple-to-use tool which converts a bunch of
        Java Source Code into a colourized and browsable HTML
        representation.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>1.5.1 onwards</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.java2html.com/java2html_ant_task.html">http://www.java2html.com/java2html_ant_task.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:support@java2html.com">support@java2html.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>FreeWare</td>
          </tr>
        </table>

      </subsection>

      <subsection name="Javamake">

        <p>A task to compile Java sources and manage class file
        dependencies. Functionality is equivalent to that of standard
        Javac and Depend tasks combined, with improved dependency
        checking.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.experimentalstuff.com/Technologies/JavaMake/index.html">http://www.experimentalstuff.com/Technologies/JavaMake/index.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:Mikhail.Dmitriev@eng.sun.com">Mikhail Dmitriev</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD-like License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="javarec">

        <p>Ant tasks that generate record classes for VisualAge for
        Java from Cobol copy books.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://glezen.org/javarec/">http://glezen.org/javarec/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:pglezen@us.ibm.com">Paul Glezen</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JCSC">

        <p>JCSC is a Java Coding Standard Checker which also features
        the generation of some code metrics. It is a command line tool
        with an Ant task to scan whole package trees. The result can
        viewed in an JavaDoc style web page.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant &gt;= 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jcsc.sourceforge.net/">http://jcsc.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:rjocham72@netscape.net">Ralph Jocham</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Jdiff">

        <p>A task that generates an HTML report of all the packages, classes,
        constructors, methods, and fields which have been removed, added or
        changed in any way, including their documentation, when two APIs are
        compared. </p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.6</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
            <a href="http://javadiff.sourceforge.net/" >
            http://javadiff.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Task Documentation:</th>
            <td>
            <a 
            href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/javadiff/jdiff/jdiff.html?rev=HEAD&amp;content-type=text/html#JDiffAntTask"
            >
            (in CVS)</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>
        
      <subsection name="JFlex">

        <p>JFlex is a lexical analyzer generator (also known as
        scanner generator) for Java, written in Java.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jflex.de/">http://jflex.de/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.jflex.de/mailing.html">jflex-users mailing list</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License (GPL)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JindentTask">

        <p>JindentTask is a very straightforward wrapping of the
        Jindent tool, a vendor code beautifier. It enables to use
        Jindent natively from Ant.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4.1 and higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://the.edouard.mercier.free.fr/Jindent_content.php">http://the.edouard.mercier.free.fr/Jindent_content.php</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>Edouard Mercier</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Jing Task">

        <p> Validates XML files against the RELAX NG alternative to XML Schema.
        The Jing task for Ant allows you to efficiently validate
        multiple files against multiple RELAX NG patterns and integrate
        RELAX NG validation with other XML processing.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.thaiopensource.com/relaxng/jing-ant.html">
            http://www.thaiopensource.com/relaxng/jing-ant.html</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD-like</td>
          </tr>
        </table>
      </subsection>

      <subsection name="jMetra">

        <p>jMetra is a tool for collecting code metrics across a
        project lifecycle and compiling the results into
        JavaDoc-styled documentation to analyze project metrics over
        time.  jMetra is best utilized by integrating it with your
        project's scheduled build process.</p>

        <p>It works from the command line or using several provided
        Ant tasks.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://www.jmetra.com/">http://www.jmetra.com/</a
                >
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>
              <a href="mailto:tnewton@hypercisioninc.com">R Todd Newton
              </a>
            </td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial, free licenses for open source projects and
            evaluations.</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JMX4Ant">

        <p>JMX4Ant provides tasks for integration with JMX (Java Management
        Extensions). It provides tasks for getting and setting attributes
        of MBeans, invoking their methods and much more.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://jmx4ant.sourceforge.net/">http://jmx4ant.sourceforge.net/</a>
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>
              <a href="mailto:bdueck@yahoo.com">Brian Dueck</a>
            </td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License 1.1</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JNI">

        <p>

          JNI is a free toolkit that makes easy work of
          integrating Java and C through the Java Native
          Interface (JNI). It includes a code generator that
          generates both Java "proxy" classes to access C
          "peer" classes, and C "proxy" classes to access
          Java "peer" classes or interfaces. It also
          includes a core library with a simplified JVM
          interface as well as "helper" classes to ease
          working with the JNI data types. The code
          generation is driven by an XML project file that
          can be created with the assistance of the GUI
          Project Manager. The code generation can be
          invoked either from Ant or from the
          GUI. Includes a comprehensive printable PDF User
          Guide and plenty of examples.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jnipp.sf.net/">http://jnipp.sf.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:ptrewhella@users.sf.net">Phillip E. Trewhella</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JReleaseInfo">

        <p>Sometimes you are interested at runtime to have information
        from build time. This may be the build date, a build number or
        the version.  The JReleaseInfo Ant Task generates a java
        source file with getter methods for any desired and provided
        properties.  Furthermore, it can automatically generate a
        viewer (which can e.g.  be used as main-class in a library jar
        file) that shows the included release information.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.6 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jreleaseinfo.sourceforge.net/">HomePage on SourceForge</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a
                href="http://sourceforge.net/projects/jreleaseinfo/">Forums/Tracker on SourceForge</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JRun Ant Tasks">

        <p>JRun 4 SP1 ships with lib/jrun-ant-tasks.jar, which defines
        three Ant tasks: jrun, jrunapp, and jrunjmx.  Documentation
        for the tasks can be found in JRun under
        docs/ant/jrun.html.</p>

        <p>Note that the service pack must be installed on top of an
        existing JRun 4 installation.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 or higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://dynamic.macromedia.com/bin/MM/software/trial/hwswrec.jsp?product=jrun_sp">http://dynamic.macromedia.com/bin/MM/software/trial/hwswrec.jsp?product=jrun_sp</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:bdeitte@macromedia.com">Brian Deitte</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JudoScript Ant Task">

        <p>The &lt;judoscript&gt; task is an easy way to embed JudoScript
           code in the Ant build script. The tag format is quite simple. You can
           either embed code directly, or can specify an external JudoScript program
           file as the <code>src</code> attribute value. Parameters can be specified
           as the <code>params</code> attribute; this is applicable to both embedded
           code and external files.
        </p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 or higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a
              href="http://www.judoscript.com/articles/ant.html">http://www.judoscript.com/articles/ant.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:judoscript@hotmail.com">James Jianbo Huang</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Lesser GNU Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Just4log Ant Task">

        <p>Just4log is a ant task to optimize JVM bytecode with regards
        for Logs ( be it, Log4j, Apache Commons or JDK 1.4 )
        It depends on apache BCEL for Bytecode engineering.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.2 or higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://just4log.sourceforge.net">http://just4log.sourceforge.net</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:lbruand@wanadoo.fr">Lucas Bruand</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache License 1.1.</td>
          </tr>
        </table>
      </subsection>

     <subsection name="JWare/AntXtras Foundation">

        <p>A collection of general Ant extension tasks divided into
        four main categories:</p>

        <ul>
          <li>Build-Rules(asserts,prefers,etc.),</li>
          <li>Feedback(log4j,jlog,etc.),</li>
          <li>Flowcontrol(templates),</li>
          <li>and Helpers.</li>
        </ul>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1 or later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.antxtras.info/">http://www.antxtras.info/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:contact@jware.info">contact@jware.info</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU Lesser General Public License (LGPL)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Kanaputs">

        <p>Kanaputs is a parser for java based scripting. It is an
        interpreter for Java. With Kanaputs you can use Java as an
        interpreted language: no more compilation, each instruction is
        executed when you write it.  It is a small programmation
        language to make script files above Java.</p>

        <p>Kanaputs Ant Task provides a way to add any kind of
        programmatic features in your Ant script. The code you insert
        stays OS independent (because Kanaputs uses Java) and is
        completely integrated with Ant as you can give Ant properties
        to the Kanaputs code and get back the results in other
        properties.</p>

        <p>Moreover, as you can invoke any kind of Java code with
        Kanaputs, you can popup windows from your Ant file to ask the
        user to do a choice.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 and above</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://www.kanaputs.org/">http://www.kanaputs.org/</a> <br/>
              <a href="http://www.kanaputs.org/ant.html">http://www.kanaputs.org/ant.html</a>
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>
              <a href="mailto:kfra@kanaputs.org">kfra@kanaputs.org</a>
            </td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Freeware</td>
          </tr>
        </table>
      </subsection>

     <subsection name="Macker">

        <p>A build-time architectural testing tool, designed
        to maintain clean layering / tiering / modularity.
        Macker works against compiled class files, checking
        dependencies between classes against a set of
        pattern-based access rules you specify for your
        project in an XML rules file.  Macker doesn't presume
        anything about your architecture -- you write the
        rules, and Macker keeps you honest about them.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and higher (1.4 untested but may work)</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://innig.net/macker/">http://innig.net/macker/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://innig.net/macker/contact.html">Paul Cantrell</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU GPL 2.0</td>
          </tr>
        </table>
      </subsection>

      <subsection name="mtxslt">

        <p>The mtxslt (Multi-XSLT) extends the standard Ant "xslt/style" task
        to make it easy to use multiple XSLT engines during the same build.
        This is useful for regression testing of XSLT scripts against several
        engines.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://mtxslt.sourceforge.net/">http://mtxslt.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:abcoates@theOffice.net">Anthony B. Coates</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software Foundation License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Nurflugel AntScript Visualizer">

        <p>The Nurflugel AntScript Visualizer takes your build file,
        finds any imported build files, and shows all relationships
        between targets, taskdefs, macrodefs, Ant and Antcalls; output
        options include PDF, SVG, and PNG.  Many options including
        grouping by build file, inclusion/exclusion of targets,
        taskdefs, imports, etc.  Installation is via Java WebStart, so
        you'll always have the freshest version available.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.1 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.nurflugel.com/webstart/AntScriptVisualizer/">http://www.nurflugel.com/webstart/AntScriptVisualizer/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>dbullard &lt;at&gt; nurflugel &lt;dot&gt; com (email
            will receive a challenge to weed out spam)</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="pack">

        <p>pack is a task to build the smallest possible JAR to link
        and run one or more classes.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://sadun-util.sourceforge.net/pack.html">http://sadun-util.sourceforge.net/pack.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:cristiano@xtractor.com">Cristiano Sadun</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU Lesser General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="PCT">
        <p>PCT is a task to compile Progress code, and in a more general
        way, to deal with Progress procedures and databases.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://pct.sourceforge.net">http://pct.sourceforge.net</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:justus_phenix@users.sourceforge.net">Gilles QUERRET</a></td>
          </tr>
          <tr>
            <th>Licence:</th>
            <td>Apache Software Foundation License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="PMD">

        <p>PMD checks Java source code for unused variables,
        unnecessary object creation, etc</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and higher</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://pmd.sf.net/">http://pmd.sf.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:tcopeland@apache.org">Tom Copeland</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software Foundation License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="PRes">
        <p>PRes is short for Property Resources and will generate a Java source
           file from name=value pair .property files which can be compiled like any
           other class.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later (may work with earlier)</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://mseries.sourceforge.net">http://mseries.sourceforge.net</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://web.ukonline.co.uk/mseries/contact.html">MSeries</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="ProGuard">
        <p><a href="http://proguard.sourceforge.net/">ProGuard</a> is
        a free Java class file shrinker and obfuscator.  It can detect
        and remove unused classes, fields, methods, and attributes. It
        can then rename the remaining classes, fields, and methods
        using short meaningless names.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with 1.5. Should work with all versions.</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://proguard.sourceforge.net/">http://proguard.sourceforge.net/</a>
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>
              <a href="http://proguard.sourceforge.net/feedback.html">Feedback Page</a>
            </td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Purge">

        <p>Purge deletes all but the most recent few files from a fileset.
        For example: if you have generated files (logs, .ear, .war, .jar
        etc) accumulating in a directory, the purge task will allow you
        to delete the older files, keeping just the most recent ones.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 or above</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.dallaway.com/ant/">http://www.dallaway.com/ant/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:purge@dallaway.com">Richard Dallaway</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="RefactorIT">

        <p>RefactorIT includes an Ant task for metrics and audits.
        RefactorIT is a Java refactoring, audit and metrics tool.
        It plugs into major Java IDEs, also runs stand-alone with
        a GUI and a command line interface.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.refactorit.com/">http://www.refactorit.com/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:support@refactorit.com">support@refactorit.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial. (Free for accredited open source products, see
            <a href="http://www.refactorit.com/osc">http://www.refactorit.com/osc</a>.)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Reflectant Task">

        <p>This is a task for reflection invocation from within ant build file.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 or above</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://sourceforge.net/projects/reflectant/">http://sourceforge.net/projects/reflectant/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:sv_ant@mail.bg">sv_ant@mail.bg</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>The Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Roxes Ant Tasks">

        <p>The collections contain 3 Tasks for simplifying application
        deployment: <i>sfx</i> creates native self extracting executables
        out of ZIP archives; <i>jstub</i> creates native executables;
        <i>jnlp</i> simplifies the creation of JNLP files for Java Web Start.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 or above</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.roxes.com/produkte/rat.html">http://www.roxes.com/produkte/rat.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:info@roxes.com">info@roxes.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License (GPL)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="rundoc">
        <p>A task designed to help with the single-sourcing of program
        documentation. Rundoc replaces special commands
        (in the format <i>@@rundoc:command param1 param2...@@</i>) embedded
        within text files with their output in a
        specified format. Currently, only Docbook format is supported.</p>

        <p>Rundoc was written to keep sample code output in program
        documentation synchronized with the actual output
        of the current code, by running the referenced code when the
        documentation is built.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with 1.6  Should work with all versions.</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.martiansoftware.com/lab/index.html#rundoc">http://www.martiansoftware.com/lab/index.html#rundoc</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.martiansoftware.com/contact.html">Marty Lamb</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Revised BSD</td>
          </tr>
        </table>
      </subsection>

      <subsection name="SerialVer">

        <p>SerialVer adds the Java serialver functionality to Apache
        Ant.  This project adds Tasks and FilterReaders to get, to
        insert and to modify the serialVersionUID in the source code
        of a serializable class.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://serialver.sourceforge.net/">http://serialver.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="https://lists.sourceforge.net/lists/listinfo/serialver-development">developer mailing list</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Simian">

        <p>Simian (Similarity Analyser) identifies duplication in Java,
        C#, C, CPP, COBOL, JSP, HTML source code and even plain text files.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.redhillconsulting.com.au/products/simian/">
            http://www.redhillconsulting.com.au/products/simian/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:simian-user-subscribe@redhillconsulting.com.au">
            simian-user-subscribe@redhillconsulting.com.au (User Mailinglist)
            </a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial, Free Licenses available for Non-Commercial Projects</td>
          </tr>
        </table>
      </subsection>

      <subsection name="SmartAnalyzer">

        <p>Powerful analysis of dependencies between Java classes.
        Only affected classes will be recompiled and it can be used
        with any bytecode compiler.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Apache Ant version 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://smartanalyzer.sourceforge.net/">http://smartanalyzer.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://sourceforge.net/projects/smartanalyzer">support at sourceforge project page</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public Licence (GPL)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="snip">
        <p>A task designed to help with the single-sourcing of program documentation.
        Snip extracts snippets of text from files, placing them into properties in the Ant project.
        These properties can then be used by any other Ant task, and are particularly useful when
        referenced by &lt;filter&gt;s within the &lt;copy&gt; task.</p>

        <p>Snip was originally written to keep snippets of sample code in API documentation synchronized
        with the actual sample classes.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with 1.5.1.  Should work with all versions.</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.martiansoftware.com/lab/index.html#snip">http://www.martiansoftware.com/lab/index.html#snip</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.martiansoftware.com/contact.html">Marty Lamb</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Revised BSD</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Speech4J">

        <p>A text-to-speech task and build listener, which produce
        voice output either to speakers or .wav file (the task
        only).</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with Ant 1.5.2. Works only on Windows platform
            because the task uses Microsoft Speech API through
            JNI.</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.pavelvlasov.com/pv/content/Products/Speech4j/index.html">http://www.pavelvlasov.com/pv/content/Products/Speech4j/index.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.pavelvlasov.com/pv/content/contact.html">Pavel Vlasov</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Lite edition of Speech4j which includes both the task
            and the listener is free.</td>
          </tr>
        </table>
      </subsection>

      <subsection name="SQLC">

        <p>SQLC generates Java classes from SQL statements obviating JDBC API
        in your code. Introduction to SQLC:
        <a href="http://www.pavelvlasov.com/pv/content/Articles/sqlc/sqlc.html">
        http://www.pavelvlasov.com/pv/content/Articles/sqlc/sqlc.html</a></p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with Ant 1.5.2. Compilation requires Java 1.4 and database
              driver shall implement getParameterMetadata(). "Introduction to SQLC"
              (see above) contains compatibility list. Generated classes work on
              Java 1.3+
            </td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.pavelvlasov.com/pv/content/Products/Common/doc/AntDoc/com/pavelvlasov/sql/java/ant/StatementCompilerTask.html">http://www.pavelvlasov.com/pv/content/Products/Common/doc/AntDoc/com/pavelvlasov/sql/java/ant/StatementCompilerTask.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.pavelvlasov.com/pv/content/contact.html">Pavel Vlasov</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Styler">

        <p>The styler task makes useful combinations of XSLT transformations
        easy to specify in an Ant build file. Like the built-in Ant task
        style, styler can apply a single transformation to a set of XML files.
        But it can also:</p>
        <ul>
          <li>handle multiple transformations, in parallel or pipelined.</li>
          <li>enable transformations that split or merge files</li>
          <li>process non-XML files, especially HTML (based on JTidy)</li>
          <li>apply non-XSLT transformation, especially "regular
          fragmentations"</li>
          <li>use any custom XMLReader or XMLFilter class to handle new file
          formats and transformation techniques.</li>
        </ul>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.langdale.com.au/styler/">http://www.langdale.com.au/styler/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:adv@langdale.com.au">Arnold deVos</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>LGPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Syntax">

        <p>Transforms source files into HTML documents with syntax
        highlighting. It can handle a variety of source files
        including Java, HTML, C/C++, SQL, and Java properties.  Colors
        for elements are specified using cascading style sheets.  The
        output can be templated for easy integration with a site's
        look and feel.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://ostermiller.org/syntax/ant.html">http://ostermiller.org/syntax/ant.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://ostermiller.org/contact.pl?regarding=Syntax+Highlighting">Stephen Ostermiller</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License (GPL)</td>
          </tr>
        </table>
      </subsection>

      <subsection name="TestSetGenerator">

        <p>The TestSetGenerator is an ant task for generating property files with
        testsets based on the results of SQL queries and validation plug-ins. Very
        usefull when building unit tests that make use of changing datasets. This
        task is an extension of the Ant SQL task. Hsqldb is used for both the
        examples and the unittests.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>ANT 1.4 (or later)</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://anttestsetgen.sourceforge.net/">http://anttestsetgen.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:m.c.jansen@planet.nl">m.c.jansen@planet.nl</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Tidy Imports (Tim)">

        <p>Tim is a handy utility that can be executed on the command
        line or via Ant that automatically formats your import
        declarations. Tim is capable of removing unused imports,
        expanding or collapsing imports and even organising them into
        pre-determined groups.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.3 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.chive.com/tim.htm">http://www.chive.com/tim.htm</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:support@chive.com">support@chive.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial</td>
          </tr>
        </table>
      </subsection>

      <subsection name="TiniAnt">

        <p>TiniAnt is an Ant task to support building applications for
        the <a href="http://www.ibutton.com/TINI/">TINI</a>.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 to 1.4.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://tiniant.sourceforge.net/">http://tiniant.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:kelly@ad1440.net">Sean Kelly</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD-like license</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Transformica">
        <p>Code generator. Generates code from UML models, Java
        metamodel or custom models.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Tested with Ant 1.5 and 1.5.2</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.pavelvlasov.com/pv/content/menu.show@id=products.transformica.html">http://www.pavelvlasov.com/pv/content/menu.show@id=products.transformica.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.pavelvlasov.com/pv/content/contact.html">Pavel Vlasov</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GPL</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Venus Application Publisher's (Vamp) Ant Task Suite">

        <p>Venus Application Publisher's (Vamp) Ant Task Suite allows
        you to sign and package your applications into relocatable Web
        Archives that you can drop into your web server for
        single-click launching using Java Web Start or into single
        Java Archive installers that serve up their content through a
        built-in, multi-threaded, ultra light-weight web server.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 and 1.3</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.geocities.com/vamp201/ant.html">http://www.geocities.com/vamp201/ant.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:vamp201@yahoo.com">Gerald Bauer</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Version_Tool">
        <p>A versioning tool for Ant.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://ant.ryangrier.com/">http://ant.ryangrier.com/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:version_tool@ryangrier.com">version_tool@ryangrier.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD license</td>
          </tr>
        </table>
      </subsection>

      <subsection name="VPP">

        <p>VPP provides general file preprocessing support based on
        the Velocity Template Engine.  The core funtionality is
        provided as a filter for use with tasks that supports filter
        chains.  Also included are replacement tasks for &lt;copy&gt; and
        &lt;javac&gt; that integrate support for preprocessing.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>1.5.1 and above</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://vpp.sourceforge.net/">http://vpp.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:vpp-user@lists.sourceforge.net">vpp-user@lists.sourceforge.net</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD license</td>
          </tr>
        </table>
      </subsection>

      <subsection name="WOProject">

        <p>WOProject provides a set of tools to work with
        <a href="http://webobjects.com/">WebObjects 5.1</a>
        independent from platform and IDE. It significantly
        improves developer productivity
        and makes complex project structures more flexible compared to
        traditional Makefile-based approach.
        </p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://objectstyle.org/woproject/">http://objectstyle.org/woproject/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:andrus@objectstyle.org">Andrus Adamchik</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache license</td>
          </tr>
        </table>
      </subsection>

      <subsection name="WSDLValidate">
        <p>WSDLValidate is, as it sounds, a tool to validate WSDL files.
        <a href="http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/wsvt-home/docs/articles/wsdl20Validator/wsdlvalidateant.html">WSDLValidate</a>
        is similar in configuration to the optional Ant task <a href="http://ant.apache.org/manual/OptionalTasks/xmlvalidate.html">XMLValidate</a>.
        WSDLValidate can optionally validate a WSDL document against the <a href="http://www.ws-i.org">WS-I Basic Profile</a>.
        </p>
        <p>WSDLValidate is available as an Ant task, an Eclipse plug-in and a
        command line utility.</p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 or later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.eclipse.org/wsvt">http://www.eclipse.org/wsvt</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://www.eclipse.org/wsvt">Project newsgroup and
            mailing list</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td><a href="http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm">Common Public
            License (CPL)</a></td>
          </tr>
        </table>
      </subsection>

      <subsection name="Xcluder">
        <p>xcluder is an XML Inclusions (XInclude) task for Apache Ant.
        Offers the choice of using Xerces or Elliotte Rusty Harold's XOM API.
        </p>
        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 or later. XInclude compliance depends on the
            underlying Xerces or XOM used. Xerces 2.5.0 and above works fine,
            but please note that 2.6.1 and 2.6.2 processed the
            http://www.w3.org/2003/XInclude, now obsolete by
            http://www.w3.org/2001/XInclude used by the latest
            Candidate Recommendation (13 April 2004).
            </td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://sourceforge.net/projects/xcluder">http://sourceforge.net/projects/xcluder</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:mbatsis@users.sf.net">mbatsis@users.sf.net</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License (GPL), GNU Library or Lesser
            General Public License (LGPL)
            </td>
          </tr>
        </table>
      </subsection>

      <subsection name="XDoclet">

        <p>XDoclet is an extended Javadoc Doclet engine for use in Ant.
           It lets you create custom Javadoc @tags and based on those tags
           generates source code or other files (such as xml-ish deployment
           descriptors). Templates and matching tasks are provided to generate
           EJB and web application deployment descriptors.
           </p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://sourceforge.net/projects/xdoclet/">http://sourceforge.net/projects/xdoclet/</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>BSD license</td>
          </tr>
        </table>
      </subsection>

      <subsection name="XInclude">
        <p><a href="http://www.jeckle.de/freeStuff/xia/index.html">XInclude</a> is
          a W3C standardized vocabulary for including arbitrary text or XML
          documents in other XML documents. This task perfomes the inclusion
          using an existing XInclude implementation</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.2</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://www.jeckle.de/freeStuff/xia/index.html">http://www.jeckle.de/freeStuff/xia/index.html</a>
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:mario@jeckle.de">mario@jeckle.de</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Lesser GNU Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="XMLReleaseNotes (XRN)">

        <p>This framework is a release notes framework that enables to
        generate textual release notes from an XML file. This is an
        open framework that enables to integrate the information
        coming from VSC and bug tracking solutions, for instance.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://xmlreleasenotes.free.fr/">http://xmlreleasenotes.free.fr/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>Edouard Mercier</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="XmlTask">

        <p>XmlTask provides a simple means to modify XML documents
        without having to learn XSLT. A simple path reference to an
        XML node specifies the node you want to change, and how you
        want to allow XML insertion and removal, or attribute
        changes. The emphasis is on providing the simplest means to
        perform common XML replacements</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.oopsconsultancy.com/software/xmltask.html">http://www.oopsconsultancy.com/software/xmltask.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:xmltask@oopsconsultancy.com">xmltask@oopsconsultancy.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="yGuard">

        <p>yGuard is a free Java(TM) Bytecode Obfuscator Task that
        needs no external script or project files. It can completely
        be configured and run through the Ant build script. The task
        supports multiple Jar files at once and makes use of
        patternsets and regular expressions to specify elements, which
        should be left unobfuscated.  Additionally it can be used to
        produce patches for obfuscated applications that have already
        been deployed.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.yworks.com/en/products_yguard_about.htm">http://www.yworks.com/en/products_yguard_about.htm</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:yguard@yworks.com">yGuard@yWorks.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Library: LGPL, Task: Commercial</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Zelix KlassMaster">

        <p>The task ZKMTask allows the Zelix KlassMaster Java obfuscator to be integrated into an Ant build.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4.1 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.zelix.com/klassmaster/docs/buildToolApi.html">http://www.zelix.com/klassmaster/docs/buildToolApi.html</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial</td>
          </tr>
        </table>
      </subsection>

    </section>

    <section name="Compiler Implementations">

      <subsection name="Generics (JSR14) Early-Access Compiler Adapter">

        <p>This is an Ant compiler-adapter that allows you to use the
        normal <code>&lt;javac&gt;</code> task plus Sun's early-access
        compiler to compile Generics-enabled Java code.  (This is only
        necessary until JDK1.5 is released.)</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.madbean.com/blog/3/">http://www.madbean.com/blog/3/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td>Matt Quail &lt;spud[at]madbean[dot]com&gt;</td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Public Domain</td>
          </tr>
        </table>
      </subsection>

      <subsection name="miniRMI &lt;code&gt;&amp;lt;rmic&amp;gt;&lt;/code&gt; implementation">

        <p>miniRMI is a freeware opensource library that serves as a
        lightweight replacement for the original java.rmi packages and
        is suitable especially for applets. Ant 1.4+
        <code>&lt;rmic&gt;</code> adapter included.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://dione.zcu.cz/~toman40/miniRMI/">http://dione.zcu.cz/~toman40/miniRMI/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:Petr.Toman@pinknet.cz">Petr Toman</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Gnu Lesser Public License</td>
          </tr>
        </table>

      </subsection>
    </section>

    <section name="IDE and Editor Integration">

      <subsection name="AntFarm">

        <p>A plugin that integrates Ant into the jEdit editor.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>bundles Ant 1.5</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://plugins.jedit.org/plugins/?AntFarm">http://plugins.jedit.org/plugins/?AntFarm</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:jedit-devel@lists.sourceforge.net">jEdit developers mailinglist</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Apache Software License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="AntMan">

        <p>An AddIn that integrates Ant with the JDeveloper IDE</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.erudra.com/antman/index.html">http://www.erudra.com/antman/index.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:ashok@erudra.com">Ashok Sridhar</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="AntRunner">

        <p>An OpenTool that integrates Ant into the JBuilder IDE
        (version 5 and later).</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://antrunner.sourceforge.net/">http://antrunner.sourceforge.net/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:dirk.schnelle@web.de">Dirk Schnelle</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="AntWork">

        <p>A plugin that integrates Ant into the Jext editor.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 and 1.3</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="ftp://jext.sourceforge.net/pub/jext/plugins/AntWork.zip">ftp://jext.sourceforge.net/pub/jext/plugins/AntWork.zip</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:KHartlage@t-online.de">Klaus Hartlage</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Eclipse">

        <p>Eclipse is a universal tool platform with Ant integration.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>
              Ant 1.3 - 1.4.1
              Bundles Ant 1.6.2 as of Eclipse 3.0.1 (tested with Ant 1.5.4 - 1.6.2)
            </td>
          </tr>
          <tr>
            <th>URL:</th>
            <td>
              <a href="http://www.eclipse.org/">http://www.eclipse.org/</a>
              or
              <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-ant-home/index.html">
                http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-ant-home/index.html
              </a> 
            </td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="news://news.eclipse.org/eclipse.platform">news://news.eclipse.org/eclipse.platform</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Common Public License Version 1.0</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Gel">

        <p>Java IDE with support for Ant.  Gel is a native Microsoft
        Windows software.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.4 and above</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.gexperts.com/gel.html">http://www.gexperts.com/gel.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="http://groups.yahoo.com/group/gelide/">Project Mailing List</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Freeware</td>
          </tr>
        </table>
      </subsection>

      <subsection name="HP RadPak">

        <p>
        RadPak comes with the (free) HP Bluestone HPAS J2EE server, and is primarily
        a GUI tool for packaging and deploying java web and EJB applications
        as WAR and EAR files. The tool is ant based, and can be used with
        as a GUI for general ant development, providing form based entry
        of task attributes, and an animated display of task
        execution.
        </p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>bundles Ant 1.3 and docs; adds a jar of extra tasks
            to any existing ant installation under ANT_HOME</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.bluestone.com/products/hp-as/">http://www.bluestone.com/products/hp-as/</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Proprietary but free to download</td>
          </tr>
        </table>
      </subsection>

      <subsection name="IntelliJ IDEA 2.0">

        <p>Java IDE with refactoring support and Ant integration.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>bundles Ant 1.3</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.intellij.com/idea/">http://www.intellij.com/idea/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:support@intellij.com">support@intellij.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JBuilder 8 Enterprise">

        <p>JBuilder 8 Enterprise and &quot;Performance Bundle&quot;
        come with built-in Ant support.  JBuilder 8 Personal and SE
        don't support Ant directly, but <a href="#AntRunner">an
        OpenTool</a> is available for them.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Bundles Ant 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.borland.com/jbuilder/index.html">http://www.borland.com/jbuilder/index.html</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:customer_service@borland.com">customer_service@borland.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial</td>
          </tr>
        </table>
      </subsection>

      <subsection name="JDEE">

        <p>The Java Development Environment for Emacs (JDEE) supports
        Apache Ant as one of three built-in ways to build your
        applications.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.2 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://jdee.sunsite.dk/">http://jdee.sunsite.dk/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:jde-subscribe@sunsite.auc.dk">JDEE Mailing list.</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU General Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="NetBeans / Sun ONE Studio">

        <p>A module that integrates Ant into the NetBeans or Sun Java Studio (formerly
        Forte for Java and Sun ONE Studio) IDEs.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>bundles Ant 1.6.2 as of NetBeans 4.0</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://ant.netbeans.org/">http://ant.netbeans.org/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:nbdev@netbeans.org">nbdev@netbeans.org</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Sun Public License</td>
          </tr>
        </table>
      </subsection>

      <subsection name="Oracle9i JDeveloper">

        <p>Java IDE with support for Ant.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5.1</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://otn.oracle.com/products/jdev/">http://otn.oracle.com/products/jdev/</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:jdeveloperbeta_us@oracle.com">jdeveloperbeta_us@oracle.com</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial</td>
          </tr>
        </table>
      </subsection>

      <subsection name="WebSphere Studio Application Developer">

        <p>WSAD features Ant integrate by virtue of being built on the Eclipse tools platform.</p>

        <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>bundles Ant 1.4.1</td>
          </tr>
          <tr>
            <th>Article:</th>
            <td><a href="http://www7b.software.ibm.com/wsdd/library/techarticles/0203_searle/searle1.html">Ant Integration Part1</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>Commercial</td>
          </tr>
        </table>
      </subsection>

    </section>


    <section name="Source Control Systems">
      <p>There are several integration with SCM systems. Some are
      <a href="manual/tasksoverview.html#scm">built in</a>. But some are available as
      external libraries. Here a list of task libraries we are aware of:</p>

      <subsection name="Surround SCM">

         <p>These are tasks that allow users to access Surround SCM
         functionality from within Ant build scripts.</p>

         <table class="externals">
          <tr>
            <th>Compatibility:</th>
            <td>Ant 1.5 and later</td>
          </tr>
          <tr>
            <th>URL:</th>
            <td><a href="http://www.seapine.com/scmresources.php#integration">
            Surround SCM Resource Center</a></td>
          </tr>
          <tr>
            <th>Contact:</th>
            <td><a href="mailto:support@seapine.com">Seapine Support</a></td>
          </tr>
          <tr>
            <th>License:</th>
            <td>GNU Lesser General Public License</td>
          </tr>
        </table>
      </subsection>

    </section>

  </body>
</document>
