Steve Loughran wrote:

----- Original Message -----
From: "Colin Sampaleanu" <[EMAIL PROTECTED]>
To: "Ant Developers List" <[EMAIL PROTECTED]>
Sent: Sunday, February 24, 2002 12:54 PM
Subject: bug: Ids from paths not propogated through antcalls unless path is
top-level

Unless I am missing something, there is a bug in Ant 1.4.1 in that ids
from path structures don't propogate (aren't usable) through antcalls,
unless the path structure defining the id is top level. Consider the
following ant script:

actually, toplevel defs arent propagating through antcall either; they are
being re-evaluated when the called target runs

A target should
not know whether it is being called as a dependency or through an
antcall, and I do have a number that are executed both ways

then it should state in its dependencies which targets it depends on to init
paths and things.

There is a bit of a fly in the ointment with doing that though. My init tasks, which total about 4-5 discreet steps, only get executed once, because of the fact they use an "unless" attribute which checks an "initialized" property. If I don't do this, then what effectively happens is that if I have multiple targets in the dependency chain which say they depende on init, as well as some other target, init will be called multiple times, doing a significant amount of work (reading prop files, etc.) each time, and spewing out the same text each time. I really only want init to be called once, and it has prooven to be effective and not problematic except for antcall, which ends up losing the refs. And in fact, if antcall also lost properties, then there wouldn't be a problem, because my init targets would also be called again, after the antcall. The problem is that antcall loses some info, but not all.

NB, <ant> now has inheritRefs; it seems that antcall should acquire the same
attribute and pass it on to the ant task it uses to do its work. Colin, if
you were to add that (and the tests to verify it works), then your problems
will be solved.

Quite a reasonable requests, which I will try to oblige when I get some time. I was just hoping there was an easy solution or I was missing something :-)




-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>



Reply via email to