On Wed, 9 Jul 2003 04:43 pm, Stefan Bodewig wrote: > On Tue, 8 Jul 2003, Dominique Devienne <[EMAIL PROTECTED]> wrote: > > Are you saying I'm repeating myself > > No, *we* are repeating history. Go into ant-dev's archive about two > years+ ago (discussion around the Ant2 features). > > See also [1] and search for "aspect". >
Indeed. I think it is not a bad approach for these types of things. I did implement pluggable aspects in Mutant. Check out the executeTask method http://cvs.apache.org/viewcvs.cgi/ant/proposal/mutant/src/java/antcore/org/apache/ant/antcore/execution/Attic/Frame.java?rev=1.30&content-type=text/vnd.viewcvs-markup and the Aspect interface http://cvs.apache.org/viewcvs.cgi/ant/proposal/mutant/src/java/common/org/apache/ant/common/antlib/Attic/Aspect.java?rev=1.5&content-type=text/vnd.viewcvs-markup Here is an example performance measurement aspect http://cvs.apache.org/viewcvs.cgi/ant/proposal/mutant/src/java/antlibs/monitor/org/apache/ant/antlib/monitor/Attic/MonitorAspect.java?rev=1.4&content-type=text/vnd.viewcvs-markup and here was the corresponding antlib descriptor http://cvs.apache.org/viewcvs.cgi/ant/proposal/mutant/src/java/antlibs/monitor/Attic/antlib.xml?rev=1.1&content-type=text/vnd.viewcvs-markup For Ant today, pluggable aspects would be possible. We would need to think what join points we would provide (see the interface above) For the specific instance of having failonerror/keepgoing capability everywhere, I don't think there is much difference between doing this in Task.java and doing it with an Aspect, but aspects give you a mechanism to add other aspects beyond simple these fixed few. There is also a balance between the number of join points we would define and the performance impact of consulting all the loaded aspects. Not sure how that would pan out. It's a fair amount of change so overall, I'd say this is a 1.7 feature. Perhaps keepgoing should be deferred to then too. We risk indefinite postponement of 1.6 :-) Conor --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]