<?xml version="1.0" encoding="UTF-8"?>
<project
    name="update"
    default="update"
    basedir=".">
    <!-- original example received from Richard Gronback from cross-project list (thanks Richard!) -->
    <!-- see http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_standalone.html -->

    <target
        name="init"
        unless="initialized">
        <ant antfile="init.xml" />
    </target>

    <property
        name="java15-home"
        value="${jvmLocation}/jre" />
        
    <!-- if not otherwise set, set directory for java execution to basedir -->
    <property
        name="buildDirectory"
        value="${basedir}" />
    <target
        name="update"
        depends="init">
      <!--Note: this word 'Updating' is critical for the status code to 
      "find" the data it needs to work. So, it should not be changed, and 
      the word 'updating' (or, "[echo] updating" should not be used elsewhere.
      See ProjectLog.java for where this pattern is defined. --> 
        <echo message="Updating ${featureId} ${version}" />

        <java
            classname="org.eclipse.equinox.launcher.Main"
            taskname="update: ${featureId}"
            fork="true"
            jvm="${java15-home}/bin/java"
            failonerror="false"
            resultProperty="updateMirrorResult"
            maxmemory="256m"
            dir="${buildDirectory}">
            <classpath>
                <fileset dir="${eclipse.home}/plugins">
                    <include name="org.eclipse.equinox.launcher_*.jar" />
                </fileset>
            </classpath>

            <jvmarg value="-Dosgi.locking=none" />
            <jvmarg value="-DcontinueOnError=true" />
            <arg value="-clean" />
            <arg value="-nosplash" />
            <arg value="-application" />
            <arg value="org.eclipse.update.core.standaloneUpdate" />
            <arg value="-data" />
            <arg value="${basedir}/buildworkspace" />
            <arg value="-debug" />
            <arg value="-consolelog" />
            <arg value="-command" />
            <arg value="mirror" />
            <arg value="-featureId" />
            <arg value="${featureId}" />
            <arg value="-version" />
            <arg value="${version}" />
            <arg value="-from" />
            <arg value="${updateSite}" />
            <arg value="-to" />
            <arg value="${localUpdateSitePath}" />
            <arg value="-ignoreMissingPlugins" />
            <arg value="true" />
        </java>
    	<echo message="___ Features directory after mirroring ${featureId}_${version} ___"/>
       	<exec executable="ls">
   			<arg value="-1"/>
       		<arg value="${localUpdateSitePath}/features/"/>
       	</exec>
    	<echo message="___ End of features directory listing ___"/>

    </target>
</project>
