From 456488aec5a5d7fdc7b7b185b81c33fdfd1f8ec5 Mon Sep 17 00:00:00 2001 From: Matthew Jason Benson Date: Thu, 22 Dec 2005 23:28:16 +0000 Subject: [PATCH] fix failonerror="false" includeemptydirs="true"; reported by Alexey. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@358653 13f79535-47bb-0310-9956-ffa450edef68 --- src/etc/testcases/taskdefs/delete.xml | 14 ++++++++++++++ src/main/org/apache/tools/ant/taskdefs/Delete.java | 4 ++-- .../org/apache/tools/ant/taskdefs/DeleteTest.java | 6 ++++++ 3 files changed, 22 insertions(+), 2 deletions(-) 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"); + } }