<?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="eclipse" />
		</antcall>
		<antcall target="getAndInstall">
			<param name="groupId" value="eclipseTestFramework" />
		</antcall>
		<antcall target="getAndInstall">
			<param name="groupId" value="swtbot" />
		</antcall>
		<antcall target="getAndInstall">
			<param name="groupId" value="swtbot-eclipse" />
		</antcall>
		<antcall target="getAndInstallEclipse">
			<param name="groupId" value="derby" />
		</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>
	<target name="getAndInstallEclipse">
		<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}/eclipse" />
		</ant>
	</target>



</project>

