From a0c024f4c2fb9165b027e36ba006994e20623adc Mon Sep 17 00:00:00 2001 From: Jacobus Martinus Kruithof Date: Fri, 24 Nov 2006 22:02:28 +0000 Subject: [PATCH] Pr 40972 Directory Deletion Dont Work Properly git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@479017 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 2 + .../org/apache/tools/ant/taskdefs/Delete.java | 12 ++-- src/tests/antunit/taskdefs/delete-test.xml | 69 +++++++++++++++++++ 3 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 src/tests/antunit/taskdefs/delete-test.xml 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +