<project name="buckyBuilder" basedir="." default="default">

	<property environment="env"/>
	<!-- 
	      This property file name is itself a property, so it 
	      can be overridden on one machine versus another.
	      We do it this way, instead of just specifying -propertyFile on 
	      command line, so that the property values can be "nested" in 
	      other property values.
	-->
	<property name="galileoPropertyFile" value="galileo.properties" />
	<property file="${galileoPropertyFile}" />

	<target name="updateBuckyBuilder" depends="init">
		<property name="APP_NAME" value="org.eclipse.equinox.p2.director.app.application" />
		<property name="OTHER_ARGS" value="-metadataRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -artifactRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -installIU org.eclipse.buckminster.galileo.builder.feature.feature.group" />
		<!--
		    usually do not need the version, just to "get the latest" from buckminster builder site
		    -version 1.0.0.v20090415-1651
		-->
		<property name="VM_ARGS" value="-vmargs -Xmx256m" />

		<exec executable="/bin/sh" dir="${basedir}" failonerror="true">
			<arg line="${basedir}/getPlatform.sh"/>
		</exec>

		<exec executable="${eclipseExecutable}" dir="${basedir}" failonerror="true">
			<arg line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_EXEC_DIR} -application ${APP_NAME} ${OTHER_ARGS} ${VM_ARGS}" />
		</exec>
	</target>

	<target name="getModel" unless="SKIP_MODEL_RETRIEVE">
		<echo message="   removing all of previous project ..." />
		<delete dir="${BUILD_HOME}/org.eclipse.galileo.build" />
          
              <cvs failonerror="true" cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/callisto" package="org.eclipse.galileo.build" dest="${BUILD_HOME}" command="export" tag="HEAD" />
		<!--
		<cvs failonerror="true" cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/callisto" package="org.eclipse.galileo.build" dest="${BUILD_HOME}" command="export" tag="david_williams_tempBranch1" />
		-->
	</target>

	<target name="runBuckyBuild" depends="init,getModel">

		<!-- 
		     If not otherwise set in properties file, use these values. Note
		     the build.eclipse.org production machine must override these values
		     for property values appropriate for it. 
		-->
		
		<property name="BUILDER_APP_ARGS" value="-buildModel ${BUILD_HOME}/org.eclipse.galileo.build/galileo.build -buildRoot ${BUILD_RESULTS} -mirrorReferences -packedStrategy verify -brandingContribution Galileo -trustedContributions Eclipse,Equinox -logLevel DEBUG  -emailFromName GalileoBuilder -logURL ${logURL}"/>
		<!-- 
		     Important: on any non-production machines it is important to _not_ use eclipse.p2.mirrors=false, so this value should be supplied by calling script's properties.
		     Note, we include '-vmargs' here, in case there are not any. Not sure if the use of -vmargs _requires_ arguments or not, but probably would.
		     
		     note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
		     (should not actually be required ... but have left note for historical reference)
		     
		     note: rememeber that JAVA_6 PPC should not be used for jar processor, see for example, 
		     bug 244603 and bug 279596. 
		     
		-->
		<property name="BUILDER_VM_ARGS" value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin" />

		<exec executable="${eclipseExecutable}" dir="${basedir}" failonerror="true">
			<arg line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_5_HOME}/jre/bin -application org.eclipse.buckminster.galileo.builder.app -buildId ${buildId} ${BUILDER_APP_ARGS} ${BUILDER_VM_ARGS}" />
		</exec>

	</target>

	<target name="init" depends="getTimestamp">

		<!-- I don't think we really need a letter prefix ... break habits! --> 
		<property name="buildId" value="${buildTimestamp}" />

		
		<!-- if we are not runing in Huson, we some up with a reasonable default --> 
               <condition
                   property="hudsonHome"
                   value="${env.HUDSON_HOME}"
                   else="${basedir}">
                   <isset
                       property="env.HUDSON_HOME" />
               </condition>
               <condition
                   property="jobName"
                   value="${env.JOB_NAME}"
                   else="localBuild">
                   <isset
                       property="env.JOB_NAME" />
               </condition>
               <condition
                   property="logURL"
                   value="${LOG_URL}"
                   else="${env.HOSTNAME}">
                   <isset
                       property="LOG_URL" />
               </condition>
       		
       	<property name="eclipseWorkspace" value="${hudsonHome}/jobs/${jobName}/builds/${buildId}/eclipseworkspace" />
              <property name="eclipseExecutable" value="${ECLIPSE_EXE}" />
       
       	<echo message="galileoPropertyFile: ${galileoPropertyFile}" />
       	<echo message="buildId: ${buildId}" />
       	<echo message="hudsonHome: ${hudsonHome}" /> 
       	<echo message="user.dir: ${user.dir}" />
       	<echo message="user.home: ${user.home}" />
       	<echo message="Hudson WORKSPACE: ${env.WORKSPACE}" />
       	<echo message="Eclipse WORKSPACE: ${eclipseWorkspace}" />
       	<echo message="PATH: ${env.PATH}" />
       	<echo message="JAVA_HOME: ${env.JAVA_HOME}" />
              <echo message="HOSTNAME: ${env.HOSTNAME}" />
       	<echo message="JOB_NAME: ${env.JOB_NAME}" />
       	<echo message="BUILD_NUMBER: ${env.BUILD_NUMBER}" />
       	<echo message="logURL: ${logURL}" />
       	<echo message="ECLIPSE_EXE:  ${ECLIPSE_EXE}" />
       	<echo message="BUILDER_APP_ARGS: ${BUILDER_APP_ARGS}" />
              <echo message="BUILDER_VM_ARGS: ${BUILDER_VM_ARGS}" />

	</target>

	<target name="getTimestamp" depends="getHudsonTimestamp" unless="buildTimestamp">
		<tstamp>
			<format property="buildTimestamp" pattern="yyyy-MM-dd_HH-mm-ss" timezone="UTC_TIME" />
		</tstamp>
		<echo message="Using ant computed timestamp" />
	</target>
	<target name="getHudsonTimestamp" if="env.BUILD_ID">
		<property name="buildTimestamp" value="${env.BUILD_ID}" />	
		<echo message="Using timestamp from Hudson Build ID" />
	</target>
	<target name="default">
		<echo message="There is no default target for this build file" />
	</target>
</project>