mbenson 2005/04/06 08:49:29
Modified: src/main/org/apache/tools/ant/taskdefs VerifyJar.java
Log:
Work around jdk 1.4.2(no _version) jarsigner bug.
Revision Changes Path
1.3 +20 -4 ant/src/main/org/apache/tools/ant/taskdefs/VerifyJar.java
Index: VerifyJar.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/VerifyJar.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- VerifyJar.java 24 Mar 2005 17:17:09 -0000 1.2
+++ VerifyJar.java 6 Apr 2005 15:49:29 -0000 1.3
@@ -17,6 +17,7 @@
package org.apache.tools.ant.taskdefs;
+import org.apache.tools.ant.Project;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.filters.ChainableReader;
@@ -134,10 +135,25 @@
log("Verifying JAR: " +
jar.getAbsolutePath());
outputCache.clear();
- cmd.execute();
- String results=outputCache.toString();
- if(results.indexOf(VERIFIED_TEXT)<0) {
- throw new BuildException(ERROR_NO_VERIFY+jar);
+ BuildException ex = null;
+ try {
+ cmd.execute();
+ } catch (BuildException e) {
+ ex = e;
+ }
+ String results = outputCache.toString();
+ //deal with jdk1.4.2 bug:
+ if (ex != null) {
+ if (results.indexOf("zip file closed") >= 0) {
+ log("You are running " + JARSIGNER_COMMAND + " against a JVM
with"
+ + " a known bug that manifests as an
IllegalStateException.",
+ Project.MSG_WARN);
+ } else {
+ throw ex;
+ }
+ }
+ if (results.indexOf(VERIFIED_TEXT) < 0) {
+ throw new BuildException(ERROR_NO_VERIFY + jar);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]