Maybe you could spread the discussion in two different parts : > > - adding an augment task > - adding a new attribute final to datatypes >
+1 > > With AspectJ it would be possible to add an attribute final and make it be > really enforced by all tasks. > > I am reluctant for complex features also because I am afraid we could start > something that we will not have the time to finish 100% and will deliver > with bugs. Make sense. As the two things (augment task / final attributes on datatypes) can be separated, maybe we could status first on the augment feature which is really simple. Introducing kind of final attribute on datatypes requires some larger discutions (due to the complexity behind). Maybe this means that there should be private references which are only accessible within a certain scope. If I understand well, in easyant you develop standard build files, which > contain datatype instances with id(s) > and you do not want your users to fiddle with these datatype instances. > Even if there is an attribute "final", users who want to change the > datatype instances will find a way around it. > Unless the enforcement of final="true" is at the java runtime level (for > instance with AspectJ). > Most of the time i would like to keep it flexible, easy to use and easily extendable. Being able to augment the fileset, etc... make sense. The <augment> task is really appropriate here because it can strongly simplify the user experience to adapt things to their needs. On the other hand, in a few cases we need to provide structuring stuff, and changing this structure requires some reflections. So here limiting this facility by introducing kind of "final=true" make sense. The idea is not to lock the user and to fully restrict the access. If he want to to change structuring things he will still be able to do it but it will not be as simple as just as <augment>ing a datatype. Even if we provide some stucturing stuff we should not lock the user in. IMHO, this make particular sense in easyant but could also be applied in the Ant context. Regards, -- Jean Louis Boudart Independent consultant Project Lead http://www.easyant.org