You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by mb...@apache.org on 2005/10/25 00:30:27 UTC
svn commit: r328172 - in /ant/core/trunk/src:
etc/testcases/taskdefs/delete.xml
main/org/apache/tools/ant/taskdefs/Delete.java
testcases/org/apache/tools/ant/taskdefs/DeleteTest.java
Author: mbenson
Date: Mon Oct 24 15:30:21 2005
New Revision: 328172
URL: http://svn.apache.org/viewcvs?rev=328172&view=rev
Log:
<delete failonerror="false" /> was still failing.
Modified:
ant/core/trunk/src/etc/testcases/taskdefs/delete.xml
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java
ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java
Modified: ant/core/trunk/src/etc/testcases/taskdefs/delete.xml
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/etc/testcases/taskdefs/delete.xml?rev=328172&r1=328171&r2=328172&view=diff
==============================================================================
--- ant/core/trunk/src/etc/testcases/taskdefs/delete.xml (original)
+++ ant/core/trunk/src/etc/testcases/taskdefs/delete.xml Mon Oct 24 15:30:21 2005
@@ -109,6 +109,12 @@
</delete>
</target>
+ <target name="test11">
+ <delete failonerror="false">
+ <fileset dir="thisdenotesadirectorythatwillneverexistblah" />
+ </delete>
+ </target>
+
<target name="cleanup" depends="test4" />
</project>
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java?rev=328172&r1=328171&r2=328172&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Delete.java Mon Oct 24 15:30:21 2005
@@ -532,27 +532,33 @@
FileSet implicit = getImplicitFileSet();
p.add(includeEmpty ? new BCFileSet(implicit) : implicit);
}
- Restrict e = new Restrict();
- e.add(EXISTS);
- e.add(p);
+ Restrict exists = new Restrict();
+ exists.add(EXISTS);
+ exists.add(p);
// delete the files in the resource collections; sort to files, then dirs
Sort s = new Sort();
s.add(REVERSE_FILESYSTEM);
- s.add(e);
- for (Iterator iter = s.iterator(); iter.hasNext();) {
- FileResource r = (FileResource) iter.next();
- if (!(r.isDirectory()) || r.getFile().list().length == 0) {
- log("Deleting " + r, verbosity);
- if (!delete(r.getFile())) {
- String message = "Unable to delete "
- + (r.isDirectory() ? "directory " : "file ") + r;
- if (failonerror) {
- throw new BuildException(message);
+ s.add(exists);
+ String errorMessage = null;
+ try {
+ for (Iterator iter = s.iterator(); iter.hasNext();) {
+ FileResource r = (FileResource) iter.next();
+ if (!(r.isDirectory()) || r.getFile().list().length == 0) {
+ log("Deleting " + r, verbosity);
+ if (!delete(r.getFile())) {
+ errorMessage = "Unable to delete "
+ + (r.isDirectory() ? "directory " : "file ") + r;
}
- log(message,
- quiet ? Project.MSG_VERBOSE : Project.MSG_WARN);
}
}
+ } catch (Exception e) {
+ errorMessage = e.getMessage();
+ }
+ if (errorMessage != null) {
+ if (failonerror) {
+ throw new BuildException(errorMessage);
+ }
+ log(errorMessage, quiet ? Project.MSG_VERBOSE : Project.MSG_WARN);
}
}
Modified: ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java
URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java?rev=328172&r1=328171&r2=328172&view=diff
==============================================================================
--- ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java (original)
+++ ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java Mon Oct 24 15:30:21 2005
@@ -64,4 +64,7 @@
public void test10() {
executeTarget("test10");
}
+ public void test11() {
+ executeTarget("test11");
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org