peterreilly 2004/06/08 09:19:27
Modified: . WHATSNEW
src/main/org/apache/tools/ant/taskdefs Delete.java
docs/manual/CoreTasks delete.html
Log:
Add deleteonexit attribute to <delete>
Revision Changes Path
1.619 +2 -0 ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/ant/WHATSNEW,v
retrieving revision 1.618
retrieving revision 1.619
diff -u -r1.618 -r1.619
--- WHATSNEW 7 Jun 2004 12:26:03 -0000 1.618
+++ WHATSNEW 8 Jun 2004 16:19:27 -0000 1.619
@@ -215,6 +215,8 @@
* Add implicit nested element to <macrodef>. Bugzilla Report 25633.
+* Add deleteonexit attribute to <delete>.
+
Changes from Ant 1.6.0 to Ant 1.6.1
=============================================
1.53 +21 -2 ant/src/main/org/apache/tools/ant/taskdefs/Delete.java
Index: Delete.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Delete.java,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- Delete.java 9 Mar 2004 16:48:04 -0000 1.52
+++ Delete.java 8 Jun 2004 16:19:27 -0000 1.53
@@ -69,6 +69,7 @@
private int verbosity = Project.MSG_VERBOSE;
private boolean quiet = false;
private boolean failonerror = true;
+ private boolean deleteOnExit = false;
/**
* Set the name of a single file to be removed.
@@ -126,6 +127,16 @@
this.failonerror = failonerror;
}
+ /**
+ * If true, on failure to delete, note the error and set
+ * the deleteonexit flag, and continue
+ *
+ * @param deleteOnExit true or false
+ */
+ public void setDeleteOnExit(boolean deleteOnExit) {
+ this.deleteOnExit = deleteOnExit;
+ }
+
/**
* If true, delete empty directories.
@@ -540,9 +551,17 @@
}
try {
Thread.sleep(DELETE_RETRY_SLEEP_MILLIS);
- return f.delete();
} catch (InterruptedException ex) {
- return f.delete();
+ // Ignore Exception
+ }
+ if (!f.delete()) {
+ if (deleteOnExit) {
+ int level = quiet ? Project.MSG_VERBOSE :
Project.MSG_INFO;
+ log("Failed to delete " + f + ", calling deleteOnExit" +
f, level);
+ f.deleteOnExit();
+ return true;
+ }
+ return false;
}
}
return true;
1.20 +10 -0 ant/docs/manual/CoreTasks/delete.html
Index: delete.html
===================================================================
RCS file: /home/cvs/ant/docs/manual/CoreTasks/delete.html,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- delete.html 9 Feb 2004 21:50:05 -0000 1.19
+++ delete.html 8 Jun 2004 16:19:27 -0000 1.20
@@ -130,6 +130,16 @@
Default excludes are used when omitted.</td>
<td valign="top" align="center">No</td>
</tr>
+ <tr>
+ <td valign="top">deleteonexit</td>
+ <td valign="top">
+ Indicates whether to use File#deleteOnExit() if there is a
+ failure to delete a file, this causes the jvm to attempt
+ to delete the file when the jvm process is terminating.
+ The default is false.
+ <em>Since Ant 1.6.2</em>
+ <td valign="top" align="center">No</td>
+ </tr>
</table>
<h3>Examples</h3>
<pre> <delete file="/lib/ant.jar"/></pre>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]