From 6d79f276e80f9850f7ee19119341d4ec386b824c Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Mon, 25 Oct 2010 09:34:00 +0000 Subject: [PATCH] don't ignore fileset's errorOnMissingDir in git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1027000 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 5 ++++- src/main/org/apache/tools/ant/taskdefs/Delete.java | 4 ++++ src/main/org/apache/tools/ant/types/AbstractFileSet.java | 9 +++++++++ src/tests/antunit/taskdefs/delete-test.xml | 7 +++++++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/WHATSNEW b/WHATSNEW index b11d089aa..cb7b78dbf 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -164,7 +164,10 @@ Fixed bugs: * would fail if used via its Java API and the File passed into the setJar method was not "normalized" (i.e. contained ".." segments). - Bugzilla Report 50081 + Bugzilla Report 50081. + + * ignored 's errorOnMissingDir attribute + Bugzilla Report 50124. Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index 8042e15be..77baac56a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@ -603,6 +603,10 @@ public class Delete extends MatchingTask { fs.setProject(getProject()); } final File fsDir = fs.getDir(); + if (!fs.getErrorOnMissingDir() && + (fsDir == null || !fsDir.exists())) { + continue; + } if (fsDir == null) { throw new BuildException( "File or Resource without directory or file specified"); diff --git a/src/main/org/apache/tools/ant/types/AbstractFileSet.java b/src/main/org/apache/tools/ant/types/AbstractFileSet.java index 1efd0e430..247a71284 100644 --- a/src/main/org/apache/tools/ant/types/AbstractFileSet.java +++ b/src/main/org/apache/tools/ant/types/AbstractFileSet.java @@ -443,6 +443,15 @@ public abstract class AbstractFileSet extends DataType this.errorOnMissingDir = errorOnMissingDir; } + /** + * Gets whether an error is/shold be thrown if the base directory + * does not exist. + * @since Ant 1.8.2 + */ + public boolean getErrorOnMissingDir() { + return errorOnMissingDir; + } + /** * Returns the directory scanner needed to access the files to process. * @return a DirectoryScanner instance. diff --git a/src/tests/antunit/taskdefs/delete-test.xml b/src/tests/antunit/taskdefs/delete-test.xml index da91e4b60..554f08fec 100644 --- a/src/tests/antunit/taskdefs/delete-test.xml +++ b/src/tests/antunit/taskdefs/delete-test.xml @@ -131,4 +131,11 @@ + + + + + +