Apache Ant - External Tools and Tasks

| the Apache Ant site |

| Home |

| Projects |

# External Tools and Tasks

This page lists external resources for Apache Ant: Tasks, Compiler Implementations, IDE integration tools, Source Control Systems, 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 FAQ.

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

### Tasks

#### AJC

AspectJ is an aspect-oriented extension to Java. This task compiles a source tree using the AspectJ compiler -- AJC.

Compatibility: | Ant 1.3
URL: | http://www.eclipse.org/aspectj/
Contact: | project mailing lists
License: | Apache Software License

#### Anakia

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

Compatibility: | Ant 1.2 and later
URL: | http://jakarta.apache.org/velocity/anakia.html
Contact: | Velocity mailing lists
License: | Apache Software License

#### Andariel

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.

Compatibility: | Ant 1.5.4 and newer
URL: | http://andariel.uworks.net/
Contact: | josep DOT rio AT uworks DOT net
License: | Apache Software License 1.1

#### Ant2Svg

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.

Compatibility: | Ant 1.6.1 and higher
URL: | http://www.spiritedsw.com/ant2svg/
Contact: | loney <at> spiritedsw <dot> com
License: | The Apache Software License 2.0

#### ant4eclipse

ant4eclipse provides a set of Ant tasks to make several configurations from the Eclipse IDE available in Ant buildscripts. The tasks are aimed to avoid redundancy between Eclipse and Ant configurations in order to build small but powerful build systems for the continuous integration process

Compatibility: | Ant 1.6.1 and higher
URL: | http://ant4eclipse.sf.net
Contact: | ant4eclipse user mailing list
License: | Sun Public License

#### Antcount

Antcount is a set of filters that can be used to gather statistics from files or resources. It is mainly used for log files analysis. It allows to:

- count inputs (lines, strings)
- count occurrences of each input
- calculate average, max and min values of floats in input

Antcount also includes some useful filters to:

- stop filtering: read everything but write nothing
- echo input to the console or to a file. This allows users to create several files at once
- split the stream in two for parallel processing

Compatibility: | Ant 1.6.2 and higher
URL: | http://antcount.sourceforge.net/
Contact: | Patrick Martin
License: | LGPL

#### AntDoc

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.

AntDoc can be run via an Ant task, AntDoc GUI can be run via an Ant task, or via a JVM launch.

Compatibility: | Ant 1.4.1 and higher
URL: | http://antdoc.free.fr/
Contact: | Edouard Mercier
License: | The Apache Software License

#### AntDoclet

AntDoclet is a tool to automatically generate documentation out of your Ant Tasks' source code.

It is implemented as a Javadoc doclet, and generates reference documentation and other deliverables from the source code of your custom Ant Tasks/Types.

Compatibility: | Ant 1.6+ (not tested on earlier versions)
URL: | http://antdoclet.neuroning.com/
Contact: | Fernando Dobladez
License: | GPL

#### Anteater

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.

Compatibility: | Ant 1.5 and later
URL: | http://aft.sourceforge.net/
Contact: | developer mailing list
License: | Apache Software License

#### AntForm

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

Compatibility: | Ant 1.6.2.
URL: | http://antforms.sourceforge.net/
Contact: | Ren� Ghosh
License: | GNU General Public License

#### Antmerge

Provides simple inheritance between ant files

Compatibility: | Tested with 1.5. Should work with all versions.
URL: | http://www.russet.org.uk/antmerge.html
Contact: | Phillip Lord
License: | GNU Lesser General Public License

#### Antomology

Antomology is an analysis tool suite for Ant. It includes:

- StatisticsListener - an Ant BuildListener which can be used to gather statistics while an Ant build is executed. Statistics on the targets and tasks executed are written to the console after the build completes.

Compatibility: | unknown
URL: | http://antomology.codehaus.org
Contact: | contact page
License: | Apache License V2.0

#### AntPrettyBuild

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 load/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.

Compatibility: | All Ant versions
URL: | Ant Pretty Build Homepage
Contact: | Charbel BITAR
License: | Apache License V2.0

#### AntSpaces

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.

Compatibility: | Ant 1.5 and later
URL: | http://www.oopsconsultancy.com/software/antspaces/
Contact: | antspaces at oopsconsultancy.com
License: | Apache Software License

#### AntTimerTask

Timer is task for measuring the time elapsed to complete other tasks

Compatibility: | Ant 1.6
URL: | http://www.jeckle.de/freeStuff/AntTimerTask/index.html
Contact: | mario@jeckle.de
License: | Lesser GNU Public License

#### Ant Web Start Task

Ant Web Start Task is an Ant task allowing developers to package a desktop application as a WAR (Web Application Archive) to be distributed over the net via Java Web Start

