commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Bentmann (JIRA)" <j...@apache.org>
Subject [jira] Created: (IO-172) Support directory scanning based on Ant-like include/exclude patterns
Date Fri, 30 May 2008 10:57:45 GMT
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


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.


Mime
View raw message