<?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/antTestsSupport.jar"/>

	<target name="init" depends="properties">
		<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/antTestsSupport.jar" depends="init" description= "Builds the support JAR">
		<property name="destdir" value="${temp.folder}/lib/antTestsSupport.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>
				<dirset dir="${basedir}">
					<include name="../org.eclipse.core.runtime/bin"/>
					<include name="bin"/>
					<include name="../org.eclipse.ant.core/bin"/>
				</dirset>
				<fileset dir="${eclipse.home}/plugins">
					<include name="org.eclipse.core.runtime*.jar"/>
					<include name="org.eclipse.equinox.common*.jar"/>
					<include name="org.eclipse.ant.core*.jar"/>
				</fileset>
			</classpath>
			<src path="test support/"/>
		</javac>
		<mkdir dir="${build.result.folder}/lib"/>
		<jar destfile="${build.result.folder}/lib/antTestsSupport.jar" basedir="${destdir}"/>
		<delete dir="${temp.folder}"/>
	</target>

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