Compatibility: | Ant 1.5 and above
URL: | http://ant-jnlp-war.sourceforge.net/
License: | Apache Software License 2.0

#### AntXtras

A collection of powerful Ant extensions components organized into five categories: fixture-control, execution-rules, flow-control, feedback, and helpers.

Compatibility: | Ant 1.6.5
URL: | AntXtras Home
Contact: | SSMC
License: | GNU Lesser General Public License (LGPL 2.1)

#### Build Number

Build Number is a tool to track software artifacts such as files and automatically assign proper version/build numbers to them. It ensures that two different artifacts will have different version/build numbers, but identical artifacts/builds will be assigned the same number. It doesn't take version management away from you and doesn't replace your build process, but rather plugs into the process and introduces version/build number governance by defining who is in charge of which part of version number. With Build Number you are still in charge of the head of the version number. E.g. you may decide to have 4 numbers in your version (major, minor, interface, implementation) and you want to manage the two first numbers (major and minor). Build Number will take care of the tedium of managing the last two numbers (interface and implementation).

Compatibility: | Tested with Ant 1.5.4 and 1.6.5
URL: | http://www.hammurapi.biz/products/buildnumber
Contact: | Project Contact Page
License: | Commercial

#### Checkstyle

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.

Checkstyle can be run via an Ant task or a command line utility.

Compatibility: | Ant 1.4.1 and later
URL: | http://checkstyle.sourceforge.net/
Contact: | Oliver Burn
License: | Starting with release 2.0 the license is the GNU Lesser General Public License. Prior releases were under the GNU General Public License.

#### ChownTask

ChownTask is an Ant task to change ownership of files on Unix.

Compatibility: | Ant 1.3 and up
URL: | http://sourceforge.net/projects/chowntask/
Contact: | Wilfred Springer
License: | GNU General Public License

#### CleanImports

Removes unneeded imports. Formats your import sections. Flags ambiguous imports.

Compatibility: | Ant 1.3 and up
URL: | http://www.cleanimports.tombrus.nl
Contact: | Tom Brus
License: | Apache Software License

#### Clover

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.

Compatibility: | Ant 1.4.1 or greater
URL: | http://www.cenqua.com/clover/
Contact: | clover-support@cenqua.com
License: | Commercial, free licenses available for open source projects.

#### CMSDeploy

CMSDeploy is an Apache Ant Task to submit files and templates to Vignette CMS.

Compatibility: | Ant 1.5.1 and later
URL: | http://cmsdeploy.sourceforge.net
Contact: | masogato@users.sourceforge.net
License: | GNU Lesser General Public License

#### Cocoon Task

This task allows the generation of static web pages and sites using Apache Cocoon in off-line mode.

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.

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.

Compatibility: | Ant 1.5.3 and above
URL: | http://cocoon.apache.org/2.1/
Documentation: | http://cocoon.apache.org/2.1/userdocs/offline/ant.html
Contact: | users at cocoon.apache.org
License: | Apache Software License

#### Configure

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.

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 'setup' or 'rescan'.

Compatibility: | Ant 1.2 and 1.3
URL: | http://www.dsdelft.nl/~lemval/ant/
Contact: | M.J.P. van Leeuwen
License: | License derived from Apache Software License

#### CVSGrab

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.

It works from the command line or as an Ant task.

Compatibility: | Ant 1.3 or higher
URL: | http://cvsgrab.sourceforge.net/
Contact: | CVSGrab user mailing list
License: | LGPL

#### Dependencies

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.

Compatibility: | Tested with 1.5.1, should work with 1.4+.
URL: | http://www.httpunit.org/doc/dependencies.html
Contact: | Russell Gold
License: | MIT License

#### Dependency Finder

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.

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.

Compatibility: | Tested with 1.5.3, should work with 1.4+.
URL: | http://depfind.sourceforge.net/
Contact: | Jean Tessier
License: | BSD-like License

#### Doxygen task

There are two Ant tasks for running the Doxygen documentation system.

Compatibility: | Ant 1.1 and later
URL: | http://www.bgw.org/projects/java/ant/
Contact: | Kyle R. Burton
License: | Apache Software Foundation License

and

Compatibility: | Ant 1.5 and later
URL: | http://ant-doxygen.sourceforge.net/
Contact: | Karthik A Kumar
License: | Apache Software Foundation License

#### DTDDoc

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.

Compatibility: | Ant 1.4 and later
URL: | http://dtddoc.sourceforge.net/
Contact: | Project Mailing List
License: | X11 (Open Source)

#### EnvGen

EnvGen is an Ant task for generating different versions of the same file parameterized for different environments (i.e. development, test, and production). File generation is done using FreeMarker, a template engine with a full-featured templating language.

