DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11100>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11100 Expand tasks do not behave as expected with PatternSets. Summary: Expand tasks do not behave as expected with PatternSets. Product: Ant Version: 1.5 Platform: All OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Core tasks AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] With the following scenario: <untar src="test/test.tar.gz" compression="gzip" dest="test"> <patternset> <exclude name="**/*.class" /> </patternset> </untar> No files are extracted. To obtain the desired behavior, I must add a nested <include>: <untar src="test/test.tar.gz" compression="gzip" dest="test"> <patternset> <include name="**/**" /> <exclude name="**/*.class" /> </patternset> </untar> The problem appears to be in Expand.extractFile(). Looks to me as though the simplest fix would be change the first part of the method to something like this: if (patternsets != null && patternsets.size() > 0) { String name = entryName; boolean included; for (int v = 0; v < patternsets.size(); v++) { included = true; PatternSet p = (PatternSet) patternsets.elementAt(v); String[] incls = p.getIncludePatterns(project); if (incls != null) { for (int w = 0; w < incls.length; w++) { included = DirectoryScanner.match(incls[w], name); if (included) break; } } String[] excls = p.getExcludePatterns(project); if (excls != null) { for (int w = 0; w < excls.length; w++) { included = !(DirectoryScanner.match(excls[w], name)); if (!included) break; } } } if (!included) { //Do not process this file return; } } -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
