<project name="signjartest" default="help" basedir=".."> | |
<property name="classes.dir" value="../../../build/classes"/> | |
<property name="sign.dir" location="signedjars" /> | |
<property name="subdir" location="${sign.dir}/subdir" /> | |
<property name="test.jar" location="${sign.dir}/signtest.jar" /> | |
<property name="subdirtest.jar" location="${subdir}/signtest.jar" /> | |
<macrodef name="assertSigned"> | |
<attribute name="jar" default="${test.jar}" /> | |
<sequential> | |
<fail message="not signed: @{jar}" > | |
<condition> | |
<not><issigned file="@{jar}" /></not> | |
</condition> | |
</fail> | |
</sequential> | |
</macrodef> | |
<presetdef name="sign-base"> | |
<signjar alias="testonly" keystore="testkeystore" | |
storepass="apacheant"/> | |
</presetdef> | |
<presetdef name="verify-base"> | |
<verifyjar keystore="testkeystore" | |
storepass="apacheant"/> | |
</presetdef> | |
<presetdef name="sign"> | |
<sign-base jar="${test.jar}" /> | |
</presetdef> | |
<target name="init"> | |
<mkdir dir="${sign.dir}" /> | |
<mkdir dir="${subdir}" /> | |
</target> | |
<target name="jar" depends="init"> | |
<jar jarfile="${test.jar}" basedir="${classes.dir}" includes="**/Task.class"/> | |
</target> | |
<target name="clean"> | |
<delete dir="${sign.dir}"/> | |
</target> | |
<target name="help"> | |
<echo>This build is for use with Ant's test cases</echo> | |
</target> | |
<target name="basic" depends="jar"> | |
<sign /> | |
<assertSigned/> | |
</target> | |
<target name="sigfile" depends="jar"> | |
<sign sigfile="TEST"/> | |
<assertSigned/> | |
</target> | |
<target name="maxmemory" depends="jar"> | |
<sign maxmemory="128m"/> | |
<assertSigned/> | |
</target> | |
<target name="urlKeystoreFile" depends="jar"> | |
<sign keystore="file://../testkeystore" | |
maxmemory="128m"/> | |
<assertSigned/> | |
</target> | |
<target name="urlKeystoreHTTP" depends="jar"> | |
<sign | |
keystore="http://ant.apache.org/webtest/testkeystore" | |
/> | |
<assertSigned/> | |
</target> | |
<target name="preserveLastModified" depends="jar"> | |
<touch file="${test.jar}" datetime="06/28/2000 2:02 pm"/> | |
<sign | |
preservelastmodified="true"/> | |
<assertSigned /> | |
<fail message="preserveLastModified did not preserve the last modified time"> | |
<condition> | |
<not> | |
<isfileselected file="${test.jar}" > | |
<date datetime="06/28/2000 2:02 pm" when="equal"/> | |
</isfileselected> | |
</not> | |
</condition> | |
</fail> | |
</target> | |
<target name="testFileset" depends="jar"> | |
<sign-base> | |
<fileset file="${test.jar}" /> | |
</sign-base> | |
<assertSigned/> | |
</target> | |
<target name="testFilesetAndJar" depends="jar"> | |
<sign-base jar="${test.jar}" lazy="true"> | |
<fileset file="${test.jar}" /> | |
</sign-base> | |
<assertSigned/> | |
</target> | |
<target name="testFilesetAndSignedJar" depends="jar"> | |
<sign-base signedjar="${sign.dir}/newfile.jar"> | |
<fileset file="${test.jar}" /> | |
</sign-base> | |
</target> | |
<target name="testPath" depends="jar"> | |
<sign-base> | |
<path> | |
<fileset file="${test.jar}" /> | |
</path> | |
</sign-base> | |
<assertSigned/> | |
</target> | |
<target name="testPathAndJar" depends="jar"> | |
<sign-base jar="${test.jar}" lazy="true"> | |
<path> | |
<fileset file="${test.jar}" /> | |
</path> | |
</sign-base> | |
<assertSigned/> | |
</target> | |
<target name="testPathAndSignedJar" depends="jar"> | |
<sign-base signedjar="${sign.dir}/newfile.jar"> | |
<path> | |
<fileset file="${test.jar}" /> | |
</path> | |
</sign-base> | |
</target> | |
<target name="testSignedJar" depends="jar"> | |
<sign signedjar="${subdirtest.jar}"/> | |
<assertSigned jar="${subdirtest.jar}"/> | |
</target> | |
<target name="testDestDirAndSignedJar" depends="jar"> | |
<sign destDir="${subdir}" signedjar="${sign.dir}/newfile.jar"/> | |
</target> | |
<target name="testDestDir" depends="jar"> | |
<sign destDir="${subdir}" /> | |
<assertSigned jar="${subdirtest.jar}"/> | |
</target> | |
<target name="testDestDirFileset" depends="jar"> | |
<sign-base destDir="${subdir}"> | |
<fileset file="${test.jar}" /> | |
</sign-base> | |
<assertSigned jar="${subdirtest.jar}"/> | |
</target> | |
<target name="testDestDirPath" depends="jar"> | |
<sign-base destDir="${subdir}"> | |
<path> | |
<fileset file="${test.jar}" /> | |
</path> | |
</sign-base> | |
<assertSigned jar="${subdirtest.jar}"/> | |
</target> | |
<target name="testMapperNoDest" depends="jar"> | |
<sign-base > | |
<flattenmapper /> | |
<fileset file="${test.jar}" /> | |
</sign-base> | |
</target> | |
<target name="testMapperFileset" depends="jar"> | |
<sign-base destDir="${subdir}"> | |
<fileset file="${test.jar}" /> | |
<flattenmapper /> | |
</sign-base> | |
<assertSigned jar="${subdirtest.jar}"/> | |
</target> | |
<target name="testMapperPath" depends="jar"> | |
<sign-base destDir="${subdir}"> | |
<path> | |
<pathelement location="${test.jar}" /> | |
</path> | |
<flattenmapper /> | |
</sign-base> | |
<assertSigned jar="${subdirtest.jar}"/> | |
</target> | |
<target name="testTwoMappers" depends="jar"> | |
<sign-base destDir="${subdir}"> | |
<fileset file="${test.jar}" /> | |
<flattenmapper /> | |
<flattenmapper /> | |
</sign-base> | |
</target> | |
<target name="testNoAlias" depends="jar"> | |
<signjar keystore="testkeystore" | |
jar="${test.jar}" | |
storepass="apacheant"/> | |
</target> | |
<target name="testNoFiles" > | |
<sign-base /> | |
</target> | |
<target name="testNoStorePass" depends="jar"> | |
<signjar keystore="testkeystore" | |
alias="testonly" | |
jar="${test.jar}"/> | |
</target> | |
<target name="testTsaLocalhost" depends="jar"> | |
<sign tsaurl="http://localhost:0/" /> | |
</target> | |
<target name="testSysProperty" depends="jar"> | |
<sign> | |
<sysproperty key="ant.home" value="${ant.home}" /> | |
</sign> | |
<assertSigned/> | |
</target> | |
<target name="testVerifyJar" depends="basic"> | |
<verify-base jar="${test.jar}"/> | |
</target> | |
<target name="testVerifyJarCertificates" depends="basic"> | |
<verify-base jar="${test.jar}" certificates="true" verbose="true"/> | |
</target> | |
<target name="testVerifyJarUnsigned" depends="jar"> | |
<verify-base jar="${test.jar}"/> | |
</target> | |
<target name="testVerifyJarNotInKeystore" depends="basic"> | |
<verifyjar jar="${test.jar}" certificates="true" verbose="true"/> | |
</target> | |
<target name="testVerifyFileset" depends="basic"> | |
<verify-base > | |
<fileset file="${test.jar}" /> | |
</verify-base> | |
</target> | |
<target name="testVerifyPath" depends="basic"> | |
<verify-base > | |
<path> | |
<pathelement location="${test.jar}" /> | |
</path> | |
</verify-base> | |
</target> | |
<target name="testVerifyNoArgs"> | |
<verify-base /> | |
</target> | |
</project> | |