Compatibility: | Ant 1.6.5 or higher (not tested on earlier versions)
URL: | http://www.basilv.com/software
Contact: | EnvGen Feedback Page
License: | GPL

#### EMMA

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.

Compatibility: | Ant 1.4 and later
URL: | http://emma.sourceforge.net/
Contact: | Mailinglist
License: | Common Public License 1.0

#### FMPP

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.

Compatibility: | Ant 1.5.1
URL: | http://fmpp.sourceforge.net/
License: | BSD License

#### GenJar

Builds a JAR file based on class dependencies rather than simply the contents of a directory

Compatibility: | Ant 1.4 alpha (built after 2001/08/04) and later
URL: | http://genjar.sourceforge.net/
Contact: | Jesse Stockall
License: | Apache Software Foundation License

#### Grand

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.

Compatibility: | Ant 1.6 and later
URL: | http://www.ggtools.net/grand/
Contact: | Christophe Labouisse
License: | BSD License

#### Greebo

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.

Compatibility: | Ant 1.5
URL: | http://greebo.sourceforge.net/
Contact: | project mailing lists
License: | Apache Software License

#### GroboUtils CodeCoverage

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.

Compatibility: | Ant 1.5.1
URL: | http://groboutils.sourceforge.net/codecoverage/
Contact: | project mailing lists
License: | MIT License

#### Hammurapi

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

Compatibility: | Tested with Ant 1.5.x and 1.6.5
URL: | http://www.hammurapi.biz/products/hammurapi
Contact: | Project Contact Page
License: | GNU General Public License (GPL)

#### HelpStudioAnt

This task allows for HelpStudio projects to be created via Ant.

Compatibility: | Ant 1.6.0 and later
URL: | http://helpstudioant.sourceforge.net
License: | GNU General Public License

#### IDLDepend

idldepend is a task that (re)generates Java sources to be created from CORBA/IDL files.

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.

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.

Compatibility: | Ant 1.4 or later
URL: | http://grasia.fdi.ucm.es/~luismi/idldepend/
Contact: | luismpena@gmx.net
License: | free source, no license restrictions

#### Image

Image task generates and transforms images. It exposes the imaging capability available in Java2D, Java Advanced Imaging, ImageIO, etc., as set of nested elements.

Image transformations such as "resize" (scale),"overlay" (one image on another), "border" (add a border), "text" (text on image), "crop" (a sub-image of a bigger image), "rotate", "grayscale" (change a color image to shades of gray).
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.

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.

Compatibility: | Ant 1.4
URL: | http://www.mullassery.com/software/ANT/
pmiw jar | http://www.mullassery.com/software/PMIW/ (Poor Man's Imaging Wrapper)
pjatools jar | http://www.eteks.com/pja/en/ (pjatools for GIF encoding support)
Contact: | Abey Mullassery
License: | Apache Software License

#### Importscrubber

Removes unnecessary import statements from a Java source code file.

Compatibility: | Ant 1.3
URL: | http://importscrubber.sourceforge.net/
Contact: | Tom Copeland
License: | LGPL

#### ImTask

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

Compatibility: | Ant 1.5 or higher
URL: | http://imtask.sourceforge.net
Contact: | Jon Madison
License: | GNU LGPL

#### Incanto

Ant tasks to provide support for Oracle database tools (such as SQL*Plus, Import, Export)

Compatibility: | Ant 1.6
URL: | http://incanto.sourceforge.net/
Contact: | Alexander Karnstedt
License: | Apache License, Version 2.0

#### IsDirValidator

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

Compatibility: | Ant 1.4
URL: | http://isvalidator.sourceforge.net/en/isDirValidator.htm
Contact: | I�igo Serrano
License: | GNU General Public License

#### Ivy

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).

Compatibility: | 1.5.1 (1.6.5 or 1.7.0 recommended)
URL: | http://incubator.apache.org/ivy/
Contact: | ivy-user (at) incubator (dot) apache (dot) org [User Mailinglist]
License: | Apache Software License

#### J2ME Ant Tasks

There are different sets of tasks to help build Java 2 Platform, Micro Edition (J2ME) applications.

##### *** Antenna ***

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.

Compatibility: | Ant 1.4.1 or later
URL: | http://antenna.sourceforge.net/
Contact: | J�rg Pleumann
License: | GNU Lesser General Public License

##### *** Antic ***

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.

Compatibility: | Ant 1.5
URL: | http://www.smartkey.co.uk/tools/antic/antic.html
Contact: | smartkey.co.uk
License: | GNU General Public License

##### *** Dave's J2ME Tasks ***

This set supports CLDC and the K Virtual Machine (KVM):

Compatibility: | Ant 1.3
URL: | http://www.dribin.org/dave/j2me_ant/
Contact: | Dave Dribin
License: | Apache Software License

