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]