<project name="Apache Rampart release build" default="dist">

    <property name="rampart.version" value="SNAPSHOT"/>
    <property name="rampart.bin.dist" value="rampart"/>
    <property name="rampart.src.dist" value="rampart-src"/>
    <property name="rampart.docs.dist" value="rampart-docs"/>
    
    <property name="dir.dist" value="dist"/>
    <property name="dir.dist.bin" value="${dir.dist}/bin/${rampart.bin.dist}-${rampart.version}"/>
    <property name="dir.dist.src" value="${dir.dist}/src/${rampart.src.dist}-${rampart.version}"/>
    <property name="dir.dist.docs" value="${dir.dist}/docs/${rampart.docs.dist}-${rampart.version}"/>
    
    <property name="dir.mvn2.repo" value="${user.home}/.m2/repository"/>
    
    <property name="version.bcprov13" value="132"/>
    <property name="version.bcprov15" value="132"/>
        
    <property name="version.xmlsec" value="1.4.0"/>
    <property name="version.opensaml" value="1.1"/>
    <property name="version.wss4j" value="SNAPSHOT"/>
    
        
    <condition property="jdk14.present">
      <equals arg1="${ant.java.version}" arg2="1.4"/>
    </condition>

    <target name="init">
    		<mkdir dir="${dir.dist}"/>
    </target>
    
    <target name="dist" depends="clean, bin-dist, src-dist, docs-dist">
        <copy todir="${dir.dist}" file="modules/rampart-mar/target/rampart-${rampart.version}.mar"/>
		<copy todir="${dir.dist}" file="modules/rampart-trust-mar/target/rahas-${rampart.version}.mar"/>
	    <copy todir="${dir.dist}" file="modules/rampart-core/target/rampart-core-${rampart.version}.jar"/>
        <copy todir="${dir.dist}" file="modules/rampart-policy/target/rampart-policy-${rampart.version}.jar"/>
        <copy todir="${dir.dist}" file="modules/rampart-trust/target/rampart-trust-${rampart.version}.jar"/>
    </target>

    <target name="bin-dist" depends="init">
    		
        <mkdir dir="${dir.dist.bin}"/>
		
        <copy todir="${dir.dist.bin}">
            <fileset dir="release-docs">
            </fileset>
        </copy>
        
        <!-- Modules -->
        <echo>Copying mars in to modules</echo>
        <copy todir="${dir.dist.bin}" file="modules/rampart-mar/target/rampart-${rampart.version}.mar"/>
        <copy todir="${dir.dist.bin}" file="modules/rampart-trust-mar/target/rahas-${rampart.version}.mar"/>
        
        <!-- All dep jars -->
        <echo>Copying dependencies into lib</echo>
        <mkdir dir="${dir.dist.bin}/lib"/>
        
        <copy todir="${dir.dist.bin}/lib" file="modules/rampart-core/target/rampart-core-${rampart.version}.jar"/>
        <copy todir="${dir.dist.bin}/lib" file="modules/rampart-policy/target/rampart-policy-${rampart.version}.jar"/>
        <copy todir="${dir.dist.bin}/lib" file="modules/rampart-trust/target/rampart-trust-${rampart.version}.jar"/>
        <copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/org/apache/santuario/xmlsec/${version.xmlsec}/xmlsec-${version.xmlsec}.jar"/>
        <copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/opensaml/opensaml/${version.opensaml}/opensaml-${version.opensaml}.jar"/>
        <copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/org/apache/ws/security/wss4j/${version.wss4j}/wss4j-${version.wss4j}.jar"/>
        <antcall target="copy-bc-jar-14" />
        <antcall target="copy-bc-jar-15" />

        <echo>Copying samples</echo>
        <!-- copy samples -->
        <mkdir dir="${dir.dist.bin}/samples"/>
        
        <copy todir="${dir.dist.bin}/samples">
            <fileset dir="modules/rampart-samples/">
            </fileset>
        </copy>
        
        <zip destfile="${dir.dist}/${rampart.bin.dist}-${rampart.version}.zip">
            <zipfileset dir="${dir.dist.bin}/../"/>
        </zip>
        
        <delete dir="${dir.dist.bin}/../"/>

    </target>
    
    <target name="copy-bc-jar-14" if="${jdk14.present}">
		<copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/bouncycastle/bcprov-jdk13/${version.bcprov13}/bcprov-jdk13-${version.bcprov13}.jar"/>
    </target>

    <target name="copy-bc-jar-15" unless="${jdk14.present}">
		<copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/bouncycastle/bcprov-jdk15/${version.bcprov15}/bcprov-jdk15-${version.bcprov15}.jar"/>
    </target>
    
    <target name="src-dist" depends="init">

        <mkdir dir="${dir.dist.src}"/>
		
        <copy todir="${dir.dist.src}">
            <fileset dir="release-docs">
                <exclude name="build.xml"/>
                <exclude name="README.txt"/>
            </fileset>
        </copy>
        
        <copy todir="${dir.dist.src}">
			<fileset dir="modules">
			    <include name="rampart-core/**/*"/>
				<include name="rampart-policy/**/*"/>
			    <include name="rampart-trust/**/*"/>
			    <include name="rampart-samples/**/*"/>
			    <exclude name=".svn"/>
			</fileset>
    		</copy>
        
        <zip destfile="${dir.dist}/${rampart.src.dist}-${rampart.version}.zip">
            <zipfileset dir="${dir.dist.src}/../"/>
        </zip>
        
        <delete dir="${dir.dist.src}/../"/>        
    </target>

    <target name="docs-dist">

        <mkdir dir="${dir.dist.docs}"/>

        <copy todir="${dir.dist.docs}">
            <fileset dir="release-docs">
                <exclude name="build.xml"/>
                <exclude name="README.txt"/>
            </fileset>
        </copy>
        
        <mkdir dir="${dir.dist.docs}/core"/>
        <mkdir dir="${dir.dist.docs}/policy"/>
        <mkdir dir="${dir.dist.docs}/trust"/>
        
        <copy todir="${dir.dist.docs}/core">
        		<fileset dir="modules/rampart-core/target/site/apidocs/">
        		</fileset>
        </copy>
        
        <copy todir="${dir.dist.docs}/policy">
        		<fileset dir="modules/rampart-policy/target/site/apidocs/">
        		</fileset>
        </copy>

        <copy todir="${dir.dist.docs}/trust">
        		<fileset dir="modules/rampart-trust/target/site/apidocs/">
        		</fileset>
        </copy>
        
        <zip destfile="${dir.dist}/${rampart.docs.dist}-${rampart.version}.zip">
            <zipfileset dir="${dir.dist.docs}/../"/>
        </zip>
            
        <delete dir="${dir.dist.docs}/../"/>
    </target>

    <target name="clean">
		<delete dir="${dir.dist}"/>
    </target>
    
</project>
