<?xml version="1.0" encoding="UTF-8"?><!--
     Copyright (c) 2005, 2006 IBM Corporation 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:
         IBM Corporation - initial API and implementation
 -->

<project name="build tests support jar" default="build" basedir="..">

	<target name="build" description="Removes all build artifacts, recreates the support jar, and refreshes this plugin's resources" depends="clean, lib/antUITestsSupport.jar"/>

	<target name="init" depends="properties">
		<property name="version.suffix" value="_3.1.0"/>
		<property name="temp.folder" value="${basedir}/temp.folder"/>
		<property name="plugin.destination" value="${basedir}"/>
		<property name="build.result.folder" value="${basedir}"/>
	</target>

	<target name="properties" if="eclipse.running">
		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
	</target>

	<target name="lib/antUITestsSupport.jar" depends="init" description= "Builds the support JAR">
		<property name="destdir" value="${temp.folder}/lib/antUITestsSupport.jar.bin"/>
		<delete dir="${destdir}"/>
		<mkdir dir="${destdir}"/>
		<!-- compile the source code -->
		<javac target="1.1" destdir="${destdir}" failonerror="false" verbose="false" debug="on" includeAntRuntime="yes" 
			classpath="${basedir}/bin;
			${eclipse.home}/plugins/org.eclipse.ant.core${version.suffix}.jar;
			${basedir}/../org.eclipse.ant.core/bin
			${eclipse.home}/plugins/org.eclipse.ant.core${version.suffix}.jar/lib/remoteAnt.jar;
			${basedir}/../org.eclipse.ant.ui/lib/remoteAnt.jar">
			<src path="test support/"/>
		</javac>
		<mkdir dir="${build.result.folder}/lib"/>
		<jar destfile="${build.result.folder}/lib/antUITestsSupport.jar" basedir="${destdir}"/>
		<delete dir="${temp.folder}"/>
	</target>

	<target name="clean" depends="init">
		<delete file="${build.result.folder}/lib/antUITestsSupport.jar"/>
		<delete dir="${temp.folder}"/>
	</target>
</project>
