Name
uptodate
Synopsis
Sets a property if one or more target files are up-to-date with respect to corresponding source files. The property is set if the target is newer than all source files.
Attributes
-
property
(all, String, Y) The property to set.
-
targetfile
(all, File, *) A target file to check.
-
value
(1.4, String, N) The value to set the property to. Defaults to
true
.
The targetfile
attribute is required unless a
nested <mapper>
is specified.
Content
- 0..n nested
<srcfiles>
elements (all) Each is a
fileset
defining a set of source files to compare.- 0,1 nested
<mapper>
elements (1.3, 1.4) Defines how source files relate to target files. If not specified, this task uses a merge
mapper
whoseto
attribute is set to the value of theuptodate
task’stargetfile
attribute.
Example Usage
The following example sets the jar_ok
property if
classes.jar
is newer than the
.class
files found in the project directory and
all its subdirectories.
<uptodate property="jar_ok" targetfile="${builddir}/classes.jar"> <srcfiles dir="${builddir}" includes="**/*.class"/> </uptodate>
This next example assumes we have a custom code generator that
creates .java
files based on
.template
files. It uses a nested
<mapper>
and sets the
codegen_uptodate
property whenever all
.java
files are up-to-date with respect to their
corresponding .template
files.
<uptodate property="codegen_uptodate"> <srcfiles dir="src" includes="**/*.template"/> <mapper type="glob" from="*.template" to="*.java"/> </uptodate>
See Also
mappers
are discussed ...
Get Ant: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.