blob: f62093be8c810a607be83e606ba5ca4a3e331c4a [file] [log] [blame]
<?xml version="1.0"?>
<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>, 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, 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="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>
<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="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:p.lord@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 show and run Ant buildfiles
directly from within a browser window. It consists of a
single XSL file that will generate, on the fly, from
buildfile, a pretty interface showing project name,
description, properties and targets, etc. allowing to run the
whole project, or run selected targets in a specific
order.</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="mailto:antprettybuild@free.fr">Charbel BITAR</a></td>
</tr>
<tr>
<th>License:</th>
<td>GNU General Public License (GPL)</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.thecortex.net/clover/">http://www.thecortex.net/clover/</a></td>
</tr>
<tr>
<th>Contact:</th>
<td><a href="mailto:clover-support@cortexebusiness.com.au">clover-support@cortexebusiness.com.au</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="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="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="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="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="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="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).</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>Contact:</th>
<td><a href="http://www.mullassery.com/contact/feedback.jsp">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="J2ME Ant Tasks">
<p>There are four different sets of tasks to help build <a
href="http://java.sun.com/j2me/">Java 2 Platform, Micro
Edition</a> (J2ME) applications.</p>
<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>
<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>
<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>
<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/antic.html">http://www.smartkey.co.uk/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>
</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="Java+ Precompile Task">
<p>Java+ is an open source Java preprocessorthat 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="Jegustator">
<p>Jegustator is an Ant task which preforms source code and
bytecode reviews and also documents source and bytecode.</p>
<table class="externals">
<tr>
<th>Compatibility:</th>
<td>Tested with Ant 1.5.2</td>
</tr>
<tr>
<th>URL:</th>
<td><a href="http://jegustator.pavelvlasov.com/">http://jegustator.pavelvlasov.com/</a></td>
</tr>
<tr>
<th>Contact:</th>
<td><a href="mailto:jegustator@pavelvlasov.com">jegustator@pavelvlasov.com</a></td>
</tr>
<tr>
<th>License:</th>
<td>GNU General Public License (GPL)</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="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="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>
<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="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="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="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="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="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.speech4j.com/">http://www.speech4j.com/</a></td>
</tr>
<tr>
<th>Contact:</th>
<td><a href="mailto:support@speech4j.com">support@speech4j.com</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="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="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="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="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</td>
</tr>
<tr>
<th>URL:</th>
<td><a href="http://www.eclipse.org/">http://www.eclipse.org/</a></td>
</tr>
<tr>
<th>Contact:</th>
<td><a href="news://news.eclipse.org/eclipse.tools">news://news.eclipse.org/eclipse.tools</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="JDE(E) 2.2.8">
<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://jde.sunsite.dk/">http://jde.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 ONE Studio (formerly Forte for Java) IDEs.</p>
<table class="externals">
<tr>
<th>Compatibility:</th>
<td>bundles Ant 1.5.1</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>
</body>
</document>