PR: 10672 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273807 13f79535-47bb-0310-9956-ffa450edef68master
@@ -17,6 +17,10 @@ Changes that could break older environments: | |||
* The <script> task now requires Apache BSF instead of the older IBM | |||
version. See <http://jakarta.apache.org/bsf/> | |||
* The signjar keystore attribute has been reverted to a String allowing | |||
it to once again accept URLs. This should not affect current FIle based usage | |||
unless you are extending the Signjar task. | |||
* <xmlproperty> will no longer fail if the file to be loaded doesn't exist. | |||
Fixed bugs: | |||
@@ -289,6 +289,7 @@ | |||
</selector> | |||
<patternset id="onlinetests"> | |||
<exclude name="**/GetTest.java" if="offline"/> | |||
<exclude name="**/SignJarTest.java" if="offline"/> | |||
</patternset> | |||
<patternset id="teststhatfail"> | |||
<exclude name="${optional.package}/BeanShellScriptTest.java"/> | |||
@@ -577,14 +578,14 @@ | |||
<selector refid="needs.sun.tools" unless="sun.tools.present"/> | |||
<selector refid="needs.sun.uue" unless="sunuue.present"/> | |||
<selector refid="needs.sun.b64" unless="base64.present"/> | |||
<selector refid="needs.trax" unless="trax.present"/> | |||
<selector refid="needs.xalan1" unless="xalan.present"/> | |||
<selector refid="needs.xalan2" unless="xalan2.present"/> | |||
<selector refid="needs.xslp" unless="xslp.present"/> | |||
<selector refid="needs.apache.resolver" unless="apache.resolver.present"/> | |||
<selector refid="needs.junit" unless="junit.present"/> | |||
<selector refid="needs.jakarta.regexp" | |||
<selector refid="needs.jakarta.regexp" | |||
unless="jakarta.regexp.present"/> | |||
<selector refid="needs.jakarta.oro" unless="jakarta.oro.present"/> | |||
<selector refid="needs.jakarta.bcel" unless="bcel.present"/> | |||
@@ -597,7 +598,7 @@ | |||
<selector refid="needs.icontract" unless="icontract.present"/> | |||
<selector refid="needs.netrexx" unless="netrexx.present"/> | |||
<selector refid="needs.weblogic.ejbc" unless="ejb.ejbc.present"/> | |||
<selector refid="needs.weblogic.ddcreator" | |||
<selector refid="needs.weblogic.ddcreator" | |||
unless="ejb.DDCreator.present"/> | |||
<selector refid="needs.weblogic.server" unless="ejb.wls.present"/> | |||
<selector refid="needs.netcomponents" unless="netcomp.present"/> | |||
@@ -782,7 +783,7 @@ | |||
<metainf dir="${build.dir}" includes="LICENSE.txt"/> | |||
</jar> | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-trax.jar" | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-trax.jar" | |||
basedir="${build.classes}" | |||
manifest="${manifest.tmp}"> | |||
<selector refid="needs.trax"/> | |||
@@ -818,7 +819,7 @@ | |||
<selector refid="needs.junit"/> | |||
</jar> | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-jakarta-regexp.jar" | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-jakarta-regexp.jar" | |||
basedir="${build.classes}" manifest="${manifest.tmp}"> | |||
<selector refid="needs.jakarta.regexp"/> | |||
</jar> | |||
@@ -829,7 +830,7 @@ | |||
<selector refid="needs.jakarta.oro"/> | |||
</jar> | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-bcel.jar" | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-bcel.jar" | |||
basedir="${build.classes}" | |||
manifest="${manifest.tmp}"> | |||
<selector refid="needs.jakarta.bcel"/> | |||
@@ -841,7 +842,7 @@ | |||
<selector refid="needs.jakarta.log4j"/> | |||
</jar> | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-commons-logging.jar" | |||
<jar destfile="${build.lib}/${optional.jars.prefix}-commons-logging.jar" | |||
basedir="${build.classes}" manifest="${manifest.tmp}"> | |||
<selector refid="needs.commons.logging"/> | |||
</jar> | |||
@@ -1595,7 +1596,7 @@ | |||
<target name="run-single-test" if="testcase" depends="compile-tests,run-single-test-only" | |||
description="--> runs the single unit test defined in the testcase property"/> | |||
<target name="run-single-test-only" | |||
<target name="run-single-test-only" | |||
description="--> runs the single unit test defined in the testcase property"> | |||
@@ -1,24 +1,36 @@ | |||
<project name="signjartest" default="help"> | |||
<property name="classes.dir" value="../../../../build/classes"/> | |||
<project name="signjartest" default="help" basedir=".."> | |||
<property name="classes.dir" value="../../../build/classes"/> | |||
<target name="basic"> | |||
<jar jarfile="signtest.jar" basedir="${classes.dir}" includes="**/Task.class"/> | |||
<signjar jar="signtest.jar" alias="testonly" keystore="../testkeystore" | |||
<signjar jar="signtest.jar" alias="testonly" keystore="testkeystore" | |||
storepass="apacheant"/> | |||
</target> | |||
<target name="sigfile"> | |||
<jar jarfile="signtest.jar" basedir="${classes.dir}" includes="**/Task.class"/> | |||
<signjar jar="signtest.jar" alias="testonly" keystore="../testkeystore" | |||
<signjar jar="signtest.jar" alias="testonly" keystore="testkeystore" | |||
storepass="apacheant" sigfile="TEST"/> | |||
</target> | |||
<target name="maxmemory"> | |||
<jar jarfile="signtest.jar" basedir="${classes.dir}" includes="**/Task.class"/> | |||
<signjar jar="signtest.jar" alias="testonly" keystore="../testkeystore" | |||
<signjar jar="signtest.jar" alias="testonly" keystore="testkeystore" | |||
storepass="apacheant" maxmemory="128m"/> | |||
</target> | |||
<target name="urlKeystoreFile"> | |||
<jar jarfile="signtest.jar" basedir="${classes.dir}" includes="**/Task.class"/> | |||
<signjar jar="signtest.jar" alias="testonly" keystore="file://../testkeystore" | |||
storepass="apacheant" maxmemory="128m"/> | |||
</target> | |||
<target name="urlKeystoreHTTP"> | |||
<jar jarfile="signtest.jar" basedir="${classes.dir}" includes="**/Task.class"/> | |||
<signjar jar="signtest.jar" alias="testonly" | |||
keystore="http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-ant/src/etc/testcases/testkeystore?rev=HEAD" | |||
storepass="apacheant" maxmemory="128m"/> | |||
</target> | |||
<target name="clean"> | |||
<delete file="signtest.jar"/> | |||
@@ -1,7 +1,7 @@ | |||
/* | |||
* The Apache Software License, Version 1.1 | |||
* | |||
* Copyright (c) 2000-2002 The Apache Software Foundation. All rights | |||
* Copyright (c) 2000-2003 The Apache Software Foundation. All rights | |||
* reserved. | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
@@ -97,7 +97,7 @@ public class SignJar extends Task { | |||
/** | |||
* The name of keystore file. | |||
*/ | |||
protected File keystore; | |||
private String keystore; | |||
protected String storepass; | |||
protected String storetype; | |||
@@ -115,6 +115,7 @@ public class SignJar extends Task { | |||
* the filesets of the jars to sign | |||
*/ | |||
protected Vector filesets = new Vector(); | |||
/** | |||
* Whether to assume a jar which has an appropriate .SF file in is already | |||
* signed. | |||
@@ -149,7 +150,7 @@ public class SignJar extends Task { | |||
/** | |||
* keystore location; required | |||
*/ | |||
public void setKeystore(final File keystore) { | |||
public void setKeystore(final String keystore) { | |||
this.keystore = keystore; | |||
} | |||
@@ -286,8 +287,16 @@ public class SignJar extends Task { | |||
} | |||
if (null != keystore) { | |||
cmd.createArg().setValue("-keystore"); | |||
cmd.createArg().setValue(keystore.toString()); | |||
// is the keystore a file | |||
File keystoreFile = getProject().resolveFile(keystore); | |||
if (keystoreFile.exists()) { | |||
cmd.createArg().setValue("-keystore"); | |||
cmd.createArg().setValue(keystoreFile.getPath()); | |||
} else { | |||
// must be a URL - just pass as is | |||
cmd.createArg().setValue("-keystore"); | |||
cmd.createArg().setValue(keystore); | |||
} | |||
} | |||
if (null != storepass) { | |||
@@ -97,4 +97,11 @@ public class SignJarTest extends BuildFileTest { | |||
executeTarget("maxmemory"); | |||
} | |||
public void testURLKeystoreFile() { | |||
executeTarget("urlKeystoreFile"); | |||
} | |||
public void testURLKeystoreHTTP() { | |||
executeTarget("urlKeystoreHTTP"); | |||
} | |||
} |