diff --git a/WHATSNEW b/WHATSNEW index b517bdae0..b9f966fcc 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -19,6 +19,7 @@ Changes that could break older environments: Fixed bugs: ----------- +* Expand tasks did not behave as expected with PatternSets. * now works on OS/400. diff --git a/src/main/org/apache/tools/ant/taskdefs/Expand.java b/src/main/org/apache/tools/ant/taskdefs/Expand.java index dd10d54c3..e5936c1f9 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Expand.java +++ b/src/main/org/apache/tools/ant/taskdefs/Expand.java @@ -182,14 +182,13 @@ public class Expand extends Task { String name = entryName; boolean included = false; for (int v = 0; v < patternsets.size(); v++) { + included = true; PatternSet p = (PatternSet) patternsets.elementAt(v); String[] incls = p.getIncludePatterns(getProject()); if (incls != null) { for (int w = 0; w < incls.length; w++) { - boolean isIncl = - DirectoryScanner.match(incls[w], name); - if (isIncl) { - included = true; + included = DirectoryScanner.match(incls[w], name); + if (included) { break; } } @@ -197,10 +196,8 @@ public class Expand extends Task { String[] excls = p.getExcludePatterns(getProject()); if (excls != null) { for (int w = 0; w < excls.length; w++) { - boolean isExcl = - DirectoryScanner.match(excls[w], name); - if (isExcl) { - included = false; + included = !(DirectoryScanner.match(excls[w], name)); + if (!included) { break; } }