Hi Gert,
I've looked at this deeply and stated the problem was
due to my huge ignorance!
Look at this build file:
<project name="target-test" default="build">
<property name="my.dir" value="mydir" />
<property name="my.file" value="myfile.cs" />
<target name="build">
<mkdir dir="${my.dir}" failonerror="false" />
<touch file="${my.dir}/${my.file}" />
<call target="myFileExists"
if="${file::exists('${my.dir}/${my.file}')}" />
<delete file="${my.dir}/${my.file}" />
<call target="myFileDoesNotExist"
unless="${file::exists('${my.dir}/${my.file}')}" />
</target>
<target name="myFileExists">
<echo message="${target::get-current-target()} executed" />
</target>
<target name="myFileDoesNotExist">
<echo message="${target::get-current-target()} executed" />
</target>
</project>
Do you see something wrong? YES! The parameter passed to the
file::exists() function in the <call> tasks is absolutely WRONG!
When using properties as function parameters, one shouldn't enclose
them in single quotes and curly braces... so the correct <call>
tasks should look like these:
<call target="myFileExists"
if="${file::exists(my.dir + '/' + my.file)}" />
...
<call target="myFileDoesNotExist"
unless="${file::exists(my.dir + '/' + my.file)}" />
I'm really sorry for that,
j3d.
----------------------------------------
Giuseppe Greco
::agamura::
phone: +41 (0)91 604 67 65
mobile: +41 (0)79 602 99 27
email: [EMAIL PROTECTED]
web: www.agamura.com
----------------------------------------
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users