<?xml version="1.0"?>
<!--
  Copyright (c) 2014 Eike Stepper (Loehne, Germany) and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.html

  Contributors:
    Eike Stepper - initial API and implementation
-->
<project name="promoter" default="promote">

	<property environment="env" />
	<property file="config/promoter.properties" prefix="config." />

	<target name="build">
		<delete>
			<fileset dir=".">
				<include name="bin/**" />
				<exclude name="promoter.jar" />
			</fileset>
		</delete>
		<mkdir dir="bin" />
		<javac srcdir="src" destdir="bin" debug="on" includeantruntime="false" />
		<jar destfile="promoter.jar">
			<fileset dir="bin">
				<include name="**" />
			</fileset>
		</jar>
	</target>

	<target name="promote" depends="build">
		<delete includeemptydirs="true" defaultexcludes="false" failonerror="false" quiet="true">
			<fileset dir="${DOWNLOADS_HOME}/${projectPath}">
				<include name="${compositionPath}.tmp" />
				<include name="${compositionTempPath}" />
			</fileset>
		</delete>
		<java classpath="promoter.jar" classname="${config.classPromoter}">
			<sysproperty key="JOB_URL" value="${env.JOB_URL}" />
			<sysproperty key="JOB_NAME" value="${env.JOB_NAME}" />
			<sysproperty key="ANT_HOME" value="${env.ANT_HOME}" />
			<sysproperty key="TEST" value="${env.TEST}" />
			<sysproperty key="workingArea" value="${env.WORKSPACE}" />
			<sysproperty key="forcedPromotion" value="${promotion.force}" />
		</java>
	</target>

</project>
