This would make my ant script have fewer 'unnecessary' targets & seems like a good idea. (To me, anyway).
- Paul
Index: docs/manual/CoreTasks/uptodate.html
===================================================================
RCS file: /home/cvspublic/ant/docs/manual/CoreTasks/uptodate.html,v
retrieving revision 1.11
diff -u -r1.11 uptodate.html
--- docs/manual/CoreTasks/uptodate.html 1 Jun 2002 12:26:33 -0000 1.11
+++ docs/manual/CoreTasks/uptodate.html 19 Sep 2003 20:11:48 -0000
@@ -37,7 +37,8 @@
<tr>
<td valign="top">property</td>
<td valign="top">The name of the property to set.</td>
- <td valign="top" align="center">Yes</td>
+ <td valign="top" align="center">Yes, unless a nested
+ <code><sequential></code> is present.</td>
</tr>
<tr>
<td valign="top">value</td>
@@ -70,6 +71,10 @@
<p>The nested <code><mapper></code> element allows you to specify
a set of target files to check for being up-to-date with respect to a
set of source files.</p>
+
+<h4><a name="sequential">sequential</a></h4>
+<p>The nested <code><sequential></code> element allows you to specify a
+set of tasks to run when the source files are out of date.</p>
<h3>Examples</h3>
<pre> <uptodate property="xmlBuild.notRequired"
targetfile="${deploy}\xmlClasses.jar" >
Index: src/main/org/apache/tools/ant/taskdefs/UpToDate.java
===================================================================
RCS file:
/home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/UpToDate.java,v
retrieving revision 1.32
diff -u -r1.32 UpToDate.java
--- src/main/org/apache/tools/ant/taskdefs/UpToDate.java 13 Aug 2003
14:46:15 -0000 1.32
+++ src/main/org/apache/tools/ant/taskdefs/UpToDate.java 19 Sep 2003
20:12:07 -0000
@@ -91,6 +91,7 @@
private File _sourceFile;
private File _targetFile;
private Vector sourceFileSets = new Vector();
+ private Sequential _sequential = null;
protected Mapper mapperElement = null;
@@ -218,14 +219,21 @@
return upToDate;
}
+ public void addSequential( Sequential s ) {
+ if( _sequential != null ) {
+ throw new BuildException( "Only one nested <sequential>
permitted", getLocation() );
+ }
+
+ _sequential = s;
+ }
/**
* Sets property to true if target file(s) have a more recent timestamp
* than (each of) the corresponding source file(s).
*/
public void execute() throws BuildException {
- if (_property == null) {
- throw new BuildException("property attribute is required.",
+ if (_property == null && _sequential == null) {
+ throw new BuildException("property attribute or nested
<sequential> required.",
getLocation());
}
boolean upToDate = eval();
@@ -237,6 +245,11 @@
} else {
log("All target files are up-to-date.",
Project.MSG_VERBOSE);
+ }
+ }
+ else {
+ if (_sequential != null) {
+ _sequential.perform();
}
}
}--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
