Dan Dyer edited this page Jan 4, 2014 · 11 revisions

The Uncommons Antlib provides macro definitions, custom tasks and other tools to support the development of modular Java software using Apache Ant. It builds on the concepts, processes and best practices established in the development of several Ant-based projects, particularly the Uncommons.org open source projects.

The guiding principle behind the design of the Uncommons Antlib is convention over configuration. Ant build scripts are greatly simplified by relying on consistent directory structures and naming conventions.

See also: 15 Tips for Better Ant Builds


The Uncommons Antlib provides a set of macros that greatly simplify Ant scripts for modular projects. A module is simply a self-contained component of a project. Each module has its own sub-directory in a project tree according to the Uncommons Antlib conventions.

Experimental Android Macros

Uncommons Antlib previously included a set of experimental macros for building Android applications.

These macros have been superseded by those in the Rectangular Antlib, which is derived from Uncommons Antlib. The Rectangular Antlib macros are more Android-specific, more comprehensive, more robust and result in more concise build scripts. The Rectangular Antlib is an all-round better choice for building Android apps with Ant.

Custom Tasks


A task for publishing DocBook documents as PDF, HTML or RTF.


The standard Ant GZip task only works with an individually identified file. This task works with FileSets and separately compresses each matching file.


A task container that ensures that a particular task or set of tasks is only performed once per build, regardless of how many times it is invoked. This is useful for performing configuration that should not be repeated.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.