##### *** J2ME Polish ***

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 optimized applications are created from a single source.
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.

Compatibility: | Ant 1.4.1 or later
URL: | http://www.j2mepolish.org/
Contact: | Enough Software
License: | GNU General Public License; commercial licenses available

##### *** Stampysoft's J2ME Tasks ***

And this set works with the J2ME Wireless Toolkit and MIDP for PalmOS:

Compatibility: | Ant 1.3
URL: | http://www.stampysoft.com/ant/
Contact: | Josh Eckels
License: | MIT License

#### Jacson

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

Compatibility: | Jacson has been used and tested with 1.5.1, should work with 1.4+
URL: | http://jacson.sourceforge.net/
Contact: | jacson-user@lists.sourceforge.de
License: | GNU Library or Lesser General Public License

#### Jalopy

An Ant Plug-in for the Java Source Code Formatter Jalopy.

Compatibility: | Ant 1.4 (or higher)
URL: | http://jalopy.sourceforge.net/
Contact: | http://jalopy.sf.net/contact.html
License: | Starting with release 1.0 Beta 6 the license is the BSD License. Prior releases were under the GNU General Public License.

#### JarBundler

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.

Compatibility: | Ant 1.4 and later
URL: | http://www.loomcom.com/jarbundler/
Contact: | Seth Morabito
License: | GNU General Public License

#### JarPatch

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

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)

Compatibility: | Ant 1.5 and later
URL: | http://perso.club-internet.fr/sjobic/ant/
Contact: | Norbert Barbosa
License: | LGPL License

#### Java+ Precompile Task

Java+ is an open source Java preprocessor that adds these features to any Java compiler:

- 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.
- 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.
- Fast. Negligible impact on build times. By default, skips inputs whose outputs are up to date to avoid triggering recompilations.
- Pure Java code, portable to any platform, with graphical, shell and ant interfaces.
- Simple, general, recursive, digraph-driven string syntax. Digraph characters are user-selectable.

Compatibility: | Ant 1.5.1
URL: | http://virtualschool.edu/java+/
Contact: | Brad Cox
License: | BSD-like License

#### Java2Html

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

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

Compatibility: | Ant 1.5 and later
URL: | http://www.java2html.de/
Contact: | java2html@jave.de
License: | GNU General Public License

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

Compatibility: | 1.5.1 onwards
URL: | http://www.java2html.com/java2html_ant_task.html
Contact: | support@java2html.com
License: | FreeWare

#### Javamake

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.

Compatibility: | Ant 1.4.1
URL: | http://www.experimentalstuff.com/Technologies/JavaMake/index.html
Contact: | Mikhail Dmitriev
License: | BSD-like License

#### javarec

Ant tasks that generate record classes for VisualAge for Java from Cobol copy books.

Compatibility: | Ant 1.4
URL: | http://glezen.org/javarec/
Contact: | Paul Glezen
License: | Apache Software License

#### JCSC

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.

Compatibility: | Ant >= 1.5
URL: | http://jcsc.sourceforge.net/
Contact: | Ralph Jocham
License: | GNU General Public License

#### Jdiff

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.

Compatibility: | Ant 1.6
URL: | http://javadiff.sourceforge.net/
Task Documentation: | (in CVS)
License: | LGPL

#### JFlex

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

Compatibility: | Ant 1.5
URL: | http://jflex.de/
Contact: | jflex-users mailing list
License: | GNU General Public License (GPL)

#### JindentTask

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

Compatibility: | Ant 1.4.1 and higher
URL: | http://the.edouard.mercier.free.fr/Jindent_content.php
Contact: | Edouard Mercier

#### Jing Task

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.

Compatibility: | Ant 1.4 and later
URL: | http://www.thaiopensource.com/relaxng/jing-ant.html
License: | BSD-like

#### jMetra

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.

It works from the command line or using several provided Ant tasks.

Compatibility: | Ant 1.4 and higher
URL: | http://www.jmetra.com/
Contact: | R Todd Newton
License: | Commercial, free licenses for open source projects and evaluations.

#### JMX4Ant

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.

Compatibility: | Ant 1.4 and higher
URL: | http://jmx4ant.sourceforge.net/
Contact: | Brian Dueck
License: | Apache Software License 1.1

#### JNI

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.

Compatibility: | Ant 1.4
URL: | http://jnipp.sf.net/
Contact: | Phillip E. Trewhella
License: | GNU LGPL

#### JPP

JPP is a preprocessor for Ant supporting many different file types that allows you to include / exclude contents based on build-time parameters. It is completely invisible to other tools and takes the hassle out of maintaining customised code or content. It is free, is provided as an Ant task, and very simple to use.

Compatibility: | Ant 1.6.5
URL: | http://www.javapreprocessor.com
Contact: | info@javapreprocessor.com
License: | Freeware

