> From: Steve Cohen [mailto:[EMAIL PROTECTED] > > Wouldn't you say, though, Jose, that <macrodef> does replace > those uses of <antcall> for which <antcall> had too big a > footprint for the job? >
Oh, but of course. I do plan to use macrodef to replace things that I did with <antcall> before. But the reason they were done with <antcall> before, is that it was more convinient than writing the equivalent script or java code; they did not need to evaluate multiple targets or other complex stuff. For things more complex, <antcall> is still the way to go. Why? Because it provides a new execution context, in which I can deside whether properties are inherited or not, and it provides isolation so that the parent context is not directly manipulated by the child. <macrodef> using <local> would be a cluge in the middle, half here half there, which I think is wrong. Either is a macro definition (as the term is defined in computer science form the days of assembler) it should be called something else and have a real execution context. BTW, how this things will affect the other tasks derived from macrodef like presetdef? Jose Alberto > -----Original Message----- > From: Jose Alberto Fernandez [mailto:[EMAIL PROTECTED] > Sent: Tuesday, November 11, 2003 11:19 AM > To: Ant Developers List > Subject: RE: macrodef - do attributes as properties or substitutions > > > I think I need to justify some more what do I think the way I > do about macrodef. I know the vote is already going, but I > really want for people to understand my position. > > To me macrodefs are for writing all those tasks that I am too > lazy, or they are too simple for me to need to go and write > and maintain some Java code. It is not to replace <antcall/> > but as a side efect, it will replace all those little > antcalls we wrote > because we didn't want to write java. > > With that in mind, I would want <macrodef> to resemble a Java > task and not to resemble <ant(call)>. And if it resemples a > java task, then attributes should resemble java variables in my code. > That is, its values should not affect the values of > properties (which is what <local> does). If I want a task to > affect other tasks then I can always call <property> or > <local> as part of the macro. But if <atributes> modify > properties, then there is no way for me to stop them for happening. > > Substitution is the least interfearing behavior. > > So, that is why I think the way I do. Comments? changes of votes? :-) > > Jose Alberto > > > -----Original Message----- > > From: Stefan Bodewig [mailto:[EMAIL PROTECTED] > > Sent: 11 November 2003 12:23 > > To: [EMAIL PROTECTED] > > Subject: [VOTE] macrodef - do attributes as properties or > > substitutions > > > > > > Hi, > > > > I don't think that another discussion thread will lead us anywhere. > > Instead of trying to summarize what has been discussed, let > me point > > to the archives (I hope the list is complete): > > > <http://marc.theaimsgroup.com/?t=106085269000002&r=1&w=2> > <http://marc.theaimsgroup.com/?t=106633643100003&r=1&w=2> > <http://marc.theaimsgroup.com/?t=106675058100005&r=1&w=2> > <http://marc.theaimsgroup.com/?t=106639175600004&r=1&w=2> > <http://marc.theaimsgroup.com/?t=106672947100005&r=1&w=2> > <http://marc.theaimsgroup.com/?t=106720903000001&r=1&w=2> > <http://marc.theaimsgroup.com/?t=106761809300003&r=1&w=2> > > I'd like to keep this particular vote focussed on property > versus textual substitution. I am aware that the vote won't > be complete after that as we'll still have issues to decide > upon (scope+extent or notation, depending on this vote's > outcome), but let's get this one here straight first. > > Actually, I'm not 100% sure about the rules we have to apply > since we've already shipped betas with the code, so strictly > speaking a decision we are considering a code change which > would require (lazy) consensus of the committers as opposed > to a new idea that would require a majority only. Let's see > where we get from here and whether we'll have to actually > decide that at all 8-) > > Stefan > > OK, how do we want to implement <macrodef> attributes: > > [ ] as textual substitution > [ ] as "real" Ant properties > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]