ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Benson <>
Subject Re: recursive expansion of property names
Date Thu, 24 Jun 2004 19:03:13 GMT
--- "Jack J. Woehr" <> wrote:
> I submitted a patch with this that enables recursive
> property expansion. Matt, can
> you explain aspect of Ant that this would break? I
The issue is that existing buildfiles would be
processed differently by Ant.  This breaks
backward-compatibility, regardless of whether it is
desirable or not.  This kind of change has to be
handled from the perspective of: however we got here,
this is where we are and we have to live with that, we
can't climb on top of the maze, we have to go
_through_ it.  I coded up a RecursivePropertyHandler
class extending PropertyHandler that worked within the
confines of the existing API; however the discussion
never went much farther for two reasons (from my point
of view):

1)  To automatically use a different PropertyHandler,
Ant would need a new magic property e.g.
"ant.PropertyHelper.classname" OR some other means of
automatic installation.  One thing that comes to mind
is automatic <import>s, another topic which has not
yet gone very far.  Using these would require the
second issue to be resolved...

2)  Installation of a new PropertyHandler should be as
simple as this:
  <typedef name="recursivepropertyhandler"
  <recursivepropertyhelper id="ant.PropertyHelper" />

However, due to the fact that the id itself will be
passed, for properties resolution, to the current
PropertyHelper registered as ant.PropertyHelper, and
that the id is set PRIOR to finishing the task
configuration (I wonder if this can be changed), there
is a chicken-and-egg problem with modifying this
particular reference.  I worked on it for a few hours
without success but have left off it for the time
being due to other priorities (among them Ant 1.6.2). 

I hope this clears some things up, or at least
provides someone else enough background to show me
where I'm wrong...


Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish. 

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message