diff --git a/src/etc/testcases/taskdefs/jar.xml b/src/etc/testcases/taskdefs/jar.xml index 666d771de..55fc0f5c3 100644 --- a/src/etc/testcases/taskdefs/jar.xml +++ b/src/etc/testcases/taskdefs/jar.xml @@ -43,8 +43,6 @@ - - diff --git a/src/main/org/apache/tools/ant/taskdefs/Zip.java b/src/main/org/apache/tools/ant/taskdefs/Zip.java index c5ad66cb2..7eacaf239 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Zip.java +++ b/src/main/org/apache/tools/ant/taskdefs/Zip.java @@ -77,7 +77,6 @@ import org.apache.tools.ant.types.EnumeratedAttribute; import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.types.PatternSet; import org.apache.tools.ant.types.Resource; -import org.apache.tools.ant.types.ResourceFactory; import org.apache.tools.ant.types.ZipFileSet; import org.apache.tools.ant.types.ZipScanner; import org.apache.tools.ant.util.FileNameMapper; @@ -101,7 +100,7 @@ import org.apache.tools.zip.ZipOutputStream; * * @ant.task category="packaging" */ -public class Zip extends MatchingTask implements ResourceFactory { +public class Zip extends MatchingTask { protected File zipFile; // use to scan own archive @@ -127,7 +126,6 @@ public class Zip extends MatchingTask implements ResourceFactory { protected boolean doubleFilePass = false; protected boolean skipWriting = false; - private FileUtils fileUtils; /** @@ -659,14 +657,14 @@ public class Zip extends MatchingTask implements ResourceFactory { return true; } - public Resource getResource(String name) { - if (zs==null) { + private synchronized ZipScanner getZipScanner() { + if (zs == null) { zs=new ZipScanner(); // set the task of the zip scanner so that it can log properly zs.setTask(this); zs.setSrc(zipFile); } - return zs.getResource(name); + return zs; } /** @@ -741,7 +739,8 @@ public class Zip extends MatchingTask implements ResourceFactory { Resource[] newerSources = SourceSelector.selectOutOfDateSources(this, resourceNames[i], - myMapper, this); + myMapper, + getZipScanner()); result = (newerSources.length == 0); if (!result) { return result;