This page lists external resources for Apache Ant: tasks, IDE
integration tools, 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, if you encounter any problems with them, please use
the contact information.
AspectJ is an
aspect-oriented extension to Java. This task compiles a
source tree using the AspectJ compiler -- AJC.
Actually, Anakia is more than just an Ant task, it is a an
XML transformation tool based on JDOM, Velocity and Ant.
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.
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.2 to 1.4.1
|
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.
|
Removes unneeded imports. Formats your import
sections. Flags ambiguous imports.
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.
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'.
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.
There are two Ant tasks for running the Doxygen
documentation system.
and
Builds a JAR file based on class dependencies rather than simply the contents of a directory
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.
Removes unnecessary import statements from a Java source code file.
Checks whether a given directory structure conforms to
certain rules that are defined via nested elements of the
task.
There are three different sets of tasks to help build Java 2 Platform, Micro
Edition (J2ME) applications.
This set supports CLDC and the K Virtual Machine (KVM):
And this set works with the J2ME Wireless Toolkit and MIDP
for PalmOS:
With Antenna, you can compile, preverify, package, and
obfuscate your MIDP applications, as well as convert them to
PRC files designed to run on MIDP for PalmOS. The tasks are
mostly built around the Wireless Toolkit and the free
RetroGuard obfuscator, with some additional gimmicks like
automatic version numbering.
An Ant Plug-in for the Java Source Code Formatter
Jalopy.
Java+ is an open source Java preprocessorthat 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.
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.
Ant tasks that generate record classes for VisualAge for
Java from Cobol copy books.
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.
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.
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.
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.
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.
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.
pack is a task to build the smallest possible JAR to link
and run one or more classes.
PMD checks Java source code for unused variables,
unnecessary object creation, etc
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.
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.
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.
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.
TiniAnt is an Ant task to support building applications for
the TINI.
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.
A versioning tool for Ant.
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 <copy> and
<javac> that integrate support for preprocessing.
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.
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.
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
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.
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.
A plugin that integrates Ant into the jEdit editor.
An AddIn that integrates Ant with the JDeveloper IDE
An OpenTool that integrates Ant into the JBuilder IDE.
A plugin that integrates Ant into the Jext editor.
Eclipse is a universal tool platform with Ant integration.
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.
Compatibility:
|
bundles Ant 1.3 and docs; adds a jar of extra tasks
to any existing ant installation under ANT_HOME
|
URL:
|
http://www.bluestone.com/products/hp-as/
|
License:
|
Proprietary but free to download
|
Java IDE with refactoring support and Ant integration.
The Java Development Environment for Emacs (JDEE) supports
Apache Ant as one of three built-in ways to build your
applications.
NetBeans / Sun ONE Studio
|
A module that integrates Ant into the NetBeans or Sun ONE Studio (formerly Forte for Java) IDEs.
Java IDE with support for Ant.
WebSphere Studio Application Developer
|
WSAD features Ant integrate by virtue of being built on the Eclipse tools platform.