Proposal: Ant AntLet(s) : Subproject or New Feature

Nov 4, 2003

(0) rationale

With Ant 1.6 there are new features of <import> and <macrodef> that support re-use. Still, however, Ant is a framework/toolkit for building, but it does not provide any out-of-the-box solutions. Simple tasks are repeated many fold by ant users, and re-use would improve community benefit.

A solution is needed for building java projects, creating JARs/distributions, and so forth. If these solutions (part include, part macrodef, part normal ant tasks, part properties) are called "antlets", then a standard set of antlets ought be provided and maintain by the ant community.

Ant 1.6 has the technologies in place to make antlets a viable (and configurable) addition to ant.

(0.1) criteria

Meritocracy:

Community:    Alignment:

Scope:

(0.2) warning signs

The sponsors and core developers are seasoned developers with a history of Open Source Development, and are avid Ant users.

(1) scope of the subproject

Overlap

Antlet are "AntLibs written in Ant, not Java". An implmentation would likely leverage <include and <macrodef (and other parts of Ant 1.6) it is not attempting to be replacement. AntLibs and <taskdef allow for Ant tasks to be included/called, and Antlets are attempt to formalize this for Ant script. Antlets communicate via properties/types. [Note: <include is a powerful new feature in Ant, and antlets is primarily this, plus some conventions.]

AntLet has potential overlap with Maven, because some antlets could deal with build aspects, that Maven provides. That said, Maven's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. This is accomplised by using its project object model (POM) and a single set of Ant build files that are shared by all projects using Maven thus providing a uniform build system. Antlets takes a more conservative approach, staying closer to the Ant Feel. Antlets do not rely on a Project Object Model, but use standard ant properties. Antlets are desinged to be plugged into existing build.xml files as needed. Theoretically Maven could leverage Antlets or Antlets call Maven plugins.

Not in Scope

(2) identify the initial source from which the subproject is to be populated

The Krysalis antlib project has a set of standard ant targets that are suitable for conversion to antlets.

An ImportAntletTask is available at

(3) identify the ASF resources to be created

(4) identify the initial set of committers

These would be the core developers initially "responsible" of the project, that are willing to actively help.

(5) identify apache sponsoring individual

(6) open issues for discussion

AntProjectPages/AntletProposal (last edited 2009-09-20 22:07:53 by localhost)