bodewig 2004/06/07 05:26:03 Modified: . WHATSNEW src/main/org/apache/tools/ant/taskdefs Zip.java Log: prevent empty archive in zip if whenempty is set to skip, PR: 22865 Revision Changes Path 1.618 +3 -0 ant/WHATSNEW Index: WHATSNEW =================================================================== RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.617 retrieving revision 1.618 diff -u -r1.617 -r1.618 --- WHATSNEW 7 Jun 2004 12:05:40 -0000 1.617 +++ WHATSNEW 7 Jun 2004 12:26:03 -0000 1.618 @@ -136,6 +136,9 @@ * <symlink> could create cyclic links. Bugzilla Report 25181. +* <zip whenempty="skip"> didn't work in a common situation. Bugzilla + Report 22865. + Other changes: -------------- * doc fix concerning the dependencies of the ftp task 1.126 +10 -0 ant/src/main/org/apache/tools/ant/taskdefs/Zip.java Index: Zip.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Zip.java,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- Zip.java 25 May 2004 11:48:20 -0000 1.125 +++ Zip.java 7 Jun 2004 12:26:03 -0000 1.126 @@ -903,6 +903,12 @@ protected Resource[][] grabResources(FileSet[] filesets) { Resource[][] result = new Resource[filesets.length][]; for (int i = 0; i < filesets.length; i++) { + boolean skipEmptyNames = true; + if (filesets[i] instanceof ZipFileSet) { + ZipFileSet zfs = (ZipFileSet) filesets[i]; + skipEmptyNames = zfs.getPrefix(getProject()).equals("") + && zfs.getFullpath(getProject()).equals(""); + } DirectoryScanner rs = filesets[i].getDirectoryScanner(getProject()); if (rs instanceof ZipScanner) { @@ -911,11 +917,15 @@ Vector resources = new Vector(); String[] directories = rs.getIncludedDirectories(); for (int j = 0; j < directories.length; j++) { + if (!"".equals(directories[0]) || !skipEmptyNames) { resources.addElement(rs.getResource(directories[j])); + } } String[] files = rs.getIncludedFiles(); for (int j = 0; j < files.length; j++) { + if (!"".equals(files[0]) || !skipEmptyNames) { resources.addElement(rs.getResource(files[j])); + } } result[i] = new Resource[resources.size()];
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]