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");
+ }
}