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

