I have prepared a few days ago some html pages located under http://ant.apache.org/projects/antlib/index.html They might be interesting if you want to read more about the proposal of Jose Alberto Fernandez. These pages do not explain yet the proposal of Peter Reilly due to the fact that I had prepared them right before Peter submitted it.
I still think that the roles concept is good and I would like to make a separate proposal for roles. My idea would be along the following lines, supposing that ant is being used by specialists of geometry : <taskdef name="computearea" class="org.apache.demo.ComputeAreaTask"/> <taskdef name="computeperimeter" class="org.apache.demo.ComputePerimeterTask"/> <roledef name="shape" class="org.apache.demo.ShapeInterface"/> <typedef name="circle" class="org.apache.demo.Circle" role="shape"/> <typedef name="square" class="org.apache.demo.Square" role="shape"/> How this would work : - taskdefs are normal, just to understand how this would be used - roledef : creates a hash table linking a role name with an interface - role attribute in typedef : do something so that introspectionhelper will translate addConfigured(org.apache.demo.ShapeInterface) in the ComputeAreaTask and ComputePerimeterTask into : addConfiguredCircle and addConfiguredSquare the role attribute would allow an expansion of the addConfigured method to suit different typedef names which are expected in the project. Antoine