#### JReleaseInfo

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.

Compatibility: | Ant 1.6 and later
URL: | HomePage on SourceForge
Contact: | Forums/Tracker on SourceForge
License: | Apache Software License

#### JRun Ant Tasks

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.

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

Compatibility: | Ant 1.4 or higher
URL: | http://dynamic.macromedia.com/bin/MM/software/trial/hwswrec.jsp?product=jrun_sp
Contact: | Brian Deitte
License: | Commercial

#### JSMin Ant Task

The JSMin Ant task can be used for the automated minification of javascript files in your build and deploy processes.

JSMin is a filter which removes comments and unnecessary whitespace from javascript files. It typically reduces filesize by half, resulting in faster downloads.

Compatibility: | Ant 1.6.5 or higher
URL: | http://code.google.com/p/jsmin-ant-task/
Contact: | M. Haynes
License: | Apache License 2.0

#### JudoScript Ant Task

The <judoscript> 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 `src` attribute value. Parameters can be specified as the `params` attribute; this is applicable to both embedded code and external files.

Compatibility: | Ant 1.5 or higher
URL: | http://www.judoscript.com/articles/ant.html
Contact: | James Jianbo Huang
License: | Lesser GNU Public License

#### Just4log Ant Task

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.

Compatibility: | Ant 1.5.2 or higher
URL: | http://just4log.sourceforge.net
Contact: | Lucas Bruand
License: | Apache License 1.1.

#### Kanaputs

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.

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.

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.

Compatibility: | Ant 1.2 and above
URL: | http://www.kanaputs.org/ http://www.kanaputs.org/ant.html
Contact: | kfra@kanaputs.org
License: | Freeware

#### LaTeX Task

Simple Task to use (PDF)LaTeX, BibTeX, Makeindex and GlossTeX to create your documentation.

Compatibility: | Ant 1.6.2 and above
URL: | http://www.dokutransdata.de/ http://www.dokutransdata.de/ant_latex/
Contact: | jaloma@dokutransdata.de
License: | Freeware

#### Macker

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.

Compatibility: | Ant 1.5 and higher (1.4 untested but may work)
URL: | http://innig.net/macker/
Contact: | Paul Cantrell
License: | GNU GPL 2.0

#### MakeRunScript

MakeRunScript creates a run script for your application. Even if you are developing on windows, you can make a run script for *nix and vice versa. If you've used the built-in java task before, you already know how to use 90% of MakeRunScript.

Compatibility: | Ant 1.7 and higher
URL: | http://sourceforge.net/projects/makerunscript/
Contact: | MakeRunScript forums
License: | Apache 2.0

#### mtxslt

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.

Compatibility: | Ant 1.5
URL: | http://mtxslt.sourceforge.net/
Contact: | Anthony B. Coates
License: | Apache Software Foundation License

#### nsd2LaTeX Task

Simple Task to use nsd2ltx to build your Nassi-Shneiderman diagrams.

Compatibility: | Ant 1.6.2 and above
URL: | http://www.dokutransdata.de/ http://www.dokutransdata.de/ant_nsd2ltx/
Contact: | jaloma@dokutransdata.de
License: | Freeware

#### Nurflugel AntScript Visualizer

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.

Compatibility: | Ant 1.1 and later
URL: | http://www.nurflugel.com/webstart/AntScriptVisualizer/
Contact: | dbullard <at> nurflugel <dot> com (email will receive a challenge to weed out spam)
License: | GNU General Public License

#### Orangevolt Ant Tasks

Orangevolt ANT Tasks is a collection of Tasks for Apache Ant.

The Orangevolt Ant Tasks collections provides a bunch of Appplication Deployment related Tasks from windows specific tasks (registry access, executable generation), *nix specific tasks (kde/gnome shortcut generation) to many useful utility tasks like jnlp generation.

Compatibility: | Ant 1.5 or above
URL: | http://sourceforge.net/projects/ovanttasks
Contact: | info@roxes.com
License: | GNU General Public License (GPL)

#### pack

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

Compatibility: | Ant 1.5
URL: | http://sadun-util.sourceforge.net/pack.html
Contact: | Cristiano Sadun
License: | GNU Lesser General Public License

#### PCT

PCT is a task to compile Progress code, and in a more general way, to deal with Progress procedures and databases.

Compatibility: | Ant 1.5
URL: | http://pct.sourceforge.net
Contact: | Gilles QUERRET
Licence: | Apache Software Foundation License

#### PesterCat Ant Toolkit

PesterCat is a web testing tool that was designed to perform functional testing for web applications. The PesterCat Ant Toolkit contains tasks to playback test scripts and create HTML reports.

Compatibility: | Ant 1.6 and later
URL: | http://www.pestercat.com/
License: | Commercial

