diff --git a/WHATSNEW b/WHATSNEW index 9702353a6..482f02726 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -6,6 +6,8 @@ Changes that could break older environments: Fixed bugs: ----------- +* Directory Deletion Dont Work Properly + Bugzilla 40972 * docletpath attribute of javadoc ignored. Bugzilla 40900. diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index 7634f86e2..64f097dd6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@ -562,10 +562,14 @@ public class Delete extends MatchingTask { fs = (FileSet) fs.clone(); fs.setProject(getProject()); } - resourcesToDelete.add(fs); - if (includeEmpty && fs.getDir().isDirectory()) { - filesetDirs.add(new ReverseDirs(fs.getDir(), - fs.getDirectoryScanner().getIncludedDirectories())); + if (!fs.getDir().isDirectory()) { + handle("Directory does not exist:" + fs.getDir()); + } else { + resourcesToDelete.add(fs); + if (includeEmpty) { + filesetDirs.add(new ReverseDirs(fs.getDir(), fs + .getDirectoryScanner().getIncludedDirectories())); + } } } resourcesToDelete.add(filesetDirs); diff --git a/src/tests/antunit/taskdefs/delete-test.xml b/src/tests/antunit/taskdefs/delete-test.xml new file mode 100644 index 000000000..f33e84f75 --- /dev/null +++ b/src/tests/antunit/taskdefs/delete-test.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +