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

	<!-- = = = standard properties pattern = = = -->
	<!-- 
    	Note to be cross-platform, "environment variables" are only appropriate for 
        some variables, e.g. ones we set, since properties are case sensitive, even if 
        the environment variables on your operating system are not, e.g. it will 
        be ${env.Path} not ${env.PATH} on Windows -->
	<property environment="env" />

	<!-- 
    	Let users override standard properties, if desired.
    	If directory, file, or some properties do not exist,  
    	then standard properties will be used.
     -->
	<property file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />

	<!-- load standard properties for production environment -->
	<property file="${env.STANDARD_PROPERTIES_DIR}/${ant.project.name}.properties" />

	<property file="${ant.project.name}.properties" />

	<!-- = = = end standard properties pattern = = = -->



	<target name="build" depends="init" if="build_distro_target_exists">
		<property name="buildfile" value="${distributionCoreName}.build/build.xml" />
		<echo message="buildfile: ${buildfile}" />
		<echo message="logExtension: ${logExtension}" />
		<ant antfile="${buildfile}">
			<property name="dltk.builder.home" value="${dltk.builder.home}" />
			<property name="buildBranch" value="${buildBranch}" />
			<property name="build.pack-all-in-one" value="${build.pack-all-in-one}" />
			<property name="eclipse.builder.fetch" value="${eclipse.builder.fetch}" />
			<property name="logExtension" value="${logExtension}" />
		</ant>


	</target>



	<target name="site" depends="init" if="site_distro_target_exists">
		<ant antfile="${distributionCoreName}.site/build.xml">
			<property name="dltk.builder.home" value="${dltk.builder.home}" />
			<property name="buildBranch" value="${buildBranch}" />
			<property name="build.pack-all-in-one" value="${build.pack-all-in-one}" />
			<property name="eclipse.launcher" value="${eclipse.launcher}" />
		</ant>
	</target>


	<target name="test" depends="init" if="tests_distro_target_exists">
		<ant antfile="${distributionCoreName}.tests/build.xml">
			<property name="dltk.builder.home" value="${dltk.builder.home}" />
			<property name="buildBranch" value="${buildBranch}" />
			<property name="build.pack-all-in-one" value="${build.pack-all-in-one}" />
			<property name="testRoot" value="${env.BUILD_HOME}/${build.tests}-${build.distribution}-${buildBranch}-${buildType}" />
			<property name="dependencyTargets" value="${dltk.builder.home}/scripts/dependency/build.xml" />
			<property name="local.cache.dir" value="${env.LOCAL_PREREQS_CACHE}" />
			<property name="buildDirectory" value="${buildDirectory}" />
			<property name="buildLabel" value="${buildLabel}" />
			<property name="eclipse.launcher" value="${eclipse.launcher}" />

		</ant>
	</target>

	<target name="pack" depends="init" if="pack_distro_target_exists">
		<property name="nl" value="&#10;"/>
		<echo message="dltk.builder.home=${dltk.builder.home}${nl}" file="${dltk.builder.home}/pack.properties" append="false"/>
		<echo message="buildBranch=${buildBranch}${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<echo message="build.pack-all-in-one=${build.pack-all-in-one}${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<echo message="packRoot=${env.BUILD_HOME}/${build.pack}-${build.distribution}-${buildBranch}-${buildType}${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<echo message="dependencyTargets=${dltk.builder.home}/scripts/dependency/build.xml${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<echo message="local.cache.dir=${env.LOCAL_PREREQS_CACHE}${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<echo message="buildDirectory=${buildDirectory}${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<echo message="buildLabel=${buildLabel}${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<echo message="eclipse.launcher=${eclipse.launcher}${nl}" file="${dltk.builder.home}/pack.properties" append="true"/>
		<ant antfile="${distributionCoreName}.pack/build.xml" />
	</target>
	
	<target name="upload" depends="init" if="upload_distro_target_exists">
		<ant antfile="${distributionCoreName}.upload/build.xml">
			<property name="dltk.builder.home" value="${dltk.builder.home}" />
			<property name="buildBranch" value="${buildBranch}" />
			<property name="build.pack-all-in-one" value="${build.pack-all-in-one}" />
			<property name="eclipse.launcher" value="${eclipse.launcher}" />

		</ant>
	</target>

	<target name="whatisfixed" depends="init" if="whatisfixed_distro_target_exists">
		<ant antfile="${distributionCoreName}.whatisfixed/build.xml">
			<property name="dltk.builder.home" value="${dltk.builder.home}" />
			<property name="buildBranch" value="${buildBranch}" />
			<property name="build.pack-all-in-one" value="${build.pack-all-in-one}" />
			<property name="eclipse.launcher" value="${eclipse.launcher}" />

		</ant>
	</target>





	<target name="init">
		<dirname file="${ant.file}" property="dltk.builder.home" />
		<condition property="buildBranch" value="R1.0">
			<equals arg1="${mapVersionTag}" arg2="HEAD" />
		</condition>
		<condition property="buildBranch" value="R0.9">
			<equals arg1="${mapVersionTag}" arg2="R0_9_maintenance" />
		</condition>
		<!-- if not set above, assume R1.0 -->
		<!-- this happens, for example, when using a "tempTest" branch -->
		<property name="buildBranch" value="R3.0" />

		<touch file="${user.home}/.cvspass" />

    <!-- strip trailing blanks. Seems either Eclipse, or CVS make it hard to not have trailing spaces -->
    <replaceregexp
                flags="gm"
                file="${dltk.builder.home}/build.properties"
                match=" *$"
                replace="" />
		<property file="${dltk.builder.home}/build.properties" />

		<ant antfile="${dltk.builder.home}/scripts/build/label.xml" />
		<property file="${buildDirectory}/label.properties" />

		<property name="distributionCoreName" value="${dltk.builder.home}/distribution/${build.distribution}" />

		<available file="${distributionCoreName}.build/build.xml" type="file" property="build_distro_target_exists" />
		<available file="${distributionCoreName}.site/build.xml" type="file" property="site_distro_target_exists" />
		<available file="${distributionCoreName}.tests/build.xml" type="file" property="tests_distro_target_exists" />
		<available file="${distributionCoreName}.pack/build.xml" type="file" property="pack_distro_target_exists" />
		<available file="${distributionCoreName}.upload/build.xml" type="file" property="upload_distro_target_exists" />
		<available file="${distributionCoreName}.whatisfixed/build.xml" type="file" property="whatisfixed_distro_target_exists" />


		<!--fetch the HEAD stream of all projects if build type specified as N-->
		<condition property="fetchTag" value="HEAD">
			<equals arg1="${buildType}" arg2="N" />
		</condition>

		<!--condition property="tagMaps">
			<equals arg1="${build.trial}" arg2="false" />
		</condition-->
		<property name="tagMaps" value="false"/>
	</target>



</project>
