<?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="../modules"/>
	
	<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>
