Target or macrodef? 2004-08-24 - By sebastian ssmoller
hi, this would be great !
recently, i had exactly that problem (setting a "temp" property in a <macrodef/>) ... i had to use <antcall/> as work-around :(
regards, seb
On Mon, 23 Aug 2004 14:08:06 -0400 "Inger, Matthew" <Inger@(protected)> wrote:
> Perhaps that could be a future requirement, to allow for the user > to choose which behavior he/she wants. > > It would be nice if project had a notion of a stackable variable > scope: > > public class VariableScope { > // add fields and accessors for properties, refs, taskdefs, etc... > } > > public class StackedVariableScope { > private VariableScope current; > private Stack stack; > > public void push(boolean inheritAll, boolean inheritRefs) { > stack.push(current); > VariableScope scope = new VariableScope(); > if (inheritAll) { > // copy from current to scope > } > if (inheritRefs) { > // copy from current to scope > } > > current = scope; > } > > public void pop() { > current = (VariableScope)stack.pop(); > } > } > > Not only would this allow macros to make the decision > i mentioned above (by being able to push before macro exec, > and pop afterwards), but would also probably simplify, and > speed up the execution of <antcall>, as it wouldn't need to > create a completely new copy of the project. > > Perhaps a refactoring for Ant 1.7? > > -----Original Message----- > From: Jeffrey Bacon [mailto:jbacon@(protected)] > Sent: Monday, August 23, 2004 2:02 PM > To: Ant Users List > Subject: Re: Target or macrodef? > > > > can be much more time consuming. Keep in mind however (and someone > > correct me if i'm wrong), that any properties you set in a macro > > will > > also get set for the calling target, which can be problematic. > > or advantageous... =) > > -- > Jeffrey Bacon > jbacon@(protected) > Creative Developer > http://www.magmic.com > > > > > > > > -----Original Message----- > > From: Dick, Brian E. [mailto:Brian.Dick@(protected)] > > Sent: Monday, August 23, 2004 1:57 PM > > To: Ant Users List > > Subject: Target or macrodef? > > > > > > I have a piece of code that I need to call repeatedly. The code has > > three simple arguments. I can write the code as a target or as a > > macrodef. What should I consider when choosing between these two > > implementations? > > > > ------------------------------------------------------------------- > > -- > > To unsubscribe, e-mail: user-unsubscribe@(protected) > > For additional commands, e-mail: user-help@(protected) > > > > ------------------------------------------------------------------- > > -- > > To unsubscribe, e-mail: user-unsubscribe@(protected) > > For additional commands, e-mail: user-help@(protected) > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscribe@(protected) > For additional commands, e-mail: user-help@(protected) >
-- "Perfection is achieved, not when there is nothing left to add, but when there is nothing left to take away." --- Antoine de St. Exupery, Wind, Sand, and Stars, 1939
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@(protected) For additional commands, e-mail: user-help@(protected)
|
|