<?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">
  <property
      environment="env" />
<!-- required to get proper value of dropinsFolder -->
    <property
        name="keyCfgFile"
        value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
	<echo 
        level="info"
		message="keyCfgFile: ${keyCfgFile}"/>
    <available 
    	file="${keyCfgFile}" 
    	property="keyCfgFile.exists"/>
    <fail 
    	message="${keyCfgFile} Not Found" 
    	unless="keyCfgFile.exists"/>
	<available 
		file="${dependency.properties}" 
		property="dependency.properties.exists"/>
    <fail 
    	message="${dependency.properties} Not Found" 
    	unless="dependency.properties.exists"/>
    <property
        file="${keyCfgFile}"/>
    <target
        name="get">
        <antcall
            target="getAndInstallDropins">
            <param
                name="groupId"
                value="emf" />
        </antcall>
        <antcall
            target="getAndInstallDropins">
              <param
                  name="groupId"
                  value="emfxsd" />
          </antcall>                  
        <antcall
            target="getAndInstallDropins">
            <param
                name="groupId"
                value="gef" />
        </antcall>
        <antcall
            target="getAndInstallDropins">
            <param
                name="groupId"
                value="dtp" />
        </antcall>
        <antcall
            target="getAndInstallBase">
            <param
                name="groupId"
                value="eclipse" />
        </antcall>
        <antcall
            target="getAndInstallDropins">
            <param
                name="groupId"
                value="eclipseTestFramework" />
        </antcall>
       <antcall 
           target="getAndInstallDropins">
           <param
               name="groupId"
               value="wst" />
       </antcall>    	
      <antcall 
          target="getAndInstallDropins">
          <param
              name="groupId"
              value="jst" />
      </antcall>
        <antcall
            target="getAndInstallBase">
            <param
                name="groupId"
                value="jpt-persistence.jar"/>
        </antcall>
        <antcall
            target="getAndInstallBase">
            <param
                name="groupId"
                value="jpt-eclipselink.jar"/>
        </antcall>

    </target>


    <target 
         name="getAndInstallBase">
        <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="getAndInstallDropins">
        <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}${dropinsFolder}" />
        </ant>
    </target>

</project>

