<?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="setup">

	<property name="lib.dir" value="../lib"/>
	<property name="modules.dir" value="../"/>
	
	<property environment="env"/>
    	
	<target name="check.dependency" unless="env.AXIS2_HOME">
        <echo message="AXIS2_HOME must be set"/>
    </target>

	<!-- Copy the required jars and mars appropriately -->
	<target name="setup" if="env.AXIS2_HOME" depends="check.dependency">
		
   		<property name="axis2.modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
   		<property name="axis2.lib.dir" value="${env.AXIS2_HOME}/lib"/>
		
		<copy todir="${axis2.lib.dir}">
	        <fileset dir="${lib.dir}">
	                <include name="**/*.jar"/>
	        </fileset>
		</copy>
		
		<copy todir="${axis2.modules.dir}">
	        <fileset dir="${modules.dir}">
	                <include name="**/*.mar"/>
	        </fileset>
		</copy>
				
	</target>
	
</project>