diff --git a/src/etc/testcases/taskdefs/delete.xml b/src/etc/testcases/taskdefs/delete.xml index 8b2d80368..e804fe75f 100644 --- a/src/etc/testcases/taskdefs/delete.xml +++ b/src/etc/testcases/taskdefs/delete.xml @@ -115,6 +115,20 @@ + + + + + + + + + + + + + + diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index 318d047e2..8a1e16467 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@ -552,12 +552,12 @@ public class Delete extends MatchingTask { for (int i = 0; i < filesets.size(); i++) { FileSet fs = (FileSet) filesets.get(i); resourcesToDelete.add(fs); - if (includeEmpty) { + if (includeEmpty && fs.getDir().isDirectory()) { filesetDirs.add(new ReverseDirs(fs.getDir(), fs.getDirectoryScanner().getIncludedDirectories())); } } - if (usedMatchingTask && dir != null) { + if (usedMatchingTask && dir != null && dir.isDirectory()) { //add the files from the default fileset: FileSet implicit = getImplicitFileSet(); resourcesToDelete.add(implicit); diff --git a/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java b/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java index 9ea945e3a..9276db61e 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/DeleteTest.java @@ -67,4 +67,10 @@ public class DeleteTest extends BuildFileTest { public void test11() { executeTarget("test11"); } + public void test12() { + executeTarget("test12"); + } + public void test13() { + executeTarget("test13"); + } }