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]