blob: da5d13e94dbb3e95eac95ba2fd6816e6ea86d8d7 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is intended for ANT, a Java based build tool.
ANT is availale from http://jakarta.apache.org/ant/index.html
This build file is intended to build the org.apache.xml.security package,
available from http://xml.apache.org/security/
--><project basedir="." default="test_xenc" name="The org.apache.xml.security Package">
<target name="init">
<property name="product.Name" value="Apache-XML-Security-J"/>
<property name="product.name" value="xml-security"/>
<property name="product.shortname" value="xmlsec"/>
<property name="product.version.major" value="1"/>
<property name="product.version.minor" value="1"/>
<property name="product.version.level" value="0"/>
<property name="product.Version" value="${product.version.major}.${product.version.minor}.${product.version.level}"/>
<property name="product.version" value="${product.version.major}.${product.version.minor}.${product.version.level}"/>
<property name="product_version" value="${product.version.major}_${product.version.minor}_${product.version.level}"/>
<property name="year" value="2000-2004"/>
<property name="copyright" value="Copyright © ${year} Apache XML Project. All Rights Reserved."/>
<!-- Give user a chance to override without editing this file
(and without typing -D each time it compiles it) -->
<property file="./build.properties"/>
<property file="${user.home}/build.properties"/>
<!--<property name="build.compiler" value="classic" />
<property name="build.compiler" value="jikes" />-->
<property name="dir.data" value="./data"/>
<property name="dir.doc" value="./doc"/>
<property name="dir.libs" value="./libs"/>
<property name="dir.src" value="./src"/>
<property name="dir.src.unitTests" value="./src_unitTests"/>
<property name="dir.src.samples" value="./src_samples"/>
<property name="build.dir" value="./build"/>
<property name="build.data" value="${build.dir}/data"/>
<property name="build.src" value="${build.dir}/src"/>
<property name="build.tests" value="${build.dir}/tests"/>
<property name="build.samples" value="${build.dir}/samples"/>
<property name="build.classes" value="${build.dir}/classes"/>
<property name="build.srcdist" value="${build.dir}/${product.name}_${product_version}_src"/>
<property name="build.bindist" value="${build.dir}/${product.name}_${product_version}_bin"/>
<property name="build.manifest.dir" value="${build.classes}/META-INF"/>
<property name="jar.manifest" value="${build.manifest.dir}/MANIFEST.MF"/>
<property name="jar.library" value="${product.shortname}.jar"/>
<property name="jar.tests" value="${product.shortname}Tests.jar"/>
<property name="jar.samples" value="${product.shortname}Samples.jar"/>
<property name="build.doc" value="${build.dir}/doc"/>
<property name="build.doc.xml" value="${build.doc}/xml"/>
<property name="build.doc.html" value="${build.doc}/html"/>
<property name="build.javadoc" value="${build.doc.html}/api"/>
<property name="build.junit.xml" value="${build.doc.xml}/junit"/>
<property name="build.junit.html" value="${build.doc.html}/junit"/>
<property name="build.compile.debug" value="on"/>
<property name="cvs.cvsRoot.anonymous" value=":pserver:${cvs.user.anonymous}@${cvs.server}:${cvs.path}public"/>
<property name="cvs.cvsRoot.developer" value=":ext:${cvs.user.developer}@${cvs.server}:${cvs.path}"/>
<property name="cvs.package" value="xml-security"/>
<property name="cvs.path" value="/home/cvs"/>
<property name="cvs.server" value="cvs.apache.org"/>
<property name="cvs.user.anonymous" value="anoncvs"/>
<property name="cvs.user.developer" value="geuerp"/>
<property name="doc.xml" value="${dir.doc}/xml"/>
<property name="doc.book" value="${build.doc.xml}/sources/docs-book.xml"/>
<!-- To validate that the MD5 and SHA1 checksums are in sync, please see
http://www.bouncycastle.org/checksums.html -->
<property name="jce.download.file" value="jce-jdk13-124.jar"/>
<property name="jce.download.md5" value="2d93ce3dd5e7e3f598f324146d1e25d0"/>
<property name="jce.download.sha1" value="df189e1f018332468055dc2698f433349e449439"/>
<property name="jce.download" value="http://www.bouncycastle.org/download/${jce.download.file}"/>
<property name="lib.jce" value="${dir.libs}/bc-${jce.download.file}"/>
<property name="lib.junit" value="${dir.libs}/junit.jar"/>
<property name="lib.log.api" value="${dir.libs}/commons-logging-api.jar"/>
<property name="lib.log" value="${dir.libs}/commons-logging.jar"/>
<property name="lib.styleApache" value="${dir.libs}/style-apachexml.jar"/>
<property name="lib.stylebook" value="${dir.libs}/stylebook-1.0-b3_xalan-2.jar"/>
<property name="lib.xalan.1" value="${dir.libs}/xalan.jar"/>
<property name="lib.xalan.2" value="${dir.libs}/xml-apis.jar"/>
<property name="lib.xerces.1" value="${dir.libs}/xercesImpl.jar"/>
<property name="lib.xerces.2" value="${dir.libs}/xmlParserAPIs.jar"/>
<path description="3rd party libs" id="classpath.libraries">
<pathelement path="${lib.xerces.1}"/>
<pathelement path="${lib.xerces.2}"/>
<pathelement path="${lib.xalan.1}"/>
<pathelement path="${lib.xalan.2}"/>
<pathelement path="${lib.log.api}"/>
<pathelement path="${lib.log}"/>
<pathelement path="${lib.jce}"/>
</path>
<path description="xmlsec classes; first try pure class files, then jars" id="classpath.xmlsec">
<pathelement path="${build.classes}"/>
<pathelement path="${build.dir}/${jar.library}"/>
<pathelement path="${build.dir}/${jar.tests}"/>
<pathelement path="${build.dir}/${jar.samples}"/>
</path>
<path id="classpath.library">
<path refid="classpath.xmlsec"/>
<path refid="classpath.libraries"/>
</path>
<path id="classpath.test">
<!-- classpath for test is librarypath plus junit -->
<path refid="classpath.library"/>
<pathelement path="${lib.junit}"/>
</path>
<path id="classpath.test.jar">
<!-- classpath for test is librarypath plus junit -->
<path refid="classpath.library"/>
<pathelement path="${build.dir}/${jar.library}"/>
<pathelement path="${build.dir}/${jar.tests}"/>
</path>
<patternset id="distFiles">
<include name="build.xml"/>
<include name="INSTALL"/>
<include name="KEYS"/>
<include name="LICENSE"/>
<include name="NOTICE"/>
<include name="README"/>
<include name="Readme.html"/>
<include name="TODO"/>
</patternset>
<patternset id="dataFiles">
<include name="data/**"/>
<exclude name="data/de/uni-siegen/**"/>
<exclude name="data/com/ibm/xss4j-20030127/**/*"/>
</patternset>
<patternset id="srcFiles">
<!-- for some strange reasons, I can't use ${src} but must use src -->
<include name="src/**/*"/>
<include name="src/org/apache/xml/security/**/*.java"/>
<include name="src/org/apache/xml/security/**/*.xml"/>
<include name="src/org/apache/xml/security/**/*.html"/>
<include name="src/org/apache/xml/security/resource/**/*"/>
</patternset>
<patternset id="srcSamplesFiles">
<include name="src_samples/org/apache/xml/security/samples/**/*"/>
<include name="src_samples/org/apache/xml/security/samples/**/*.html"/>
</patternset>
<patternset id="srcUnitTestsFiles">
<include name="src_unitTests/org/apache/xml/security/test/**/*"/>
<include name="src_unitTests/org/apache/xml/security/test/**/*.html"/>
</patternset>
<property name="javadoc.packages" value=" org.apache.xml.security.Init, org.apache.xml.security.algorithms, org.apache.xml.security.c14n, org.apache.xml.security.encryption, org.apache.xml.security.exceptions, org.apache.xml.security.keys, org.apache.xml.security.keys.content, org.apache.xml.security.keys.content.keyvalues, org.apache.xml.security.keys.content.x509, org.apache.xml.security.keys.keyresolver, org.apache.xml.security.keys.storage, org.apache.xml.security.signature, org.apache.xml.security.transforms, org.apache.xml.security.transforms.params, org.apache.xml.security.utils, org.apache.xml.security.utils.resolver "/>
<echo message="-------------------------------------------------------------------"/>
<echo message="--------- ${product.Name} v${product.Version} [${year}] -----------"/>
<echo message="-------------------------------------------------------------------"/>
<echo message="Building with ${ant.version}"/>
<echo message="Java ${java.version} located at ${java.home} "/>
<echo message="-------------------------------------------------------------------"/>
</target>
<target depends="init" name="usage">
<echo message=" "/>
<echo message=" "/>
<echo message=" Build instructions "/>
<echo message="-------------------------------------------------------------------"/>
<echo message=" "/>
<echo message=" available targets are: "/>
<echo message=" "/>
<echo message=" compile --&gt; compiles everything "/>
<echo message=" compile.library --&gt; compiles the source code "/>
<echo message=" compile.samples --&gt; compiles the samples source code "/>
<echo message=" compile.tests --&gt; compiles the tests source code "/>
<echo message=" "/>
<echo message=" doc --&gt; generates the HTML documentation "/>
<echo message=" use Readme.html to come to the docu "/>
<echo message=" javadoc --&gt; generates the API documentation "/>
<echo message=" (needs Java &gt; 1.2) "/>
<echo message=" "/>
<echo message=" test --&gt; runs the defined JUnit tests "/>
<echo message=" testjar --&gt; runs the defined JUnit tests but runs on "/>
<echo message=" compiled jar files instead of the class "/>
<echo message=" files; this should be used if you have the "/>
<echo message=" binary-only distribution "/>
<echo message=" "/>
<echo message=" clean --&gt; cleans up all generated files and "/>
<echo message=" directories "/>
<echo message=" jar --&gt; creates the JAR file "/>
<echo message=" gump --&gt; includes javadoc, compile jar and test "/>
<echo message=" examples --&gt; List the commands to run some examples "/>
<echo message=" "/>
<echo message=" usage --&gt; provides help on using the build tool "/>
<echo message=" (default) "/>
<echo message=" "/>
<echo message=" See comments inside the build.xml file for more details. "/>
<echo message="-------------------------------------------------------------------"/>
<echo message=" "/>
</target>
<target depends="init, clean-testdata" description="Clean up all temporary build files" name="clean">
<delete dir="${build.dir}"/>
<delete dir="./bak"/>
<delete file="log.txt"/>
<delete>
<fileset dir="." includes="merlin*.html"/>
<fileset dir="." includes="merlin*.xml"/>
<fileset dir="." includes="signature.xml"/>
</delete>
</target>
<target depends="init" description="Clean up all temporary test vectors" name="clean-testdata">
<delete file="log.txt"/>
<delete>
<fileset dir="${dir.data}/interop/c14n" includes="**/c14n-*.apache.txt"/>
<fileset dir="${dir.data}/interop/c14n" includes="**/c14n-*.apache.html"/>
</delete>
</target>
<target depends="init" description="This target generates a first build directory and checks for some libraries" name="prepare">
<tstamp/>
<mkdir dir="${build.dir}"/>
<available classname="junit.framework.TestCase" property="junit.present">
<!-- check whether JUnit is available -->
<classpath refid="classpath.test"/>
</available>
<available classname="org.bouncycastle.jce.provider.BouncyCastleProvider" property="bcprov.present">
<!-- check whether BouncyCastle JCE is available -->
<classpath refid="classpath.library"/>
</available>
<available file="${jar.library}" property="xmlsec.jar.present"/>
<available classname="org.apache.xml.security.Init" property="xmlsec.build.present">
<classpath refid="classpath.library"/>
</available>
</target>
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<target depends="prepare" description="This target copies the Java sources and brands the version information" name="prepare-src">
<!-- create directories -->
<mkdir dir="${build.src}"/>
<mkdir dir="${build.classes}"/>
<!-- copy log4j.properties file so that it is in the classpath -->
<copy file="${dir.src}/org/apache/xml/security/resource/log4j.properties" tofile="${build.classes}/log4j.properties"/>
<!-- copy src files -->
<copy todir="${build.src}">
<fileset dir="${dir.src}" includes="org/**,ant/**"/>
</copy>
<mkdir dir="${build.manifest.dir}"/>
<copy file="./LICENSE" todir="${build.manifest.dir}"/>
<copy file="./NOTICE" todir="${build.manifest.dir}"/>
<!-- <copy file="./src/MANIFEST.MF"
tofile="${build.classes}/META-INF/MANIFEST.MF" />
<replace file="${build.classes}/META-INF/MANIFEST.MF"
token="@@VERSION@@" value="${product.version}" /> -->
<!-- substitute tokens as needed -->
<replace file="${build.src}/org/apache/xml/security/utils/Version.java" token="@@VERSION@@" value="${product.Name} ${product.Version}"/>
</target>
<target depends="prepare-src" description="Generates javadoc from all .java files; this is done on the &apos;branded&apos; files" name="javadoc">
<mkdir dir="${build.doc}"/>
<mkdir dir="${build.doc.html}"/>
<mkdir dir="${build.javadoc}"/>
<javadoc classpathref="classpath.test" destdir="${build.javadoc}" packagenames="${javadoc.packages}">
<!-- additionalparam="-breakiterator"-->
<sourcepath>
<pathelement location="${build.src}"/>
<pathelement location="${dir.src.unitTests}"/>
<pathelement location="${dir.src.samples}"/>
</sourcepath>
</javadoc>
</target>
<target depends="prepare" name="doc">
<!-- create directories -->
<mkdir dir="${build.doc}"/>
<mkdir dir="${build.doc.xml}"/>
<mkdir dir="${build.doc.html}"/>
<!-- copy xml files -->
<copy todir="${build.doc.xml}">
<fileset dir="${doc.xml}"/>
</copy>
<!-- unjar the stylebook software -->
<unjar dest="${build.doc.xml}" src="${lib.styleApache}"/>
<!-- substitute tokens as needed -->
<replace file="${build.doc.xml}/dtd/entities.ent" token="@@packagenamelong@@" value="${product.Name}"/>
<replace file="${build.doc.xml}/dtd/entities.ent" token="@@packagename@@" value="${product.name}"/>
<replace file="${build.doc.xml}/dtd/entities.ent" token="@@packageversion@@" value="${product.Version}"/>
<replace file="${build.doc.xml}/dtd/entities.ent" token="@@packagedistname@@" value="${product.Name}"/>
<replace file="${build.doc.xml}/sources/install.xml" token="@@jce.download@@" value="${jce.download}"/>
<replace file="${build.doc.xml}/sources/install.xml" token="@@lib.jce@@" value="${lib.jce}"/>
<replace file="${build.doc.xml}/sources/install.xml" token="@@jce.download.file@@" value="${jce.download.file}"/>
<!-- create the site -->
<stylebook book="${doc.book}" skindirectory="${build.doc.xml}" targetdirectory="${build.doc.html}">
<classpath>
<pathelement path="${lib.stylebook}"/>
<pathelement path="${lib.xerces.1}"/>
<pathelement path="${lib.xalan.1}"/>
</classpath>
</stylebook>
<!-- copy plain ASCII files -->
<copy todir="${build.doc.html}">
<fileset dir="${doc.xml}/sources" includes="**/*.txt"/>
</copy>
<!-- remove the patched XML sources -->
<delete dir="${build.doc.xml}"/>
</target>
<target description="Generates javadoc in Adobe (c) MakerInterchangeFormat (.mif) from all .java files; for Adobe FrameMaker" name="javadoc-pdf">
<property name="lib.doclet.mif" value="${dir.tools}/mifdoclet.jar"/>
<path id="classpath.doclet.mif">
<path refid="classpath.library"/>
<pathelement path="${lib.doclet.mif}"/>
</path>
<mkdir dir="${doc.pdf}"/>
<javadoc additionalparam="-book data/websigMiflet.xml -batch dzbatcher -print pdf" classpathref="classpath.doclet.mif" destdir="${doc.pdf}" doclet="com.sun.tools.doclets.mif.MIFDoclet" docletpath="${lib.doclet.mif}" packagenames="${javadoc.packages}" sourcepath="${dir.src}"/>
</target>
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- Aliases -->
<target depends="javadoc" name="javadocs"/>
<target depends="doc" name="docs"/>
<target depends="jar" name="jars"/>
<target depends="bindist" name="distbin"/>
<target depends="srcdist" name="distsrc"/>
<!-- Collections -->
<target depends="srcdist,bindist" name="dist"/>
<target depends="clean,javadoc,jar,test" description="Target for the gump run" name="gump"/>
<target depends="compile.library, compile.samples, compile.tests" description="compile everything" name="compile"/>
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<target depends="init" description="Updates the current source tree from CVS" name="update">
<cvspass cvsroot="${cvs.cvsRoot.anonymous}" password="anoncvs"/>
<cvs command="checkout" cvsRoot="${cvs.cvsRoot.anonymous}" dest=".." package="${cvs.package}"/>
</target>
<target depends="prepare" name="get-jce" unless="bcprov.present">
<get dest="${lib.jce}" src="${jce.download}" usetimestamp="true" verbose="true"/>
</target>
<target depends="get-jce" description="This target checks that the digest values of the JCE library are valid" name="check-bc">
<!-- when ant 1.5 becomes widely available, maybe the core task "checksum" can make this easier -->
<checksum file="${lib.jce}" property="${jce.download.md5}" algorithm="md5" verifyProperty="md5OK" />
<!--checksum file="${lib.jce}" property="${jce.download.sha1}" algorithm="sha" verifyProperty="sha1OK" / -->
</target>
<target depends="prepare-src, check-bc" name="compile.library">
<!-- Compile the branded java code from ${build.src} into ${build.classes} -->
<javac debug="${build.compile.debug}" destdir="${build.classes}" srcdir="${build.src}">
<classpath refid="classpath.library"/>
</javac>
<!-- Copy Property files -->
<copy todir="${build.classes}">
<fileset dir="${build.src}" includes="**/*.properties"/>
<fileset dir="${build.src}" includes="**/*.xml"/>
<fileset dir="${build.src}" includes="**/*.zip"/>
</copy>
</target>
<target depends="compile.library" if="junit.present" name="compile.tests">
<!-- Compile the java code from ${dir.src} into ${build.classes} -->
<javac debug="${build.compile.debug}" destdir="${build.classes}" srcdir="${dir.src.unitTests}">
<classpath refid="classpath.test"/>
</javac>
<!-- Copy Property files -->
<copy todir="${build.classes}">
<fileset dir="${dir.src.unitTests}" includes="**/*.properties"/>
<fileset dir="${dir.src.unitTests}" includes="**/*.xml"/>
<fileset dir="${dir.src.unitTests}" includes="**/*.zip"/>
</copy>
</target>
<target depends="compile.library" name="compile.samples">
<!-- Compile the java code from ${dir.src} into ${build.classes} -->
<javac debug="${build.compile.debug}" destdir="${build.classes}" srcdir="${dir.src.samples}">
<classpath refid="classpath.library"/>
</javac>
</target>
<target depends="compile.tests" description="Starts all Junit tests with optional Ant" if="junit.present" name="test">
<delete dir="${build.junit.xml}"/>
<delete dir="${build.junit.html}"/>
<mkdir dir="${build.junit.xml}"/>
<mkdir dir="${build.junit.html}"/>
<!-- The unit tests include so-called interoperability tests against
cryptographic values generated using software from other vendors.
This package includes many of these vectors, but not the ones from
the IBM alphaWorks XML Security Suite. They are not included because
IBM even has these signatures under copyright.
If you want to test against IBM, download xss4j from
http://www.alphaworks.ibm.com/tech/xmlsecuritysuite
and put the files into the
data/com/ibm/xss4j-20030127/
directory. If the file enveloped-rsa.sig is found in that directory,
IBM is 'magically' included in the test ;-))
-->
<available file="data/com/ibm/xss4j-20030127/enveloped-rsa.sig" property="ibm.available"/>
<junit filtertrace="true" fork="true" printsummary="on" failureproperty="build.test.failed">
<jvmarg value="-Djava.compiler=NONE"/>
<sysproperty key="basedir" value="${basedir}"/>
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<!-- Also put output to screen -->
<formatter type="plain" usefile="false"/>
<batchtest fork="yes" todir="${build.junit.xml}">
<fileset dir="${dir.src.unitTests}">
<include name="**/*Test*.java"/>
<include name="org/apache/xml/security/test/c14n/implementations/ExclusiveC14NInterop.java"/>
<exclude name="org/apache/xml/security/test/*Test*.java"/>
<exclude name="org/apache/xml/security/test/interop/InteropTest.java"/>
<exclude name="**/TestVectorResolver.java"/>
<exclude name="**/IBMTest.java"/>
</fileset>
</batchtest>
<test if="ibm.available" name="org.apache.xml.security.test.interop.IBMTest" todir="${build.junit.xml}"/>
</junit>
<junitreport todir="${build.junit.xml}">
<fileset dir="${build.junit.xml}">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${build.junit.html}"/>
</junitreport>
<fail if="build.test.failed" message="Unit Tests Failed"/>
</target>
<target depends="compile.tests" description="Runs exclusive c14n interop (Y1, Y2, Y3, Y4)" if="junit.present" name="test_exc_c14n">
<java classname="org.apache.xml.security.test.c14n.implementations.ExclusiveC14NInterop" failonerror="true" fork="yes" taskname="junit">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="compile.tests" description="Runs encryption interop and unit tests" if="junit.present" name="test_xenc">
<java classname="org.apache.xml.security.test.EncryptionTest" failonerror="true" fork="yes" taskname="junit">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="prepare,check-bc" description="Starts all JUnit test cases and uses the compiled JARs" if="xmlsec.build.present" name="testjar">
<java classname="junit.textui.TestRunner" failonerror="true" fork="yes" taskname="junit">
<arg value="org.apache.xml.security.test.AllTests"/>
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="compile" description="Creates the ${jar.library}, ${jar.samples} and ${jar.tests} JAR file in ${build.dir}" name="jar">
<manifest file="${jar.manifest}" mode="replace">
<attribute name="Built-By" value="${user.name}"/>
<section name="${product.shortname}">
<attribute name="Implementation-Title" value="${product.Name}"/>
<attribute name="Implementation-Version" value="${product.Version} ${TODAY}"/>
<attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
</section>
</manifest>
<jar basedir="${build.classes}" excludes="org/apache/xml/security/temp/**, org/apache/xml/security/samples/**, org/apache/xml/security/test/**" includes="**/LICENSE, **/NOTICE, org/apache/**, *.txt" jarfile="${build.dir}/${jar.library}" manifest="${jar.manifest}"/>
<jar basedir="${build.classes}" excludes="org/apache/xml/security/temp/**" includes="**/LICENSE, **/NOTICE, org/apache/xml/security/samples/**" jarfile="${build.dir}/${jar.samples}" manifest="${jar.manifest}"/>
<jar basedir="${build.classes}" excludes="org/apache/xml/security/temp/**" includes="**/LICENSE, **/NOTICE, org/apache/xml/security/test/**" jarfile="${build.dir}/${jar.tests}" manifest="${jar.manifest}"/>
<!-- compress="false" -->
</target>
<target depends="clean,prepare,test" description="Creates the source distribution" name="srcdist">
<mkdir dir="${build.srcdist}"/>
<copy todir="${build.srcdist}">
<fileset dir=".">
<patternset refid="distFiles"/>
<patternset refid="srcFiles"/>
<patternset refid="srcUnitTestsFiles"/>
<patternset refid="srcSamplesFiles"/>
<patternset refid="dataFiles"/>
<include name="${doc.xml}/**/*"/>
<include name="ant/**/*"/>
<exclude name="**/CVS/**"/>
</fileset>
</copy>
<mkdir description="create an empty libs so that people know where to put the 3rd party jars" dir="${build.srcdist}/libs"/>
<zip basedir="${build.srcdist}" zipfile="${build.dir}/${product.name}-src-${product_version}.zip"/>
</target>
<target depends="clean,compile,test,jar,doc,javadoc" description="Creates the binary distribution" name="bindist">
<mkdir dir="${build.bindist}"/>
<copy todir="${build.bindist}">
<fileset dir=".">
<patternset refid="distFiles"/>
<patternset refid="dataFiles"/>
<patternset refid="srcSamplesFiles"/>
<include name="ant/**/*"/>
<exclude name="**/CVS/**"/>
</fileset>
</copy>
<mkdir dir="${build.bindist}/${dir.libs}"/>
<copy file="${lib.junit}" todir="${build.bindist}/${dir.libs}"/>
<!--
<copy file="${lib.log4j}" todir="${build.bindist}/${dir.libs}"/>
<copy file="${lib.logging}" todir="${build.bindist}/${dir.libs}"/>
-->
<copy file="${lib.styleApache}" todir="${build.bindist}/${dir.libs}"/>
<copy file="${lib.stylebook}" todir="${build.bindist}/${dir.libs}"/>
<copy file="${lib.xerces.1}" todir="${build.bindist}/${dir.libs}"/>
<copy file="${lib.xerces.2}" todir="${build.bindist}/${dir.libs}"/>
<copy file="${lib.xalan.1}" todir="${build.bindist}/${dir.libs}"/>
<copy file="${lib.xalan.2}" todir="${build.bindist}/${dir.libs}"/>
<mkdir dir="${build.bindist}/${build.dir}"/>
<copy description="copy xmlsec JARs from ./build to ./build/${build.bindist}/build/" file="${build.dir}/${jar.library}" todir="${build.bindist}/${build.dir}"/>
<copy description="copy xmlsec JARs from ./build to ./build/${build.bindist}/build/" file="${build.dir}/${jar.samples}" todir="${build.bindist}/${build.dir}"/>
<copy description="copy xmlsec JARs from ./build to ./build/${build.bindist}/build/" file="${build.dir}/${jar.tests}" todir="${build.bindist}/${build.dir}"/>
<mkdir dir="${build.bindist}/${build.doc}"/>
<mkdir dir="${build.bindist}/${build.doc.html}"/>
<copy todir="${build.bindist}/${build.doc.html}">
<fileset dir="${build.doc.html}"/>
</copy>
<zip basedir="${build.bindist}" zipfile="${build.dir}/${product.name}-bin-${product_version}.zip"/>
</target>
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<!-- #################################################################### -->
<target name="examples">
<echo message=" "/>
<echo message=" Running examples instructions "/>
<echo message="-------------------------------------------------------------------"/>
<echo message=" "/>
<echo message=" available targets are: "/>
<echo message=" "/>
<echo message=" generate-keys --&gt; generates new keys to be used by other"/>
<echo message=" examples "/>
<echo message=" encrypt --&gt; runs ..samples.encryption.Encryptor"/>
<echo message=" creates encryptedInfo.xml and kek files"/>
<echo message=" decrypt --&gt; runs ..samples.encryption.Decryptor"/>
<echo message=" decrypts encrypted data in "/>
<echo message=" encryptedInfo.xml using the key in kek"/>
<echo message=" encryptAndDecrypt --&gt; runs encrypt and then decrypt "/>
<echo message=" sign --&gt; runs ..samples.signature.CreateSignature"/>
<echo message=" creates a signature.xml file "/>
<echo message=" verify --&gt; will verify a signature.xml file that&apos;s"/>
<echo message=" in the root directory. Main use after sign"/>
<echo message=" signAndVerify --&gt; runs sign and then verify"/>
<echo message=" mega-sample --&gt; runs all big samples "/>
<echo message=" "/>
<echo message=" See target usage for building instructions "/>
</target>
<target name="generate-keys">
<genkey alias="test2" keyalg="DSA" keypass="xmlsecurity" keystore="data/keystoreAnt.jks" storepass="xmlsecurity" validity="2000">
<dname>
<param name="CN" value="Christian Geuer-Pollmann"/>
<param name="OU" value="FB12NUE"/>
<param name="O" value="University of Siegen"/>
<param name="C" value="DE"/>
</dname>
</genkey>
</target>
<target depends="compile" description="encrypts xml data" name="encrypt">
<delete file="encryptedInfo.xml"/>
<delete file="kek"/>
<java classname="org.apache.xml.security.samples.encryption.Encrypter" failonerror="true" fork="yes" taskname="Encrypter">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="compile" description="decrypts xml data" name="decrypt">
<delete file="decryptedInfo.xml"/>
<java classname="org.apache.xml.security.samples.encryption.Decrypter" failonerror="true" fork="yes" taskname="Decrypter">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="encrypt, decrypt" description="encrypts and decrypts an element's contents" name="encryptAndDecrypt"/>
<target depends="compile" description="creates a signature" name="sign">
<delete file="signature.xml"/>
<java classname="org.apache.xml.security.samples.signature.CreateSignature" failonerror="true" fork="yes" taskname="CreateSignature">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="compile" description="verifies a signature" name="verify">
<java classname="org.apache.xml.security.samples.signature.VerifySignature" failonerror="true" fork="yes" taskname="VerifySignature">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="axis-sign, axis-verify" name="AxisSignAndVerify"/>
<target depends="compile.samples" description="axis sign sample" name="axis-sign">
<echo message="Running org.apache.xml.security.samples.AxisSigner"/>
<java classname="org.apache.xml.security.samples.AxisSigner" failonerror="true" fork="yes" taskname="SignAxis">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="compile.samples" description="axis verify sample" name="axis-verify">
<echo message="Running org.apache.xml.security.samples.AxisVerifier"/>
<java classname="org.apache.xml.security.samples.AxisVerifier" failonerror="true" fork="yes" taskname="VerifyAxis">
<classpath refid="classpath.test"/>
</java>
</target>
<target depends="sign, verify" description="creates and verifies a signature" name="signAndVerify"/>
<target depends="compile.samples" name="mega-sample">
<echo message="Now I&apos;ll try to verify merlins example fifteen-HMAC"/>
<java classname="org.apache.xml.security.samples.signature.VerifyMerlinsExamplesFifteen" fork="yes">
<classpath refid="classpath.library"/>
</java>
<echo message=""/>
<echo message="Now I&apos;ll try to verify merlins example sixteen"/>
<java classname="org.apache.xml.security.samples.signature.VerifyMerlinsExamplesSixteen" fork="yes">
<classpath refid="classpath.library"/>
</java>
<echo message=""/>
<echo message="Now I&apos;ll create a signature in signature.xml and verify it"/>
<java classname="org.apache.xml.security.samples.signature.CreateSignature" fork="yes">
<classpath refid="classpath.library"/>
</java>
<java classname="org.apache.xml.security.samples.signature.VerifySignature" fork="yes">
<classpath refid="classpath.library"/>
</java>
<echo message=""/>
<echo message="Now I&apos;ll create a signature like merlin-16 but without XSLT"/>
<java classname="org.apache.xml.security.samples.signature.CreateMerlinsExampleSixteen" fork="yes">
<classpath refid="classpath.library"/>
</java>
<echo message=""/>
<echo message="Please look into log.txt, merlinsSixteenRecreated.xml and signature.xml"/>
</target>
<target depends="compile.samples" name="createEnvelopingSignature">
<java classname="org.apache.xml.security.samples.signature.CreateEnvelopingSignature" fork="yes">
<classpath refid="classpath.library"/>
</java>
</target>
</project>