For <antcall>: if the called target sets a property, the caller will
not get that. I call that behaviour: "antcall creates a new namespace".
All set properties in that namespace get loss.
Therefore the only way (I know) to give values to the caller is via
persistent medium (e.g. file: <echo> + <property file>).
So your scenario would be something like that (written without testing):
<!-- file for using return values -->
<property name="b.file" name="b.properties"/>
<target name="B">
<!-- do stuff -->
<antcall target="D">
<!-- where to store the return value -->
<param name="rv" value="b.rv"/>
<param name="file" value="${file}"/>
</antcall>
<!-- load only that property -->
<loadproperties srcFile="${b.file}">
<filterchain>
<linecontains>
<contains value="b.rv="/>
</linecontains>
</filterchain>
</loadproperties>
<!-- the conditional thing: using AntContrib -->
<switch value="${b.rv}">
<case value="true">
<echo> The result was 'true' </echo>
</case>
<default>
<echo> 'DEFAULT' </echo>
</default>
</switch>
</target>
<target name="D">
<!-- got the param 'rv', so we can use that property -->
<!-- set the return value -->
<propertyfile file="${file}">
<entry key="${rv}" value="true"/>
</propertyfile>
</target>
But I never needed that behaviour. As you can see it needs lot of
workarounds.
Jan
> -----Original Message-----
> From: Daniel Joshua [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 16, 2003 10:09 AM
> To: 'Ant Users List'
> Subject: How to return values from targets?
>
>
> Hi,
>
> Whats the best way to return values from targets?
>
>
> Here's my scenario in PseudoAnt:
>
> target A
> antcall B
> antcall C
>
> target B
> do stuff
> returnValue = antcall D
> if (returnValue = true) then
> do other stuff
>
> target C
> do stuff
> returnValue = antcall D
> if (returnValue = true) then
> do other stuff
>
> target D
> do stuff
> return true or false
>
>
>
> Regards,
> Daniel
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>