<?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" />

	<!-- 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" />
    </path>
    <path id="id.classpath.samples" >
        <path refid="id.classpath" />
        <pathelement location="${dir.build.bin}" />
        <pathelement location="${dir.build.samples}" />
    </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"/>
    </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" />
    </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"
            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">
    	<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">
		<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 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"/>
	</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.bindist,build.srcdist" />

	<target name="build.srcdist" 
		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.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"/>
		
		<mkdir dir="${dir.build.bindist}/bin"/>
		<copy description="copy xmlsec JAR" 
			file="${jar.library}" 
			todir="${dir.build.bindist}/bin"/>
		<copy description="copy xmlsec sample JAR" 
			file="${jar.samples}" 
			todir="${dir.build.bindist}/bin"/>
		<copy description="copy xmlsec test JAR" 
			file="${jar.tests}" 
			todir="${dir.build.bindist}/bin"/>

		<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">
		<!-- Call Forrest externally -->
		<exec executable="forrest"
			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="build.jar"
		depends="build.src,build.test,build.samples">

		<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>
		
		<!-- 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.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:
-->
