Browse Source

Make <delete quite="true"> handle non-existing dirs in filesets gracefully.

Suggested by:	Jon Stevens <jon@latchkey.com>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@268831 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 24 years ago
parent
commit
76c6de74b0
2 changed files with 29 additions and 8 deletions
  1. +3
    -0
      WHATSNEW
  2. +26
    -8
      src/main/org/apache/tools/ant/taskdefs/Delete.java

+ 3
- 0
WHATSNEW View File

@@ -33,6 +33,9 @@ Fixed bugs:
declaration time but will created before the fileset gets used for the
first time.

* If the quiet attribute has been set, <delete> will handle <fileset>s
with non-existing directories gracefully.

Changes from Ant 1.2 to Ant 1.3
===========================================



+ 26
- 8
src/main/org/apache/tools/ant/taskdefs/Delete.java View File

@@ -268,18 +268,36 @@ public class Delete extends MatchingTask {
// delete the files in the filesets
for (int i=0; i<filesets.size(); i++) {
FileSet fs = (FileSet) filesets.elementAt(i);
DirectoryScanner ds = fs.getDirectoryScanner(project);
String[] files = ds.getIncludedFiles();
String[] dirs = ds.getIncludedDirectories();
removeFiles(fs.getDir(project), files, dirs);
try {
DirectoryScanner ds = fs.getDirectoryScanner(project);
String[] files = ds.getIncludedFiles();
String[] dirs = ds.getIncludedDirectories();
removeFiles(fs.getDir(project), files, dirs);
} catch (BuildException be) {
// directory doesn't exist or is not readable
if (!quiet) {
throw be;
} else {
log(be.getMessage(), Project.MSG_VERBOSE);
}
}
}

// delete the files from the default fileset
if (usedMatchingTask && dir != null) {
DirectoryScanner ds = super.getDirectoryScanner(dir);
String[] files = ds.getIncludedFiles();
String[] dirs = ds.getIncludedDirectories();
removeFiles(dir, files, dirs);
try {
DirectoryScanner ds = super.getDirectoryScanner(dir);
String[] files = ds.getIncludedFiles();
String[] dirs = ds.getIncludedDirectories();
removeFiles(dir, files, dirs);
} catch (BuildException be) {
// directory doesn't exist or is not readable
if (!quiet) {
throw be;
} else {
log(be.getMessage(), Project.MSG_VERBOSE);
}
}
}
}



Loading…
Cancel
Save