<?xml version="1.0"?>
<project name="Apache XML Security" default="help" basedir=".">
    <!-- P R O P E R T Y    F I L E S -->
    <property file="build.properties" />
    <property file="provider.properties" />
    <property file="proxy.properties" />




    <!-- G L O B A L    P R O P E R T I E S -->
	<!-- Product name and version properties -->
    <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."/>


    <!-- directory properties -->
    <property name="dir.src"            value="${basedir}/src" />
    <property name="dir.src.test"       value="${basedir}/src_unitTests" />
    <property name="dir.src.samples"    value="${basedir}/src_samples" />
    <property name="dir.libs"           value="${basedir}/libs" />
    <property name="dir.data"           value="${basedir}/data" />
	<property name="dir.docs"           value="${basedir}/doc/site" />
    <property name="dir.build"          value="${basedir}/build" />
    <property name="dir.build.bin"      value="${dir.build}/classes" />
    <property name="dir.build.libs"     value="${dir.build}/libs" />
    <property name="dir.build.test"     value="${dir.build}/test" />
    <property name="dir.build.samples"  value="${dir.build}/samples" />
    <property name="dir.build.docs"     value="${dir.build}/docs" />
    <property name="dir.build.docs.xml" value="${dir.build.docs}/xml" />
    <property name="dir.build.docs.html" value="${dir.build.docs}/html" />
    <property name="dir.build.src"      value="${dir.build}/src" />
    <property name="dir.build.dist"     value="${dir.build}/dist" />
    <property name="dir.build.srcdist"  value="${dir.build.dist}/src/${product.name}-${product_version}"/>
    <property name="dir.build.bindist"  value="${dir.build.dist}/bin/${product.name}-${product_version}"/>
    <property name="dir.build.junit.xml"  value="${dir.build.docs.xml}/junit" />
    <property name="dir.build.junit.html" value="${dir.build.docs.html}/junit" />
    <property name="dir.build.javadoc"  value="${dir.build.docs.html}/javadoc" />
    <property name="dir.build.coverage" value="${dir.build.docs.html}/coverage" />
    <property name="dir.manifest"       value="${dir.build.bin}/META-INF"/>

    <!-- library properties -->
    <property name="lib.logging"        value="${dir.libs}/commons-logging.jar" />
    <property name="lib.logging.api"    value="${dir.libs}/commons-logging-api.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" />
    <property name="lib.jce"            value="${dir.libs}/${jce.provider.prefix}-${jce.provider.jar}" />
    <property name="lib.style"          value="${dir.libs}/style-apachexml.jar" />
    <property name="lib.stylebook"      value="${dir.libs}/stylebook-1.0-b3_xalan-2.jar" />
    <property name="lib.junit"			value="${dir.libs}/junit.jar" />
    <property name="lib.clover"			value="${dir.libs}/clover.jar" />

	<!-- XML Security libraries (for bin distribution) -->
	<property name="lib.xmlsec"         value="${dir.libs}/xmlsec.jar" />
	<property name="lib.xmlsec.samples" value="${dir.libs}/xmlsecSamples.jar"/>
	<property name="lib.xmlsec.tests"   value="${dir.libs}/xmlsecTests.jar" />

	<!-- JAR properties -->
	<property name="jar.library"        value="${dir.build}/xmlsec.jar" />
	<property name="jar.samples"        value="${dir.build}/xmlsecSamples.jar" />
	<property name="jar.tests"          value="${dir.build}/xmlsecTests.jar" />
	<property name="jar.manifest"       value="${dir.manifest}/MANIFEST.MF"/>
    
    <!-- javadoc properties -->
    <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 "/>



    <!-- build variable properties -->


	<!-- T A S K D E F S -->
	<taskdef resource="clovertasks"/>
	
	

    <!-- C O N D I T I O N A L    P R O P E R T I E S -->
    <target name="do.build.src" >
        <!-- global properties applies here -->
    </target >




    <!-- P A T H S -->
    <path id="id.classpath.xalan" >
        <pathelement location="${lib.xalan.1}" />
        <pathelement location="${lib.xalan.2}" />
    </path >
    <path id="id.classpath.xerces" >
        <pathelement location="${lib.xerces.1}" />
        <pathelement location="${lib.xerces.2}" />
    </path >
    <path id="id.classpath.logging" >
        <pathelement location="${lib.logging}" />
        <pathelement location="${lib.logging.api}" />
    </path >
    <path id="id.classpath.common" >
        <path refid="id.classpath.xalan" />
        <path refid="id.classpath.xerces" />
        <path refid="id.classpath.logging" />
    </path >
    <path id="id.classpath.crypt" >
        <pathelement location="${lib.jce}" />
    </path >
    <path id="id.classpath.coverage" >
    	<pathelement location="${lib.clover}" />
    </path >
    <path id="id.classpath.sig" >
    </path >
    <path id="id.classpath" >
        <path refid="id.classpath.common" />
        <path refid="id.classpath.crypt" />
        <path refid="id.classpath.sig" />
        <!--path refid="id.classpath.coverage" /-->
    </path >
    <path id="id.classpath.test" >
        <path refid="id.classpath" />
		<pathelement path="${lib.junit}"/>
        <pathelement location="${dir.build.bin}" />
        <pathelement location="${dir.build.test}" />
        <path refid="id.classpath.coverage" />
        <pathelement location="${lib.xmlsec}" />
        <pathelement location="${lib.xmlsec.samples}" />
        <pathelement location="${lib.xmlsec.tests}" />
    </path>
    <path id="id.classpath.samples" >
        <path refid="id.classpath" />
        <pathelement location="${dir.build.bin}" />
        <pathelement location="${dir.build.samples}" />
        <pathelement location="${lib.xmlsec}" />
        <pathelement location="${lib.xmlsec.samples}" />
        <pathelement location="${lib.xmlsec.tests}" />
    </path>


	<!-- P A T T E R N S E T S -->
    <patternset id="id.patternset.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"/>
		<include name="provider.properties"/>
		<include name="proxy.properties"/>
    </patternset>

    <patternset id="id.patternset.dataFiles">
		<include name="data/**"/>
		<exclude name="data/de/uni-siegen/**"/>
		<exclude name="data/com/ibm/xss4j-20030127/**/*"/>
    </patternset>

    <patternset id="id.patternset.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="id.patternset.srcSamplesFiles">
		<include name="src_samples/org/apache/xml/security/samples/**/*"/>
		<include name="src_samples/org/apache/xml/security/samples/**/*.html"/>
    </patternset>
	
    <patternset id="id.patternset.srcUnitTestsFiles">
		<include name="src_unitTests/org/apache/xml/security/test/**/*"/>
		<include name="src_unitTests/org/apache/xml/security/test/**/*.html"/>
    </patternset>

    <!-- T A R G E T S -->

	<!-- Welcome screen -->

	<target name="init">
		<echo message=""/>
		<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="-------------------------------------------------------------------"/>
		<echo message=""/>
	</target>

    <!-- environment targets -->
    <!-- set up -->
    <target name="env.mk.dirs" depends="init" unless="has.dirs" >
        <mkdir dir="${dir.build}" />
        <mkdir dir="${dir.build.bin}" />
        <mkdir dir="${dir.build.docs}" />
        <mkdir dir="${dir.build.test}" />
        <mkdir dir="${dir.build.libs}" />
        <mkdir dir="${dir.build.dist}" />
        <mkdir dir="${dir.build.samples}" />
        <property name="has.dirs" value="true" />
    </target >

    <!-- tear down -->
    <target depends="init" name="env.rm.dirs" >
        <delete dir="${dir.build}" />
    </target >
    
    <target depends="init" name="env.rm.files" >
		<delete file="signature.xml"/>
		<delete file="axisSignature.xml"/>
		<delete file="encryptedInfo.xml"/>
		<delete file="decryptedInfo.xml"/>
		<delete file="kek"/>
		<delete>
			<fileset dir="." includes="merlin16*.html,merlins*.xml" />
		</delete>
    </target >

    <target depends="init" name="with.clover" >
    	<clover-setup initstring="clover-db/coverage.db" >
    		<fileset dir="${dir.src}" >
		  		<include name="**/*.java" />
		  		<exclude name="**/*Exception.java" />
			</fileset >
     	</clover-setup >
    </target >

    <!-- check targets -->
    <target depends="init" name="do.check.libs.jce" >
        <condition property="has.jce.provider" >
            <available file="${lib.jce}" />
        </condition >
    </target >

    <target name="do.check.libs"
            depends="do.check.libs.jce"
            unless="has.jce.provider" >
        <setproxy proxyhost="${proxy.host}"
                  proxyport="${proxy.port}" />
        <get src="${jce.provider.source}/${jce.provider.jar}"
             dest="${lib.jce}"
             verbose="true" />
        <checksum file="${lib.jce}"
                  algorithm="${checksum.algorithm}"
                  property="${checksum.value}"
                  verifyproperty="jce.checksum.ok" />
		<property name="has.jce.provider" value="true"/>
    </target >

	<target name="do.check.forrest">
		<property environment="env"/>
		<condition property="has.forrest">
			<or>
				<available filepath="${env.PATH}" file="forrest" />
				<available filepath="${env.PATH}" file="forrest.bat" />
			</or>
		</condition>
	</target>

	<target name="do.check.bindist">
		<condition property="is.bin.dist">
			<and>
				<available file="${lib.xmlsec}" />
				<available file="${lib.xmlsec.samples}" />
				<available file="${lib.xmlsec.tests}" />
				<not>
					<available type="dir" file="src" />
				</not>
			</and>
		</condition>
	</target>


    <!-- B U I L D  T A R G E T S -->
    <!-- source -->
    <target name="build.src"
            depends="do.check.libs,do.build.src,env.mk.dirs,do.check.bindist"
			unless="is.bin.dist"
            if="has.jce.provider" >
        <javac srcdir="${dir.src}"
               destdir="${dir.build.bin}" >
            <classpath refid="id.classpath" />
            <include name="**/org/apache/xml/security/**/*.java" />
        </javac >

        <copy todir="${dir.build.bin}" >
            <fileset dir="${dir.src}"
                     includes="**/org/apache/xml/security/resource/*,
                               **/org/apache/xml/security/resource/schema/*"
                     excludes="**/org/apache/xml/security/resource/CVS,
                               **/org/apache/xml/security/resource/schema/CVS" />
        </copy >
    </target >
    
    <!-- tests -->
    <target name="build.test"
    		depends="build.src"
			unless="is.bin.dist">
    	<javac srcdir="${dir.src.test}"
               destdir="${dir.build.test}">
        	<classpath refid="id.classpath.test" />
        	<include name="**/org/apache/xml/security/**/*.java" />
        </javac>
        <copy todir="${dir.build.test}">
	      	<fileset dir="${dir.src.test}" includes="**/*.properties"/>
      		<fileset dir="${dir.src.test}" includes="**/*.xml"/>
      		<fileset dir="${dir.src.test}" includes="**/*.zip"/>
    	</copy>
    </target>

	<!-- samples -->
	<target name="build.samples"
			depends="build.src"
			unless="is.bin.dist">
		<javac srcdir="${dir.src.samples}"
			   destdir="${dir.build.samples}"
			   debug="${build.compile.debug}">
			<classpath refid="id.classpath.samples"/>
		</javac>
	</target>



	<!-- T E S T  T A R G E T S -->  
	<!-- big test -->
	<target name="test"
			depends="build.test"
			description="Starts all Junit tests">
	    <delete dir="${dir.build.junit.xml}"/>
	    <delete dir="${dir.build.junit.html}"/>
	    <mkdir dir="${dir.build.junit.xml}"/>
	    <mkdir dir="${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="id.classpath.test"/>
	       <formatter type="xml"/>
	       <!-- Also put output to screen -->
	       <formatter type="plain" usefile="false"/>
	       <batchtest fork="yes" todir="${dir.build.junit.xml}">
	         <fileset dir="${dir.src.test}">
	           <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="${dir.build.junit.xml}"/>
	    </junit>
	    <junitreport todir="${dir.build.junit.xml}">
	      <fileset dir="${dir.build.junit.xml}">
	        <include name="TEST-*.xml"/>
	      </fileset>
	      <report format="frames" todir="${dir.build.junit.html}"/>
	    </junitreport>
	    <fail if="build.test.failed" message="Unit Tests Failed"/>
	</target>

	
	<!-- Test exclusive c14n -->
    <target name="test_exc_c14n"
    		depends="build.test"
    		description="Runs exclusive c14n interop (Y1, Y2, Y3, Y4)">
       	<java classname="org.apache.xml.security.test.c14n.implementations.ExclusiveC14NInterop" 
			  failonerror="true" 
			  fork="yes" 
			  taskname="junit">
          	<classpath refid="id.classpath.test"/>
       	</java>
    </target>

	<!-- Test XML Encryption -->
    <target name="test_xenc"
    		depends="build.test"
    		description="Runs encryption interop and unit tests">
		<java classname="org.apache.xml.security.test.EncryptionTest" 
			  failonerror="true" 
			  fork="yes" 
			  taskname="junit">
			<classpath refid="id.classpath.test"/>
		</java>
    </target>



	<!-- S A M P L E S  T A R G E T S -->
    <!-- XML Encryption Samples -->
    <target name="encrypt"
			depends="build.samples"
			description="encrypts xml data">
		<delete file="encryptedInfo.xml"/>
		<delete file="kek"/>
		<java classname="org.apache.xml.security.samples.encryption.Encrypter" 
			  failonerror="true" 
			  fork="yes" 
			  taskname="Encrypter">
			<classpath refid="id.classpath.samples"/>
		</java>
	</target>

	<target name="decrypt"
			depends="build.samples" 
			description="decrypts xml data">
		<delete file="decryptedInfo.xml"/>
		<java classname="org.apache.xml.security.samples.encryption.Decrypter" 
			  failonerror="true" 
			  fork="yes" 
			  taskname="Decrypter">
			<classpath refid="id.classpath.samples"/>
		</java>
	</target>

	<target name="encryptAndDecrypt"
			depends="encrypt, decrypt" 
			description="encrypts and decrypts an element's contents" />


	<!-- Signature Samples -->

	<target name="sample.generate-keys">
		<genkey alias="test2" keyalg="DSA" keypass="xmlsecurity" keystore="data/keystoreAnt.jks" storepass="xmlsecurity" validity="2005">
			<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 name="sign"
			depends="build.samples" 
			description="creates a signature" >
		<delete file="signature.xml"/>
		<java classname="org.apache.xml.security.samples.signature.CreateSignature" 
			  failonerror="true" 
			  fork="yes" 
			  taskname="CreateSignature">
			<classpath refid="id.classpath.samples"/>
		</java>
	</target>

	<target name="verify" 
			depends="build.samples" 
			description="verifies a signature">
		<java classname="org.apache.xml.security.samples.signature.VerifySignature" 
			  failonerror="true" 
			  fork="yes" 
			  taskname="VerifySignature">
			<classpath refid="id.classpath.samples"/>
		</java>
	</target>
	
	<target name="signAndVerify"
			depends="sign, verify" 
			description="creates and verifies a signature" />

	<!-- Axis Signature Samples -->


	<target name="axis-sign"
			depends="build.samples" 
			description="axis sign sample">
		<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="id.classpath.samples"/>
		</java>
	</target>

	<target name="axis-verify"
			depends="build.samples" 
			description="axis verify sample">
		<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="id.classpath.samples"/>
		</java>
	</target>

	<target depends="axis-sign, axis-verify" name="AxisSignAndVerify"/>

	<!-- Mega Samples -->
	<target name="mega-sample" 
			depends="build.samples">
		<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="id.classpath.samples"/>
		</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="id.classpath.samples"/>
		</java>

		<echo message=""/>
		<echo message="Now I&apos;ll try to verify merlins example twenty three"/>
		<java classname="org.apache.xml.security.samples.signature.VerifyMerlinsExamplesTwentyThree" 
			  fork="yes">
			<classpath refid="id.classpath.samples"/>
		</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="id.classpath.samples"/>
		</java>
		<java classname="org.apache.xml.security.samples.signature.VerifySignature" 
			  fork="yes">
			<classpath refid="id.classpath.samples"/>
		</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="id.classpath.samples"/>
		</java>

		<echo message=""/>
		<echo message="Please look into log.txt, merlinsSixteenRecreated.xml and signature.xml"/>


		<echo message=""/>
		<echo message="Now I&apos;ll create a signature like merlin-23 but without XSLT"/>
		<java classname="org.apache.xml.security.samples.signature.CreateMerlinsExampleTwentyThree" 
			  fork="yes">
			<classpath refid="id.classpath.samples"/>
		</java>

		<echo message=""/>
		<echo message="Please look into log.txt, merlinsTwentyThreeRecreated.xml and signature.xml"/>
	</target>

	<target name="createEnvelope" 
			depends="build.samples">
		<java classname="org.apache.xml.security.samples.signature.CreateEnvelopingSignature" 
			  fork="yes">
			<classpath refid="id.classpath.samples"/>
		</java>
	</target>

	
	<!-- D I S T R I B U T I O N  T A R G E T S -->
    <!-- distribution targets -->

    <target name="build.dist"       
		depends="build.srcdist,build.bindist" />

	<target name="build.srcdist" 
			depends="clean"
		description="Creates the source distribution" >
		
		<mkdir dir="${dir.build.srcdist}"/>

		<copy todir="${dir.build.srcdist}">
			<fileset dir=".">
				<patternset refid="id.patternset.distFiles"/>
				<patternset refid="id.patternset.srcFiles"/>
				<patternset refid="id.patternset.srcUnitTestsFiles"/>
				<patternset refid="id.patternset.srcSamplesFiles"/>
				<patternset refid="id.patternset.dataFiles"/>
				
				<include name="ant/**/*"/>
				<exclude name="**/CVS/**"/>
			</fileset>
		</copy>

		<mkdir description="create an empty libs dir"
			dir="${dir.build.srcdist}/libs"/>
		
		<zip basedir="${dir.build.dist}/src" 
			zipfile="${dir.build}/${product.name}-src-${product_version}.zip"/>
	</target>

	<target name="build.bindist"
		depends="clean,build.src,build.jar,build.docs,build.xdocs" 
		description="Creates the binary distribution">

		<mkdir dir="${dir.build.bindist}"/>

		<copy todir="${dir.build.bindist}">
			<fileset dir=".">
				<patternset refid="id.patternset.distFiles"/>
				<patternset refid="id.patternset.dataFiles"/>
				<patternset refid="id.patternset.srcUnitTestsFiles"/>
				<patternset refid="id.patternset.srcSamplesFiles"/>
				
				<include name="ant/**/*"/>
				<exclude name="**/CVS/**"/>
			</fileset>
		</copy>

		<mkdir dir="${dir.build.bindist}/libs"/>

		<copy file="${lib.stylebook}" 
			todir="${dir.build.bindist}/libs"/>
		<copy file="${lib.stylebook}" 
			todir="${dir.build.bindist}/libs"/>
		<copy file="${lib.xerces.1}" 
			todir="${dir.build.bindist}/libs"/>
		<copy file="${lib.xerces.2}" 
			todir="${dir.build.bindist}/libs"/>
		<copy file="${lib.xalan.1}" 
			todir="${dir.build.bindist}/libs"/>
		<copy file="${lib.xalan.2}" 
			todir="${dir.build.bindist}/libs"/>
		<copy file="${lib.logging}" 
			todir="${dir.build.bindist}/libs"/>
		<copy file="${lib.logging.api}" 
			todir="${dir.build.bindist}/libs"/>
		
		<copy description="copy xmlsec JAR" 
			file="${jar.library}" 
			todir="${dir.build.bindist}/libs"/>
		<copy description="copy xmlsec sample JAR" 
			file="${jar.samples}" 
			todir="${dir.build.bindist}/libs"/>
		<copy description="copy xmlsec test JAR" 
			file="${jar.tests}" 
			todir="${dir.build.bindist}/libs"/>

		<mkdir dir="${dir.build.bindist}/doc"/>
		<copy todir="${dir.build.bindist}/doc">
			<fileset dir="${dir.docs}/build/site"/>
		</copy>
		<mkdir dir="${dir.build.bindist}/doc/Java/api" />
		<copy todir="${dir.build.bindist}/doc/Java/api">
			<fileset dir="${dir.build.docs.html}/javadoc"/>
		</copy>

		<zip basedir="${dir.build.dist}/bin" 
			zipfile="${dir.build}/${product.name}-bin-${product_version}.zip"/>
	</target>

	
	<!-- M I S C E L A N E O U S  T A R G E T S -->

    <!-- documentation -->
    <target name="build.docs">
		<mkdir dir="${dir.build.javadoc}"/>
		<javadoc classpathref="id.classpath"
				 destdir="${dir.build.javadoc}"
				 packagenames="${javadoc.packages}">
        	<sourcepath>
          		<pathelement location="${dir.src}"/>
	        </sourcepath>
    	</javadoc>
	</target>

	<target name="build.xdocs"
			depends="do.check.forrest"
			if="has.forrest">
		<!-- Call Forrest externally -->
		<exec executable="forrest"
			  os="Linux"
			  dir="${dir.docs}" />
		<exec executable="forrest.bat"
			  os="Windows"
			  dir="${dir.docs}" />
    </target>
    
	<target name="clover.report.html" depends="with.clover">
		<clover-report>
      		<current outfile="${dir.build.coverage}"
      				 title="Apache XML-Security coverage">
      			<fileset dir="${dir.src}">
			  		<include name="**/*.java"/>
			  		<exclude name="**/*Exception.java" />
				</fileset>
         		<format type="html"/> 
      		</current>	 
   		</clover-report>
	</target>

    <!-- jars -->
	<target name="manifest">

		<mkdir dir="${dir.manifest}"/>

		<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>

	</target>

	<target name="build.jar"
		depends="manifest,build.src,build.test,build.samples">

		<!-- Main Library -->
		<jar basedir="${dir.build.bin}" 
			excludes="org/apache/xml/security/temp/**"
			includes="**/LICENSE, **/NOTICE, org/apache/**, *.txt" 
			jarfile="${jar.library}" 
			manifest="${jar.manifest}"/>

		<!-- Samples -->
		<jar basedir="${dir.build.samples}" 
			excludes="org/apache/xml/security/temp/**" 
			includes="**/LICENSE, **/NOTICE, org/apache/**" 
			jarfile="${jar.samples}" 
			manifest="${jar.manifest}"/>
		
		<!-- Tests -->
		<jar basedir="${dir.build.test}" 
			excludes="org/apache/xml/security/temp/**" 
			includes="**/LICENSE, **/NOTICE, org/apache/**"
			jarfile="${jar.tests}" 
			manifest="${jar.manifest}"/>

	</target>

	<target name="build.src.jar"
		depends="manifest,build.src">

		<jar basedir="${dir.build.bin}" 
			excludes="org/apache/xml/security/temp/**"
			includes="**/LICENSE, **/NOTICE, org/apache/**, *.txt" 
			jarfile="${jar.library}" 
			manifest="${jar.manifest}"/>

	</target>

