antoine 2005/04/18 13:09:08 Modified: src/main/org/apache/tools/ant/taskdefs Zip.java src/testcases/org/apache/tools/ant/taskdefs ZipTest.java JarTest.java . WHATSNEW Log: Make Zip#createEmptyZip be called again when empty zips need to be created (similar for overrides in superclasses) Revision Changes Path 1.140 +21 -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.139 retrieving revision 1.140 diff -u -r1.139 -r1.140 --- Zip.java 11 Mar 2005 08:41:41 -0000 1.139 +++ Zip.java 18 Apr 2005 20:09:08 -0000 1.140 @@ -474,6 +474,10 @@ return; } + if (!zipFile.exists() && state.isWithoutAnyResources()) { + createEmptyZip(zipFile); + return; + } Resource[][] addThem = state.getResourcesToAdd(); if (doUpdate) { @@ -1384,5 +1388,22 @@ public Resource[][] getResourcesToAdd() { return resourcesToAdd; } + /** + * find out if there are absolutely no resources to add + * @return true if there are no resources to add + */ + public boolean isWithoutAnyResources() { + if (resourcesToAdd == null) { + return true; + } + for (int counter = 0; counter < resourcesToAdd.length; counter++) { + if (resourcesToAdd[counter] != null) { + if (resourcesToAdd[counter].length > 0) { + return false; + } + } + } + return true; + } } } 1.27 +1 -1 ant/src/testcases/org/apache/tools/ant/taskdefs/ZipTest.java Index: ZipTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/ZipTest.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- ZipTest.java 18 Feb 2005 12:19:37 -0000 1.26 +++ ZipTest.java 18 Apr 2005 20:09:08 -0000 1.27 @@ -141,7 +141,7 @@ getProject().resolveFile("test3.zip").exists()); } public void testZipEmptyCreate() { - executeTarget("zipEmptyCreate"); + expectLogContaining("zipEmptyCreate", "Note: creating empty"); assertTrue("archive should be created", getProject().resolveFile("test3.zip").exists()); } 1.33 +1 -1 ant/src/testcases/org/apache/tools/ant/taskdefs/JarTest.java Index: JarTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/JarTest.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- JarTest.java 6 Jan 2005 12:05:04 -0000 1.32 +++ JarTest.java 18 Apr 2005 20:09:08 -0000 1.33 @@ -258,7 +258,7 @@ } } public void testManifestOnlyJar() { - executeTarget("testManifestOnlyJar"); + expectLogContaining("testManifestOnlyJar", "Building MANIFEST-only jar: "); File manifestFile = getProject().resolveFile(tempDir + "META-INF" + File.separator + "MANIFEST.MF"); assertTrue(manifestFile.exists()); } 1.806 +3 -0 ant/WHATSNEW Index: WHATSNEW =================================================================== RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.805 retrieving revision 1.806 diff -u -r1.805 -r1.806 --- WHATSNEW 15 Apr 2005 20:25:36 -0000 1.805 +++ WHATSNEW 18 Apr 2005 20:09:08 -0000 1.806 @@ -362,6 +362,9 @@ * FTP task, getTimeDiff method was returning wrong value. Bugzilla 30595. +* make sure that Zip and its derivates call the createEmptyZip method when + there are no resources to zip/jar/... + * Zip task was not zipping when only empty directories were found. Bugzilla 30365.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]