ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 4780] New: - Path Type does not include directories from a FileSet
Date Fri, 09 Nov 2001 20:42:34 GMT
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=4780>.
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=4780

Path Type does not include directories from a FileSet

           Summary: Path Type does not include directories from a FileSet
           Product: Ant
           Version: 1.4
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Core
        AssignedTo: ant-dev@jakarta.apache.org
        ReportedBy: bmoriarty@polexis.com


Bug in: src\main\org\apache\tools\ant\types\Path.java

The ant Path type does not include directories from a nested FileSet.  This 
means that there is no way to use a FileSet to include directories in a 
CLASSPATH or PATH, you'd have to specify them individually using nested 
pathelements, which isn't workable in my situation.

Here is a reasonable fix for this problem in the "public String[] list()" 
method (I just added the code for getting the included directories from the 
fileset). 
(I would be happy to commit this fix to the 1.5 nightly myself if I had a cvs 
account, just let me know what I need to do.)

Starting at line 301 of Path.java

            } else if (o instanceof FileSet) {
                FileSet fs = (FileSet) o;
                DirectoryScanner ds = fs.getDirectoryScanner(project);
                String[] s = ds.getIncludedFiles();
                File dir = fs.getDir(project);
                for (int j=0; j<s.length; j++) {
                    File f = new File(dir, s[j]);
                    String absolutePath = f.getAbsolutePath();
                    addUnlessPresent(result, translateFile(absolutePath));
                } 
                s = ds.getIncludedDirectories();
                for (int j=0; j<s.length; j++) {
                    File f = new File(dir, s[j]);
                    String absolutePath = f.getAbsolutePath();
                    addUnlessPresent(result, translateFile(absolutePath));
                } 

            }



Thanks!
Brian

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message