blob: 5049a414a5cefa06bec3f07f2bdd43f757a85cee [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="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="addressing.mar" value="addressing-1.1.mar"/>
<property name="rampart.mar" value="rampart-1.1.mar"/>
<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"/>
<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 03 -->
<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.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.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>
<!-- Sample Service 10 -->
<target name="service.10" if="env.AXIS2_HOME" depends="check.dependency">
<create.service.repo sample.number="10"/>
</target>
<!-- Sample Client 10 -->
<target name="client.10" if="env.AXIS2_HOME" depends="check.dependency">
<create.and.run.client sample.number="10"/>
</target>
<!-- Sample Service 11 -->
<target name="service.11" if="env.AXIS2_HOME" depends="check.dependency">
<create.service.repo sample.number="11"/>
</target>
<!-- Sample Client 11 -->
<target name="client.11" if="env.AXIS2_HOME" depends="check.dependency">
<create.and.run.client sample.number="11"/>
</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/"/>
<property name="lib.dir" value="${env.AXIS2_HOME}/lib"/>
<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 file="${modules.dir}/${addressing.mar}" tofile="${service.repos.dir}/sample@{sample.number}/modules/${addressing.mar}" overwrite="true"/>
<copy file="${modules.dir}/${rampart.mar}" tofile="${service.repos.dir}/sample@{sample.number}/modules/${rampart.mar}" overwrite="true"/>
<!-- 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}/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>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</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/"/>
<property name="lib.dir" value="${env.AXIS2_HOME}/lib"/>
<!-- 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 axis2.xml file -->
<copy file="sample@{sample.number}/client.axis2.xml" tofile="${client.repos.dir}/sample@{sample.number}/conf/axis2.xml" overwrite="true"/>
<!-- copy modules -->
<copy file="${modules.dir}/${addressing.mar}" tofile="${client.repos.dir}/sample@{sample.number}/modules/${addressing.mar}" overwrite="true"/>
<copy file="${modules.dir}/${rampart.mar}" tofile="${client.repos.dir}/sample@{sample.number}/modules/${rampart.mar}" overwrite="true"/>
<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.sample@{sample.number}.Client" fork="true">
<arg value="${sample.services.url}/sample@{sample.number}"/>
<arg value="${client.repos.dir}/sample@{sample.number}"/>
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
<dirset dir="${temp.client.dir}" />
</classpath>
</java>
<!-- <delete dir="${temp.client.dir}"/> -->
</sequential>
</macrodef>
</project>