Date: 2004-02-29T00:23:43
   Editor: 218.214.49.176 <>
   Wiki: Ant Wiki
   Page: Proposals/Antlet/Details
   URL: http://wiki.apache.org/ant/Proposals/Antlet/Details

   no comment

New Page:

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

''Nov 4, 2003''

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

== criteria ==

Meritocracy: 

Community:
 
Alignment:

Scope: 

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

= 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

= 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

= identify the ASF resources to be created =

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

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

= identify apache sponsoring individual =

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

= 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