| <?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.3.mar"/> |
| <property name="rampart.mar" value="rampart-1.3.mar"/> |
| <property name="rahas.mar" value="rahas-1.3.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 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> |
| |
| <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"/> |
| <copy file="${modules.dir}/${rahas.mar}" tofile="${service.repos.dir}/sample@{sample.number}/modules/${rahas.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 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.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> |
| <fileset dir="${lib.dir}"> |
| <include name="**/*.jar"/> |
| </fileset> |
| <dirset dir="${temp.client.dir}" /> |
| </classpath> |
| </java> |
| |
| <!-- <delete dir="${temp.client.dir}"/> --> |
| </sequential> |
| </macrodef> |
| |
| </project> |