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

Reply via email to