Browse Source

<zip filesonly="true"> included empty directories. Bugzilla report 40258.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@437804 13f79535-47bb-0310-9956-ffa450edef68
master
Matthew Jason Benson 19 years ago
parent
commit
d5fa871520
4 changed files with 23 additions and 4 deletions
  1. +2
    -0
      WHATSNEW
  2. +11
    -0
      src/etc/testcases/taskdefs/zip.xml
  3. +6
    -4
      src/main/org/apache/tools/ant/taskdefs/Zip.java
  4. +4
    -0
      src/testcases/org/apache/tools/ant/taskdefs/ZipTest.java

+ 2
- 0
WHATSNEW View File

@@ -273,6 +273,8 @@ Fixed bugs:
* mixing of add and addConfigured methods in Mapper/ChainedMapper
causes incorrect chaining. Bugzilla report 40228.

* <zip filesonly="true"> included empty directories. Bugzilla report 40258.

Other changes:
--------------



+ 11
- 0
src/etc/testcases/taskdefs/zip.xml View File

@@ -157,6 +157,17 @@
</fail>
</target>

<!-- Bugzilla Report 40258 -->
<target name="zipEmptyDirFilesOnly">
<mkdir dir="empty/empty2" />
<zip destfile="test3.zip" basedir="empty" update="true" filesonly="true" />
<fail message="archive should get skipped">
<condition>
<available file="test3.zip" />
</condition>
</fail>
</target>

<target name="zipEmptyCreate">
<mkdir dir="empty"/>
<zip destfile="test3.zip" basedir="empty" whenempty="create" includes="*.xyz"/>


+ 6
- 4
src/main/org/apache/tools/ant/taskdefs/Zip.java View File

@@ -1269,10 +1269,12 @@ public class Zip extends MatchingTask {
((ZipScanner) rs).setEncoding(encoding);
}
Vector resources = new Vector();
String[] directories = rs.getIncludedDirectories();
for (int j = 0; j < directories.length; j++) {
if (!"".equals(directories[j]) || !skipEmptyNames) {
resources.addElement(rs.getResource(directories[j]));
if (!doFilesonly) {
String[] directories = rs.getIncludedDirectories();
for (int j = 0; j < directories.length; j++) {
if (!"".equals(directories[j]) || !skipEmptyNames) {
resources.addElement(rs.getResource(directories[j]));
}
}
}
String[] files = rs.getIncludedFiles();


+ 4
- 0
src/testcases/org/apache/tools/ant/taskdefs/ZipTest.java View File

@@ -137,6 +137,10 @@ public class ZipTest extends BuildFileTest {
public void testZipEmptyDir() {
executeTarget("zipEmptyDir");
}
// Bugzilla Report 40258
public void testZipEmptyDirFilesOnly() {
executeTarget("zipEmptyDirFilesOnly");
}
public void testZipEmptyCreate() {
expectLogContaining("zipEmptyCreate", "Note: creating empty");
}


Loading…
Cancel
Save