Target or macrodef? 2004-08-23 - By Inger, Matthew
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)
|
|