<?xml version="1.0" encoding="UTF-8"?>
<!--
 !
 ! Copyright 2006 The Apache Software Foundation.
 !
 ! Licensed under the Apache License, Version 2.0 (the "License");
 ! you may not use this file except in compliance with the License.
 ! You may obtain a copy of the License at
 !
 !      http://www.apache.org/licenses/LICENSE-2.0
 !
 ! Unless required by applicable law or agreed to in writing, software
 ! distributed under the License is distributed on an "AS IS" BASIS,
 ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 ! See the License for the specific language governing permissions and
 ! limitations under the License.
 !-->

<project basedir="." default="clean">

	<property name="service.repos.dir" value="build/service_repositories"/>
	<property name="client.repos.dir" value="build/client_repositories"/>
	<property name="temp.dir" value="build/temp"/>
	<property name="keys.dir" value="../keys"/>
	<property name="temp.client.dir" value="build/temp_client"/>
    <property name="endorsed.dir" value="build/endorsed"/>
	
	<property name="client.port" value="8080"/>
	<property name="server.port" value="8080"/>
	
	<property name="sample.services.url" value="http://localhost:${client.port}/axis2/services"/>
	
    <property environment="env"/>
    
    <property name="lib.dir" value="${env.AXIS2_HOME}/lib"/>
    
    <path id="runtime.classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
        </fileset>
        <pathelement location="${env.AXIS2_HOME}/conf"/>
    </path>
    
	<target name="check.dependency" unless="env.AXIS2_HOME">
        <echo message="AXIS2_HOME must be set"/>
    </target>
	
	<!-- Sample Service 01 -->
	<target name="service.01" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="01"/>
	</target>

	<!-- Sample Client 01 -->
	<target name="client.01" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="01"/>
	</target>
	
	<!-- Sample Service 02 -->
	<target name="service.02" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="02"/>
	</target>

	<!-- Sample Client 02 -->
	<target name="client.02" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="02"/>
	</target>

	<!-- Sample Service 03 -->
	<target name="service.03" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="03"/>
	</target>

	<!-- Sample Client 01 -->
	<target name="client.03" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="03"/>
	</target>

	<!-- Sample Service 04 -->
	<target name="service.04" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="04"/>
	</target>

	<!-- Sample Client 04 -->
	<target name="client.04" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="04"/>
	</target>
	
	<!-- Sample Service 05 -->
	<target name="service.05" if="env.AXIS2_HOME" depends="check.dependency">
		<create.service.repo sample.number="05"/>
	</target>

	<!-- Sample Client 05 -->
	<target name="client.05" if="env.AXIS2_HOME" depends="check.dependency">
		<create.and.run.client sample.number="05"/>
	</target>
	
	   <!-- Sample Service 06 -->
    <target name="service.06" if="env.AXIS2_HOME" depends="check.dependency">
        <create.trust.service.repo sample.number="06"/>
    </target>

    <!-- Sample Client 06 -->
    <target name="client.06" if="env.AXIS2_HOME" depends="check.dependency">
        <create.and.run.client sample.number="06"/>
    </target>

    <!-- Sample Service 07 -->
    <target name="service.07" if="env.AXIS2_HOME" depends="check.dependency">
        <create.trust.service.repo sample.number="07"/>
    </target>

    <!-- Sample Client 07 -->
    <target name="client.07" if="env.AXIS2_HOME" depends="check.dependency">
        <create.and.run.client sample.number="07"/>
    </target>

    <!-- Sample Service 08 -->
    <target name="service.08" if="env.AXIS2_HOME" depends="check.dependency">
        <create.service.repo sample.number="08"/>
    </target>

    <!-- Sample Client 08 -->
    <target name="client.08" if="env.AXIS2_HOME" depends="check.dependency">
        <create.and.run.client sample.number="08"/>
    </target>

    <target name="setup">
	<mkdir dir="${endorsed.dir}"/>
        <get src="http://repo2.maven.org/maven2/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"
             dest="${endorsed.dir}/xercesImpl-2.9.1.jar" verbose="true"/>
    </target>


	<target name="clean">
		<delete dir="build" />
	</target>
	
	<!-- Macro to create a service repo for a given sample -->
	<macrodef name="create.service.repo">
	   	<attribute name="sample.number" default="sample"/>
	   	<sequential>
	   		
	   		<property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
	   		
	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}"/>
	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}/services"/>
	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}/modules"/>
	   		
	   		<!-- copy modules -->
	   		<copy todir="${service.repos.dir}/sample@{sample.number}/modules">
	   		    <fileset dir="${modules.dir}">
	   		        <include name="addressing-*.mar"/>
	   		        <include name="rampart-*.mar"/>
	   		        <include name="rahas-*.mar"/>
	   		    </fileset>
	   		</copy>
	   		
	   		<!-- create service -->
	   		<mkdir dir="${temp.dir}"/>
	   		<mkdir dir="${temp.dir}/META-INF"/>
	   		
	   		<!-- Compile service -->
            <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}">
                    <classpath>
                            <fileset dir="${lib.dir}">
                                    <include name="**/*.jar"/>
                            </fileset>
                    </classpath>
                    <exclude name="**/Client.java"/>
            </javac>
	   		
	   		<copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true"/>
	   		<copy file="${keys.dir}/service.jks" tofile="${temp.dir}/service.jks" overwrite="true"/>
	   		<copy file="${keys.dir}/sts.jks" tofile="${temp.dir}/sts.jks" overwrite="true"/>
	   		<copy file="${keys.dir}/service.properties" tofile="${temp.dir}/service.properties" overwrite="true"/>

	   		<jar destfile="${service.repos.dir}/sample@{sample.number}/services/sample@{sample.number}.aar">
				<fileset dir="${temp.dir}"></fileset>
			</jar>
	   		
			<delete dir="${temp.dir}" />
	   		<!-- start SimpleHTTPserver -->
            <java classname="org.apache.axis2.transport.http.SimpleHTTPServer" fork="true">
                    <arg value="${service.repos.dir}/sample@{sample.number}"/>
                    <arg value="-p${server.port}"/>
                    <classpath refid="runtime.classpath"/>
                    <jvmarg value="-Djava.endorsed.dirs=${endorsed.dir}"/>
            </java>

	   </sequential>
	</macrodef>
	
	   <!-- Macro to create a service repo for a given trust sample -->
    <macrodef name="create.trust.service.repo">
        <attribute name="sample.number" default="sample"/>
        <sequential>
            
            <property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
            
            <mkdir dir="${service.repos.dir}/sample@{sample.number}"/>
            <mkdir dir="${service.repos.dir}/sample@{sample.number}/services"/>
            <mkdir dir="${service.repos.dir}/sample@{sample.number}/modules"/>
            
            <!-- copy modules -->
	   		<copy todir="${service.repos.dir}/sample@{sample.number}/modules">
	   		    <fileset dir="${modules.dir}">
	   		        <include name="addressing-*.mar"/>
	   		        <include name="rampart-*.mar"/>
	   		        <include name="rahas-*.mar"/>
	   		    </fileset>
	   		</copy>
            
            <!-- create service -->
            <mkdir dir="${temp.dir}"/>
            <mkdir dir="${temp.dir}/META-INF"/>
            
            <!-- Compile service -->
            <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}">
                    <classpath>
                            <fileset dir="${lib.dir}">
                                    <include name="**/*.jar"/>
                            </fileset>
                    </classpath>
                    <exclude name="**/Client.java"/>
            </javac>
            
            <copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true"/>
            <copy file="sample@{sample.number}/mex_policy.xml" tofile="${temp.dir}/mex_policy.xml" overwrite="true"/>
            <copy file="${keys.dir}/service.jks" tofile="${temp.dir}/service.jks" overwrite="true"/>
            <copy file="${keys.dir}/sts.jks" tofile="${temp.dir}/sts.jks" overwrite="true"/>
            <copy file="${keys.dir}/service.properties" tofile="${temp.dir}/service.properties" overwrite="true"/>

            <jar destfile="${service.repos.dir}/sample@{sample.number}/services/sample@{sample.number}.aar">
                <fileset dir="${temp.dir}"></fileset>
            </jar>
            
            <delete dir="${temp.dir}" />
            <!-- start SimpleHTTPserver -->
            <java classname="org.apache.axis2.transport.http.SimpleHTTPServer" fork="true">
                    <arg value="${service.repos.dir}/sample@{sample.number}"/>
                    <arg value="-p${server.port}"/>
                    <classpath refid="runtime.classpath"/>
                    <jvmarg value="-Djava.endorsed.dirs=${endorsed.dir}"/>
            </java>

       </sequential>
    </macrodef>

	<macrodef name="create.and.run.client">
	   	<attribute name="sample.number" default="sample"/>
	   	<sequential>
	   		
	   		<property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
	   		
	   		<!-- Create the client repo -->
	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}"/>
	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}/conf"/>
	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}/modules"/>
	   		
	   		<!-- copy modules -->
	   		<copy todir="${client.repos.dir}/sample@{sample.number}/modules">
	   		    <fileset dir="${modules.dir}">
	   		        <include name="addressing-*.mar"/>
	   		        <include name="rampart-*.mar"/>
	   		    </fileset>
	   		</copy>
	   		
	   		<mkdir dir="${temp.client.dir}"/>
	   		
	   		<!-- Compile client -->
            <javac srcdir="sample@{sample.number}/src" destdir="${temp.client.dir}">
                    <classpath>
	                    <fileset dir="${lib.dir}">
                            <include name="**/*.jar"/>
	                    </fileset>
                    </classpath>
                    <exclude name="**/SimpleService.java"/>
            </javac>

	   		<copy file="${keys.dir}/client.jks" tofile="${temp.client.dir}/client.jks" overwrite="true"/>
	   		<copy file="${keys.dir}/client.properties" tofile="${temp.client.dir}/client.properties" overwrite="true"/>

	   		
	   		<!-- Run client -->
            <java classname="org.apache.rampart.samples.policy.sample@{sample.number}.Client" fork="true">
                    <arg value="${sample.services.url}/sample@{sample.number}"/>
                    <arg value="${client.repos.dir}/sample@{sample.number}"/>
                    <arg value="sample@{sample.number}/policy.xml"/>
                    <classpath>
                        <path refid="runtime.classpath"/>
                  		<dirset dir="${temp.client.dir}" />
                    </classpath>
            </java>

<!--	   		<delete dir="${temp.client.dir}"/> -->
		</sequential>		
	</macrodef>

</project>
