ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominique Devienne" <DDevie...@lgc.com>
Subject RE: <rant> inheritrefs just seems to plain not work </rant>
Date Mon, 25 Apr 2005 14:59:07 GMT
> From: Rob Walker [mailto:robw@ascert.com]
> >> Have you tried to distill down your builds to something simple
> >> enough that can be sent whole for troubleshooting?
> >
> In fact I didn't even get as far as this before I spotted it ...
> 
> In my top level build.xml, my "vt.class.path" reference has global
> scope, meaning I don't have to include an "inheritrefs=true" on any
> <antcall> tasks in my top level script.
> 
> In fact, the "vt.class.path" reference is also being passed down to my
> lower level build scripts in the <subant .... "inheritrefs=true" >
call
> - but with a subtle change, it doesn't appear in my sub-build file
with
> global scope. So top-level targets in this build script can use it
fine,
> but anywhere in my sub-build file that I have an <antcall> I have to
> include an "inheritrefs=true" to propagate it to any called target in
> the sub-build script.
> 
> So, I guess not strictly a bug, but possibly an inconsistency (or at
> least a slight "gotcha") that's worth documenting that inheritrefs
> _does_ pass references down to called script, but it alters their
scope.

If I followed correctly, it's not <subant> that alters scope, it's
<antcall> that opens a new scope. And since it does not inherit
references by default, the reference <subant> passed in correctly is
lost thru the use of <antcall>.

Are you sure you need <antcall>? Can't you refactor your 'function'
targets that you <antcall> into <macro>s? It's usually better/faster
with macros.

--DD

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


Mime
View raw message