http://nagoya.apache.org/wiki/apachewiki.cgi?AntProjectPages/AntletProposal

= (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 build solution. 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.

* Nick Chalko is a memeber of the Jakarta Gump project, has contributed to Ant, and on the PMC of Krysalis.
* Adam Jack is spearheading the Jakarta Gump rewrite in Python, and is on the PMC of Krysalis.


= (1) scope of the subproject =

* AntLet: A technology framework for antlets (including development/debugging/maintenance)
* StandardAntLets: A standard set of antlets for re-usable tasks


== 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 ==

* Project Metadata

= (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.

* http://cvs.sourceforge.net/viewcvs.py/krysalis/krysalis-antlibs/
* http://cvs.sourceforge.net/viewcvs.py/krysalis/krysalis-antlibs-sandbox/

An ImportAntletTask is available at
* http://cvs.sourceforge.net/viewcvs.py/metamorphosis/centipede2/src/java/org/krysalis/centipede2/ant/ImportAntletTask.java?view=markup


= (3) identify the ASF resources to be created =

* Sub-project or sub-directory on Ant website
* cvs module  (antlets)
* mailing list  (antlets)

= (4) identify the initial set of committers =

* All Ant Committers
* Nick Chalko ([EMAIL PROTECTED])
* Adam Jack ([EMAIL PROTECTED])

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

= (5) identify apache sponsoring individual =

* Nick Chalko ([EMAIL PROTECTED])
* Adam Jack ([EMAIL PROTECTED])

= (6) open issues for discussion =

* The name is still to be defined. AntLets is a placeholder for now.




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to