I have a really simple Ant script (below) which appears to show the <uptodate> task not working as documented. I've tested this on both unix and windows Ant 1.5.1. Can anyone reproduce it and/or tell me what I'm doing wrong or misunderstanding?
The script creates two files with different timestamps, and then tests <uptodate>: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <?xml version="1.0"?> <project name="test" default="test"> <property name="tmpdir" value="temp"/> <target name="test" description="run me"> <delete dir="${tmpdir}"/> <mkdir dir="${tmpdir}"/> <touch file="${tmpdir}/one.txt"/> <sleep seconds="1"/> <touch file="${tmpdir}/two.txt"/> <uptodate property="is-uptodate" targetfile="${tmpdir}/one.tmp"> <srcfiles dir="${tmpdir}" file="two.txt"/> </uptodate> <property name="is-uptodate" value="false"/> <echo message="Is one.txt newer than two.txt? ${is-uptodate}"/> <echo message=""/> <delete dir="${tmpdir}"/> <mkdir dir="${tmpdir}"/> <touch file="${tmpdir}/two.txt"/> <sleep seconds="1"/> <touch file="${tmpdir}/one.txt"/> <uptodate property="is-uptodate2" targetfile="${tmpdir}/one.tmp"> <srcfiles dir="${tmpdir}" file="two.txt"/> </uptodate> <property name="is-uptodate2" value="false"/> <echo message="Is one.txt newer than two.txt? ${is-uptodate2}"/> </target> <target name="test2" description="manual target"> <uptodate property="is-uptodate" targetfile="${tmpdir}/one.tmp" <srcfile="${tmpdir}/two.txt"/> <echo message="is-uptodate = ${is-uptodate}"/> </target> <target name="clean" description="clean up all created files"> <delete dir="${tmpdir}"/> </target> </project> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ I have found the <sleep> task to be REQUIRED for Ant under Windows to believe that one.txt and two.txt have different timestamps. This in itself seems like a major issue worth noting somewhere in the Ant docs. But back to the <uptodate> task... Below is the output I get under unix. I first run the 'test' target which automatically timestamps the files. After that I use the 'test2' target twice to manually timestamp the files. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ mike@orkid$ ant -version Apache Ant version 1.5.1 compiled on October 2 2002 mike@orkid$ ant -f test.xml Buildfile: test.xml test: [mkdir] Created dir: /usr2/home/mike/temp [touch] Creating /usr2/home/mike/temp/one.txt [touch] Creating /usr2/home/mike/temp/two.txt [echo] Is one.txt newer than two.txt? false [delete] Deleting directory /usr2/home/mike/temp [mkdir] Created dir: /usr2/home/mike/temp [touch] Creating /usr2/home/mike/temp/two.txt [touch] Creating /usr2/home/mike/temp/one.txt [echo] Is one.txt newer than two.txt? false BUILD SUCCESSFUL Total time: 4 seconds mike@orkid$ touch temp/one.txt mike@orkid$ ant -f test.xml test2 Buildfile: test.xml test2: [echo] is-uptodate = ${is-uptodate} BUILD SUCCESSFUL Total time: 2 seconds mike@orkid$ touch temp/two.txt mike@orkid$ ant -f test.xml test2 Buildfile: test.xml test2: [echo] is-uptodate = ${is-uptodate} BUILD SUCCESSFUL Total time: 2 seconds _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ It is as if <uptodate> does not set the property EVER. Can anyone tell me what I'm doing wrong, or reproduce these results? Thanks. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>