You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Daniel Smith <da...@byu.edu> on 2006/03/07 18:00:18 UTC
uptodate with a target directory
uptodate does not seem to handle target directories properly. It
will incorrectly determine that a generated directory with an out-of-
date timestamp is actually up to date. Example script:
<project name="test-uptodate">
<target name="update-source" >
<touch file="source" />
<echo message="Source updated. Target is out of date." />
</target>
<target name="update-target" depends="check-generate"
unless="generated" >
<delete dir="target" />
<mkdir dir="target" />
</target>
<fileset id="source-files" dir="${basedir}" includes="source" />
<target name="check-generate">
<uptodate property="generated" targetfile="target">
<srcfiles refid="source-files" />
</uptodate>
</target>
</project>
If, in an empty directory, I do the following:
- ant update-source (to generate the source file)
- ant update-target (to generate the target directory)
- ant update-source (to change the timestamp on the source file)
- ant update-target (to generate a *new* target directory)
On the second "update-target" uptodate incorrectly determines that
the directory is up to date.
If I modify my script to do the following:
<uptodate property="generated" srcfile="source" targetfile="target" />
it will work as expected.
It also works as expected if I generate a target *file* instead of a
target *directory*.
I'm using Ant 1.6.2 and Java 1.5.0_05.
—Dan Smith
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org