#### PMD

PMD checks Java source code for unused variables, unnecessary object creation, etc

Compatibility: | Ant 1.4 and higher
URL: | http://pmd.sf.net/
Contact: | Tom Copeland
License: | Apache Software Foundation License

#### PRes

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.

Compatibility: | Ant 1.5 and later (may work with earlier)
URL: | http://mseries.sourceforge.net
Contact: | MSeries
License: | LGPL

#### ProGuard

ProGuard 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.

Compatibility: | Tested with 1.5. Should work with all versions.
URL: | http://proguard.sourceforge.net/
Contact: | Feedback Page
License: | GNU General Public License

#### properties2java

Properties2Java is an Ant task for automatic conversion of java ".properties" files to ".java" files extending the java.util.ListResourceBundle.

Compatibility: | Ant 1.6 or above
URL: | http://properties2java.jayefem.de/
Contact: | Jan-Friedrich Mutter
License: | Apache Software License 2.0

#### Purge

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.

Compatibility: | Ant 1.4 or above
URL: | http://www.dallaway.com/ant/
Contact: | Richard Dallaway
License: | LGPL

#### RefactorIT

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.

Compatibility: | Ant 1.5 and later
URL: | http://www.refactorit.com/
Contact: | support@refactorit.com
License: | Commercial. (Free for accredited open source products, see http://www.refactorit.com/osc.)

#### Reflectant Task

This is a task for reflection invocation from within ant build file.

Compatibility: | Ant 1.5 or above
URL: | http://sourceforge.net/projects/reflectant/
Contact: | sv_ant@mail.bg
License: | The Apache Software License

#### rundoc

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

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.

Compatibility: | Tested with 1.6 Should work with all versions.
URL: | http://www.martiansoftware.com/lab/index.html#rundoc
Contact: | Marty Lamb
License: | Revised BSD

#### SerialVer

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.

Compatibility: | Ant 1.5.1 and later
URL: | http://serialver.sourceforge.net/
Contact: | developer mailing list
License: | Apache Software License

#### Simian

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

Compatibility: | Ant 1.5.1 and later
URL: | http://www.redhillconsulting.com.au/products/simian/
Contact: | simian-user-subscribe@redhillconsulting.com.au (User Mailinglist)
License: | Commercial, Free Licenses available for Non-Commercial Projects

#### SmartAnalyzer

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

Compatibility: | Apache Ant version 1.5.1
URL: | http://smartanalyzer.sourceforge.net/
Contact: | support at sourceforge project page
License: | GNU General Public Licence (GPL)

#### snip

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 <filter>s within the <copy> task.

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

Compatibility: | Tested with 1.5.1. Should work with all versions.
URL: | http://www.martiansoftware.com/lab/index.html#snip
Contact: | Marty Lamb
License: | Revised BSD

#### SQL Compiler (SQLC)

SQL Compiler (SQLC) compiles database metadata and SQL statements into data access and data transfer classes.

Compatibility: | Tested with Ant 1.5.4 and 1.6.5
URL: | http://www.hammurapi.biz/products/sqlc
Contact: | Project Contact Page
License: | LGPL

#### SQLUnit

SQLUnit is a regression and unit testing harness for testing database stored procedures. The test suite is written as an XML file. The SQLUnit harness itself is written in Java and uses the JUnit unit testing framework to convert the XML test specifications to JDBC calls and compare the results generated from the calls with the specified results. It also provides the <sqlunit> task to run the tests from a build script.

Compatibility: | Tested with Ant 1.6
URL: | http://sqlunit.sourceforge.net
Contact: | Project forums
License: | GNU General Public License (GPL)

#### Styler

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:

- handle multiple transformations, in parallel or pipelined.
- enable transformations that split or merge files
- process non-XML files, especially HTML (based on JTidy)
- apply non-XSLT transformation, especially "regular fragmentations"
- use any custom XMLReader or XMLFilter class to handle new file formats and transformation techniques.

Compatibility: | Ant 1.4
URL: | http://www.langdale.com.au/styler/
Contact: | Arnold deVos
License: | LGPL

#### Syntax

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.

Compatibility: | Ant 1.5
URL: | http://ostermiller.org/syntax/ant.html
Contact: | Stephen Ostermiller
License: | GNU General Public License (GPL)

#### TestSetGenerator

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.

Compatibility: | ANT 1.4 (or later)
URL: | http://anttestsetgen.sourceforge.net/
Contact: | m.c.jansen@planet.nl
License: | GPL

#### Tidy Imports (Tim)

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.

Compatibility: | Ant 1.3 and later
URL: | http://www.chive.com/tim.htm
Contact: | support@chive.com
License: | Commercial

#### TiniAnt

TiniAnt is an Ant task to support building applications for the TINI.

Compatibility: | Ant 1.2 to 1.4.1
URL: | http://tiniant.sourceforge.net/
Contact: | Sean Kelly
License: | BSD-like license

#### Transformica

Transformica is a versatile and extensible code generator. Supports multiple source models including database metadata, Java source files, grammar files and custom models.

Compatibility: | Tested with Ant 1.5.x and 1.6.5
URL: | http://www.hammurapi.biz/products/transformica
Contact: | Project Contact Page
License: | LGPL

#### Venus Application Publisher's (Vamp) Ant Task Suite

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.

Compatibility: | Ant 1.2 and 1.3
URL: | http://www.geocities.com/vamp201/ant.html
Contact: | Gerald Bauer
License: | GNU General Public License

#### Version_Tool

A versioning tool for Ant.

Compatibility: | Ant 1.5.1
URL: | http://ant.ryangrier.com/
Contact: | version_tool@ryangrier.com
License: | BSD license

#### VPP

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

Compatibility: | 1.5.1 and above
URL: | http://vpp.sourceforge.net/
Contact: | vpp-user@lists.sourceforge.net
License: | BSD license

#### WOProject

WOProject provides a set of tools to work with WebObjects 5.1 independent from platform and IDE. It significantly improves developer productivity and makes complex project structures more flexible compared to traditional Makefile-based approach.

Compatibility: | Ant 1.4
URL: | http://objectstyle.org/woproject/
Contact: | Andrus Adamchik
License: | Apache license

#### WSDLValidate

WSDLValidate is, as it sounds, a tool to validate WSDL files. WSDLValidate is similar in configuration to the optional Ant task XMLValidate. WSDLValidate can optionally validate a WSDL document against the WS-I Basic Profile.

WSDLValidate is available as an Ant task, an Eclipse plug-in and a command line utility.

Compatibility: | Ant 1.5 or later
URL: | http://www.eclipse.org/wsvt
Contact: | Project newsgroup and mailing list
License: | Common Public License (CPL)

#### Xcluder

xcluder is an XML Inclusions (XInclude) task for Apache Ant. Offers the choice of using Xerces or Elliotte Rusty Harold's XOM API.

Compatibility: | 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).
URL: | http://sourceforge.net/projects/xcluder
Contact: | mbatsis@users.sf.net
License: | GNU General Public License (GPL), GNU Library or Lesser General Public License (LGPL)

