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 @@ + + + + + +