You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Niall Pemberton (JIRA)" <ji...@apache.org> on 2008/12/04 01:19:44 UTC

[jira] Updated: (IO-172) Support directory scanning based on Ant-like include/exclude patterns

     [ https://issues.apache.org/jira/browse/IO-172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Niall Pemberton updated IO-172:
-------------------------------

    Fix Version/s: 2.x

Sorry for the delay in reposning Matt,. I'm against just dumping an impementation from elsewhere that duplicates much of the code thats already in IO. But if someone wants to come up with one that re-uses existing IO code such as directory walker and the file filter implementations the I'm OK with that.

> Support directory scanning based on Ant-like include/exclude patterns
> ---------------------------------------------------------------------
>
>                 Key: IO-172
>                 URL: https://issues.apache.org/jira/browse/IO-172
>             Project: Commons IO
>          Issue Type: New Feature
>          Components: Utilities
>    Affects Versions: 1.4
>            Reporter: Benjamin Bentmann
>             Fix For: 2.x
>
>
> While IO offers a rich set of {{IOFileFilters}} for finding files in directories, I feel it's missing a concept similar to Ant's file sets. For example, how would one search for files that match "**/*.xml" but that don't match "bad/**"? The sketched example would require to exclude the directory "bad" but only if it is the first component of the path, something like "foo/bad/bar.xml" still needs to be included.
> Given the increased flexibility of [Ant-like patterns|http://ant.apache.org/manual/dirtasks.html#patterns], it would be cool to have something similar to Ant's [{{DirectoryScanner}}|http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java?view=markup] available in Commons IO.
> Personally, I wouldn't need a full copy of the mentioned class, I believe some method like
> {code:java}
> Collection<String> scanDirectory(File dir, Collection<String> includes, Collection<String> excludes)
> {code}
> in {{FileUtils}} would just suffice. Some default excludes like SCM metadata files could be provided as a public static final and unmodifiable string collection. The return value should include path names relative to the base directory instead of absolute paths (it's easy for the caller to resolve the files against the base directory but it's error-prone to relativize absolute paths).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.