#### XDoclet

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.

Compatibility: | Ant 1.4
URL: | http://sourceforge.net/projects/xdoclet/
License: | BSD license

#### XInclude

XInclude is a W3C standardized vocabulary for including arbitrary text or XML documents in other XML documents. This task performes the inclusion using an existing XInclude implementation

Compatibility: | Ant 1.5.2
URL: | http://www.jeckle.de/freeStuff/xia/index.html
Contact: | mario@jeckle.de
License: | Lesser GNU Public License

#### XMLReleaseNotes (XRN)

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.

Compatibility: | Ant 1.5 and later
URL: | http://xmlreleasenotes.free.fr/
Contact: | Edouard Mercier
License: | Apache Software License

#### XmlTask

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

Compatibility: | Ant 1.4 and later
URL: | http://www.oopsconsultancy.com/software/xmltask/
Contact: | xmltask-users at lists.sourceforge.net
License: | Apache Software License

#### yGuard

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.

Compatibility: | Ant 1.5 and later
URL: | http://www.yworks.com/en/products_yguard_about.htm
Contact: | yGuard@yWorks.com
License: | Library: LGPL, Task: Commercial

#### Zelix KlassMaster

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

Compatibility: | Ant 1.4.1 and later
URL: | http://www.zelix.com/klassmaster/docs/buildToolApi.html
License: | Commercial

### Build Listeners

#### AntUtility

Wondering why your Ant build is slow? Is your continuous integration server taking too long to produce your project builds? This project may help. This project includes a small number of classes for use with Ant that can help you to analyze your build in a non-intrusive manner.

Compatibility: | Ant 1.6
URL: | https://antutility.dev.java.net/
Contact: | David Green
License: | Apache Software License

### Compiler Implementations

#### Generics (JSR14) Early-Access Compiler Adapter

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

Compatibility: | Ant 1.5 and later
URL: | http://www.madbean.com/blog/3/
Contact: | Matt Quail <spud[at]madbean[dot]com>
License: | Public Domain

#### miniRMI `<rmic>` implementation

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+ `<rmic>` adapter included.

Compatibility: | Ant 1.4 and later
URL: | http://dione.zcu.cz/~toman40/miniRMI/
Contact: | Petr Toman
License: | Gnu Lesser Public License

### IDE and Editor Integration

#### AntFarm

A plugin that integrates Ant into the jEdit editor.

