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