I agree with Stefan. I much prefer to have AntLib *specified*, as in a
specification of the contract an AntLib must fullfil to be usable but Ant,
than working on the tools themselves to package an AntLib (XDoclet or
whatever else), or even an auto-download feature (I've looked at Ruper, and
I'm not fond of this implementation, although the principle at play is
useful, as demonstrated by Maven). The tools would fall down quite easily
once we agree on what's necessary.

Regarding AntLib itself, XML descriptor or not, I'm more interested in being
able to partition the namespace used by Ant to perform the name to class
mapping currently restricted to tasks/types. Maybe something along the lines
of Digester, where you can specify a simplified XPath to indicate when a
mapping should occur (current mappings are all implicit /**/name or //name
to be more XPath compliant), or some role as discussed recently.

IMO, if an AntLib doesn't allow specifying a custom Selector, or a custom
implementation of a custom interface (by a custom task), both of which
configurable using the regular attributes/elements Ant rules, then it's a
failure. Peter's proposal, and to a lesser extend mine, both allow to do
that, by polluting the types namespace though, and by requiring changes to
Tasks/Types to accept custom extensions/beans.

In summary, AntLib would finally make Ant pluggable, without requiring to
modify its source code every time something needs to be added, just to add a
addXXX, or createXXX method, for both built-in tasks, and custom tasks. I
don't care much if it uses properties files or XML descriptors for the
purpose. --DD

Reply via email to