You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Ja...@rzf.fin-nrw.de on 2003/10/01 07:25:42 UTC

RE: Manual verbiage: calling vs dependency

Main reason for "depends" is: ant is not a scripting language.
Never designed for that.
A buildfile should describe the build process and its "dependencies".

Another "side-effect" is that a dependend target is only executed once.


<target name="main" depends="one,two"/>
<target name="one" depends="common"/>
<target name="two" depends="common"/>
<target name="common"/>

--> common is executed once (when "ant main")
    when "ant one two" the common is executed twice (should that be???)


<target name="main" depends="one,two"/>
<target name="one"><antcall target="common"/></target>
<target name="two"><antcall target="common"/></target>
<target name="common"/>

--> common is executed twice


Jan


> -----Original Message-----
> From: Jack J. Woehr [mailto:jax@purematrix.com]
> Sent: Tuesday, September 30, 2003 11:06 PM
> To: Ant Users List
> Subject: Manual verbiage: calling vs dependency
> 
> 
> May I suggest the following verbiage for somewhere in the Ant 
> manual? I had trouble with
> this concept and it seems a lot of newbies do also.
> 
>  Calling versus Dependency
> 
>     Whenever you call into an Ant target via <antcall> or 
> <ant>, any changes (e.g., setting properties)
>     by the called target do not propagate back into the 
> caller's environment. This is the reason targets
>     which are the main line of an overall build tend to be 
> referenced via the "depends" attribute, because
>     changes to the environment (e.g., setting properties) by 
> a target referenced as a depend *do* modify
>     the dependent target's environment.
> 
>     Example:
> 
>     <target  name="foo">
>         <property name="woof" value="Bow-wow"/>
>     </target>
> 
>     <!-- says "Bow-wow" -->
>     <target name="bar" depends="foo">
>         <echo message="${woof}"/>
>     </target>
> 
>     <!-- says "${woof}" of course, uninstanced variable -->
>     <target name="surprise">
>         <antcall target="bar">
>         <echo message="${woof}"/>
>     </target>
> 
> --
> Jack J. Woehr      # You measure democracy by the freedom it
> Senior Consultant  # gives its dissidents, not the freedom
> Purematrix, Inc.   # it gives its assimilated conformists.
> www.purematrix.com #         - Abbie Hoffman
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>