<?xml version="1.0"?>

<project name="xmldsig" default="help" basedir=".">

	<property file="build.properties"/>

	<property name="debug" value="on"/>
	<property name="src.dir" value="src"/>
	<property name="build.dir" value="build"/>

	<path id="project-classpath">
		<pathelement location="${build.dir}/classes"/>
	</path>

	<target name="compile">
		<javac debug="${debug}" srcdir="${src.dir}" destdir="${build.dir}/classes">
			<classpath refid="project-classpath"/>
		</javac>
	</target>

	<target name="clean">
		<delete>
			<fileset dir="${build.dir}/classes" includes="*.class"/>
		</delete>
	</target>

	<target name="sign" depends="compile">
		<java classname="${sign.program}" fork="true">
			<jvmarg value="-Djava.endorsed.dirs=${jwsdp.home}/jaxp/lib/endorsed:${jwsdp.home}/jaxp/lib" />
			<sysproperty key="jsr105Provider" value="${jsr105Provider}" />
			<arg value="${input.doc}" />
			<arg value="${output.doc}" />
			<classpath refid="project-classpath" />
		</java>
	</target>
	
	<target name="tamper">
		<java classname="${tamper.program}" fork="true">
			<classpath refid="project-classpath" />
			<arg value="${output.doc}"/>
			<arg value="${tamper.ref}"/>
		</java>
	</target>

	<target name="validate">
		<java classname="${validate.program}" fork="true">
			<jvmarg value="-Djava.endorsed.dirs=${jwsdp.home}/jaxp/lib/endorsed:${jwsdp.home}/jaxp/lib"/>
			<sysproperty key="jsr105Provider" value="${jsr105Provider}"/>
			<arg value="${output.doc}"/>
			<classpath refid="project-classpath"/>
		</java>
	</target>

	<target name="certInfo" depends="compile">
		<java classname="${certInfo.program}" fork="true">
			<classpath refid="project-classpath"/>
			<arg value="${cert.file}"/>
		</java>
	</target>

	<target name="ksInfo" depends="compile">
		<java classname="${ksInfo.program}" fork="true">
			<classpath refid="project-classpath"/>
			<arg value="${ks.file}"/>
			<arg value="${ks.sPass}"/>
			<arg value="${ks.kPass}"/>
			<arg value="${ks.alias}"/>
		</java>
	</target>
	
	<target name="help">
		<echo>Usage:</echo>
		<echo>Ant ksInfo   --- print out the keystore information;</echo>
		<echo>Ant certInfo --- print out the certfication information;</echo>
		<echo>Ant sign     --- generate the xml signature;</echo>
		<echo>Ant tamper   --- tamper the generated xml siganture;</echo>
		<echo>Ant validate --- validate the generated or tampered xml signature.</echo>
	</target>
</project>

