<?xml version="1.0"?>
<!-- ====================================================================== 
    Properties that must be passed to this script:
    base.install.dir
    dependencyTargets
    local.cache.dir
    dependency.properties

    
    ====================================================================== -->
<project name="test" default="get">

	<target name="get">
    <!-- antcall target="getAndInstall">
           <param name="groupId" value="orbitthirdparty" />
       </antcall>    
		<mkdir dir="${buildDirectory}/maps/releng.maps/maps" />
		<antcall target="getAndInstall">
			<param name="groupId" value="orbitthirdpartymap" />
			<param name="base.install.dir" value="${buildDirectory}/maps/releng.maps/maps/" />
		</antcall -->


		<property name="pde.builder.path" value="${env.BUILD_HOME}/builders/${eclipse.builder.version}/${eclipse.builder}" />
		<echo message="pde.builder.path: ${pde.builder.path}" />
		<echo message="eclipse.builder.version: ${eclipse.builder.version}" />
		<echo message="eclipse.builder: ${eclipse.builder}" />


		<antcall target="getAndInstall">
			<param name="groupId" value="eclipse" />
		</antcall>
		<!-- antcall target="getAndInstall">
			<param name="groupId" value="eclipseTestFramework" />
		</antcall-->

	</target>


	<target name="getAndInstall">
		<ant antfile="${dependencyTargets}" target="checkDependency">
			<property name="groupId" value="${groupId}" />
		</ant>
		<ant antfile="${dependencyTargets}" target="installDependency">
			<property name="groupId" value="${groupId}" />
			<property name="install.destination" value="${base.install.dir}" />
		</ant>
	</target>

</project>

