Hello Matt and others,

I had thought about this issue of optimizing pattern scanning.
DirectoryScanner used to be written so that if an exclude pattern looks like
foo/bar/** scanning stops in foo/bar.
Actually if an exclude pattern is like **/Test/**,
every time a directory Test is encountered it should not be scanned.
Not sure whether this change does exactly that.

I am not sure exactly what the semantics of isDeeper are ?

Cheers,

Antoine

[EMAIL PROTECTED] wrote:


mbenson     2005/03/02 14:43:54

Modified: src/main/org/apache/tools/ant DirectoryScanner.java
Log:
Stop scanning directories where we match the directory but know based
on the pattern that we will never match any of its contents.
.... /**
+ * Verify that a pattern specifies files deeper
+ * than the level of the specified file.
+ * @param pattern the pattern to check.
+ * @param name the name to check.
+ * @return whether the pattern is deeper than the name.
+ * @since Ant 1.6.3
+ */
+ private boolean isDeeper(String pattern, String name) {
+ Vector p = SelectorUtils.tokenizePath(pattern);
+ Vector n = SelectorUtils.tokenizePath(name);
+ return p.contains("**") || p.size() > n.size();
+ }
+





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to