blob: ced89e2a537438ac4ae52282347d619490904bf9 [file] [log] [blame]
<?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="build.dir" value="build"/>
<property name="service.repos.dir" value="${build.dir}/service_repositories"/>
<property name="client.repos.dir" value="${build.dir}/client_repositories"/>
<property name="temp.dir" value="${build.dir}/temp"/>
<property name="keys.dir" value="../keys"/>
<property name="temp.client.dir" value="${build.dir}/temp_client"/>
<property name="endorsed.dir" value="${build.dir}/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"/>
<property name="vmargs" value=""/>
<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>
<!--Sample Service 09-->
<target name="service.09" if="env.AXIS2_HOME" depends="check.dependency">
<create.service.repo sample.number="09"/>
</target>
<!--Sample Client 09-->
<target name="client.09" if="env.AXIS2_HOME" depends="check.dependency">
<create.and.run.client sample.number="09"/>
</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.dir}" />
</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">
<filterset>
<filter token="port" value="${server.port}"/>
</filterset>
</copy>
<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 line="-Djava.endorsed.dirs=${endorsed.dir} ${vmargs}"/>
</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">
<filterset>
<filter token="port" value="${server.port}"/>
</filterset>
</copy>
<copy file="sample@{sample.number}/mex_policy.xml" tofile="${temp.dir}/mex_policy.xml" overwrite="true">
<filterset>
<filter token="port" value="${server.port}"/>
</filterset>
</copy>
<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 line="-Djava.endorsed.dirs=${endorsed.dir} ${vmargs}"/>
</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"/>
<copy todir="${temp.client.dir}" overwrite="true">
<fileset dir="sample@{sample.number}">
<include name="*policy*.xml"/>
</fileset>
<filterset>
<filter token="port" value="${client.port}"/>
</filterset>
</copy>
<!-- Run client -->
<java classname="org.apache.rampart.samples.policy.sample@{sample.number}.Client" fork="true" failonerror="true">
<arg value="${sample.services.url}/sample@{sample.number}"/>
<arg value="${client.repos.dir}/sample@{sample.number}"/>
<arg value="${temp.client.dir}/policy.xml"/>
<classpath>
<path refid="runtime.classpath"/>
<dirset dir="${temp.client.dir}" />
</classpath>
<jvmarg line="${vmargs}"/>
</java>
<!-- <delete dir="${temp.client.dir}"/> -->
</sequential>
</macrodef>
</project>