Compatibility: | bundles Ant 1.5
URL: | http://plugins.jedit.org/plugins/?AntFarm
Contact: | jEdit developers mailinglist
License: | Apache Software License

#### AntMan

An AddIn that integrates Ant with the JDeveloper IDE

Compatibility: | Ant 1.4.1
URL: | http://www.erudra.com/antman/index.html
Contact: | Ashok Sridhar
License: | GNU General Public License

#### AntRunner

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

Compatibility: | Ant 1.2 and later
URL: | http://antrunner.sourceforge.net/
Contact: | Dirk Schnelle
License: | GNU General Public License

#### AntWork

A plugin that integrates Ant into the Jext editor.

Compatibility: | Ant 1.2 and 1.3
URL: | ftp://jext.sourceforge.net/pub/jext/plugins/AntWork.zip
Contact: | Klaus Hartlage
License: | GNU General Public License

#### Eclipse

Eclipse is a universal tool platform with Ant integration.

Compatibility: | 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)
URL: | http://www.eclipse.org/ or http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-ant-home/index.html
Contact: | news://news.eclipse.org/eclipse.platform
License: | Common Public License Version 1.0

#### Gel

Java IDE with support for Ant. Gel is a native Microsoft Windows software.

Compatibility: | Ant 1.4 and above
URL: | http://www.gexperts.com/gel.html
Contact: | Project Mailing List
License: | Freeware

#### IntelliJ IDEA 5.0

Java IDE with refactoring support and Ant integration. The IDE has special editing and navigation support for Ant.

Compatibility: | bundles Ant 1.6.5
URL: | http://www.intellij.com/idea/
Contact: | support@intellij.com
License: | Commercial; Academic and OpenSource licenses available.

#### JBuilder

Borland JBuilder comes with built-in Ant support, including build file editing. Some versions come with Ant debugging support.

Compatibility: | Bundles Ant 1.6
URL: | http://www.borland.com/jbuilder/index.html
Contact: | customer_service@borland.com
License: | Commercial; foundation edition is free.

#### JDEE

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

Compatibility: | Ant 1.2 and later
URL: | http://jdee.sunsite.dk/
Contact: | JDEE Mailing list.
License: | GNU General Public License

#### NetBeans

A module that integrates Ant into the NetBeans IDE, as well as derivative products such as Sun Java Studio (formerly Forte for Java and Sun ONE Studio) and Sun Java Studio Creator. This IDE uses Ant as its sole means of building applications, with custom tasks and an Ant-aware editor.

Compatibility: | bundles 1.6.5 for NetBeans 5.0 and 5.5; 1.7.0 for NetBeans 6.0
URL: | http://ant.netbeans.org/
Contact: | nbdev@netbeans.org
License: | Common Development and Distribution License

#### Optistic IDX Java IDE

Java IDE with deep Ant integration. IDX is a native Microsoft Windows program.

Compatibility: | bundles Ant 1.6
URL: | http://optistic.com/idx
Contact: | support@optistic.com
License: | Commercial; Academic and OpenSource licenses available.

#### Oracle9i JDeveloper

Java IDE with support for Ant.

Compatibility: | Ant 1.5.1
URL: | http://otn.oracle.com/products/jdev/
Contact: | jdeveloperbeta_us@oracle.com
License: | Commercial

#### Virtual Ant

Instead of manually creating build scripts in XML, Virtual Ant provides a fully virtual file system where you can run your tasks in real time and see the results. Everything that you do is recorded and turned into an Ant build script.

Compatibility: | Ant 1.6.5 onwards
URL: | http://www.placidsystems.com/virtualant/
Contact: | support@placidsystems.com
License: | Commercial; OpenSource licenses available too.

#### WebSphere Studio Application Developer

WSAD features Ant integrate by virtue of being built on the Eclipse tools platform.

Compatibility: | bundles Ant 1.4.1
Article: | Ant Integration Part1
License: | Commercial

### Source Control Systems

There are several integration with SCM systems. Some are built in. But some are available as external libraries. Here a list of task libraries we are aware of:

#### clearAntLib

This library is a collection of "value-add" Ant tasks for integrating IBM Rational ClearCase with Apache Ant. The integration makes full use of the power and capabilities of Ant, with support for nested elements (such as filesets) and also supports conditions. There are a number of tasks for creating XML reports on both ClearCase baselines and labels as well as a task for "staging" ClearCase objects.

Compatibility: | Ant 1.6.1 and later
URL: | http://clearantlib.sourceforge.net/
Contact: | Forum
License: | The Apache Software License 2.0

#### Surround SCM

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

Compatibility: | Ant 1.5 and later
URL: | Surround SCM Resource Center
Contact: | Seapine Support
License: | GNU Lesser General Public License