Author: peterreilly Date: Tue Sep 19 15:01:56 2006 New Revision: 447991 URL: http://svn.apache.org/viewvc?view=rev&rev=447991 Log: Fix for 39439: <fileset> in <cab> does not work.
Modified: ant/core/trunk/WHATSNEW ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java Modified: ant/core/trunk/WHATSNEW URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?view=diff&rev=447991&r1=447990&r2=447991 ============================================================================== --- ant/core/trunk/WHATSNEW (original) +++ ant/core/trunk/WHATSNEW Tue Sep 19 15:01:56 2006 @@ -15,6 +15,8 @@ * <path location="loc"> was broken (Regression from beta1). Bugzilla report 40547. +* nested fileset in <cab> did not work. Bugzilla report 39439. + Other changes: -------------- Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java?view=diff&rev=447991&r1=447990&r2=447991 ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java Tue Sep 19 15:01:56 2006 @@ -95,6 +95,9 @@ * Adds a set of files to archive. */ public void addFileset(FileSet set) { + if (filesets.size() > 0) { + throw new BuildException("Only one nested fileset allowed"); + } filesets.addElement(set); } @@ -105,13 +108,17 @@ */ protected void checkConfiguration() throws BuildException { if (baseDir == null && filesets.size() == 0) { - throw new BuildException("basedir attribute or at least one " - + "nested filest is required!", + throw new BuildException("basedir attribute or one " + + "nested fileset is required!", getLocation()); } if (baseDir != null && !baseDir.exists()) { throw new BuildException("basedir does not exist!", getLocation()); } + if (baseDir != null && filesets.size() > 0) { + throw new BuildException( + "Both basedir attribute and a nested fileset is not allowed"); + } if (cabFile == null) { throw new BuildException("cabfile attribute must be set!", getLocation()); @@ -179,7 +186,7 @@ /** * Get the complete list of files to be included in the cab. Filenames - * are gathered from filesets if any have been added, otherwise from the + * are gathered from the fileset if it has been added, otherwise from the * traditional include parameters. */ protected Vector getFileList() throws BuildException { @@ -188,14 +195,10 @@ if (baseDir != null) { // get files from old methods - includes and nested include appendFiles(files, super.getDirectoryScanner(baseDir)); - } - - // get files from filesets - for (int i = 0; i < filesets.size(); i++) { - FileSet fs = (FileSet) filesets.elementAt(i); - if (fs != null) { - appendFiles(files, fs.getDirectoryScanner(getProject())); - } + } else { + FileSet fs = (FileSet) filesets.elementAt(0); + baseDir = fs.getDir(); + appendFiles(files, fs.getDirectoryScanner(getProject())); } return files; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]