ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jose Alberto Fernandez" <jalbe...@cellectivity.com>
Subject RE: macrodef - do attributes as properties or substitutions
Date Tue, 11 Nov 2003 19:01:47 GMT
> From: Steve Cohen [mailto:SCohen@sportvision.com] 
> 
> 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:jalberto@cellectivity.com] 
> 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:bodewig@apache.org]
> > Sent: 11 November 2003 12:23
> > To: dev@ant.apache.org
> > 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: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message