<!--
    <target name="build.jar"
            depends="env.mk.dirs" >
        <jar destfile="${dir.build.dist}/xml-security.jar"
             basedir="${dir.build.bin}" >
        </jar >
    </target >
-->
    <!-- archive targets -->
    <target name="build.arch"
            depends="env.mk.dirs" >
    </target >

    <!-- aliases -->
    <target name="build.all"        depends="env.mk.dirs,build.src,build.docs,build.test,build.samples,build.jar,build.arch" />

    <target name="compile"          depends="build.src" />
    <target name="docs"             depends="build.docs" />
    <target name="xdocs"            depends="build.xdocs" />
    <target name="javadoc"          depends="build.docs" />
    <target name="jar"              depends="build.jar" />
    <target name="dist"             depends="build.dist" />
    <target name="clean"            depends="env.rm.dirs,env.rm.files"/>
    <target name="gump"				depends="clean, docs, test"/>
    <target name="clover"			depends="clean, with.clover, test, clover.report.html" />

    <!-- maintenance targets -->

    <!-- help targets -->
    <target depends="init" name="help" >
        <echo message="synopsis: ant [target]" />
        <echo message="targets:" />
        <echo message="compile  - builds xml-security source" />
        <echo message="docs     - creates java documentation" />
        <echo message="xdocs    - creates website" />
        <echo message="jar      - creates a jar file, containing the built source" />
        <echo message="dist     - creates a distribution" />
        <echo message="           (see ant help.dist for more information)" />
        <echo message="clean    - resets the build environment" />
        <echo message="test     - performs a series of tests" />
        <echo message="           (see ant help.test for more information)" />
        <echo message="help     - displays this help message (default)" />
        <echo message="config   - optional configuration information" />
        <echo message="           (see ant help.config for more information)" />
        <echo message=""/>
        <echo message="See also help.samples for help on building samples"/>
    </target >
    <target depends="init" name="help.dist" >
        <echo message="dist:" />
        <echo message="this target will:" />
        <echo message="1.  build the source files," />
        <echo message="2.  create the appropriate java documentation," />
        <echo message="3.  create distribution jars," />
        <echo message="4.  copy the license, copies source and" />
        <echo message="5.  creates distribution archives" />
    </target >

    <target depends="init" name="help.test" >
        <echo message="test			- runs all unit and interop tests" />
        <echo message="test_exc_c14 - runs the exclusive c14 tests" />
        <echo message="test_xenc	- does all encryption related tests" />
        <echo message="clover		- generates clover coverage reports" />
    </target >

	<target depends="init" name="help.samples" >
		<echo message=""/>
		<echo message="------------- Signature Samples ----------------"/>
		<echo message=""/>
		<echo message="generate-keys      - generates new keys to be used by other"/>
		<echo message="                     examples"/>
		<echo message="sign               - runs CreateSignature sample"/>
		<echo message="verify             - runs signature verification sample"/>
		<echo message="signAndVerify      - runs sign and then verify"/>
		<echo message="axis-sign          - runs axis signing sample"/>
		<echo message="axis-verify        - runs axis verification sample"/>
		<echo message="AxisSignAndVerify  - runs axis sign and verify"/>
		<echo message="createEnvelope     - runs enveloping signature sample"/>
		<echo message="mega-sample        - runs all big signature samples"/>
		<echo message=""/>
		<echo message="------------- Encryption Samples ----------------"/>
		<echo message=""/>
		<echo message="encrypt            - run encryption sample" />
		<echo message="decrypt            - run decryption sample" />
		<echo message="encryptAndDecrypt  - run encryption sample" />
	</target>
		
    <target depends="init" name="help.config" >
        <echo message="1.  to configure the provider setings," />
        <echo message="    see the contents of provider.properties" />
        <echo message="2.  to configure the proxy setings," />
        <echo message="    see the contents of proxy.properties" />
    </target >
</project>
<!-- Keep this comment at the end of the file
Local variables:
mode: xml
sgml-omittag:nil
sgml-shorttag:nil
sgml-namecase-general:nil
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:4
sgml-indent-data:t
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog" "/usr/share/xemacs21/xemacs-packages/etc/psgml-dtds/CATALOG")
sgml-local-ecat-files:("ECAT" "~/sgml/ECAT" "/usr/lib/sgml/ECAT" "/usr/local/lib/sgml/ECAT")
End:
-->
