<?xml version="1.0" encoding="UTF-8"?>

<!--
    Copyright (c) 2009 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="org.eclipse.swt" default="build.update.jar" basedir=".">

	<target name="init">
		<property name="plugin" value="org.eclipse.swt" />
		<property name="version.suffix" value="3.7.0" />
		<property name="full.name" value="${plugin}_${version.suffix}" />
		<property name="temp.folder" value="${basedir}/temp.folder" />
		<property name="plugin.destination" value="${basedir}" />
		<property name="build.result.folder" value="${basedir}" />
		<condition property="p2.publish.parts" value="true">
			<istrue value="${p2.gathering}" />
		</condition>
	</target>

	<target name="build.update.jar" depends="init">
		<delete dir="${temp.folder}" />
		<mkdir dir="${temp.folder}" />
		<antcall target="gather.bin.parts">
			<param name="destination.temp.folder" value="${temp.folder}/" />
		</antcall>
		<zip zipfile="${plugin.destination}/${full.name}.jar" basedir="${temp.folder}/${full.name}" filesonly="false" />
		<delete dir="${temp.folder}" />
	</target>

	<target name="publish.bin.parts" depends="init" if="p2.publish.parts">
		<antcall target="gather.bin.parts">
			<param name="destination.temp.folder" value="${build.result.folder}" />
		</antcall>
		<eclipse.gatherBundle metadataRepository="${p2.build.repo}" artifactRepository="${p2.build.repo}" buildResultFolder="${build.result.folder}" targetFolder="${build.result.folder}/${full.name}" />
	</target>

	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/${full.name}" />
		<antcall target="apitools.generation">
			<param name="target.folder" value="${destination.temp.folder}/${full.name}"/>
			<param name="projectLocation" value="${basedir}"/>
			<param name="binary.folders" value="${build.result.folder}"/>
			<param name="projectName" value="${full.name}"/>
		</antcall>
		<copy todir="${destination.temp.folder}/${full.name}">
			<fileset dir="${basedir}" includes="plugin.properties,about.html,about_files/,META-INF/" />
		</copy>
		<eclipse.versionReplacer path="${destination.temp.folder}/${full.name}" version="${version.suffix}" />
	</target>

	<target name="build.jars" />
	<target name="gather.sources" />
	<target name="build.sources" />
	<target name="gather.logs" />

	<target name="copy.classpath" unless="haveclasspath">
		<copy file=".classpath_${osgi.ws}" tofile=".classpath" />
		<eclipse.refreshLocal resource="." depth="infinite" />
	</target>

	<target name="setup.classpath">
		<available file=".classpath" property="haveclasspath" />
		<antcall target="copy.classpath" />
		<copy file=".project_normal" tofile=".project" overwrite="yes" />
	</target>

	<target name="clean" depends="init">
	</target>

	<target name="apitools.generation" if="generateAPIDescription">
		<apitooling.apigeneration
			projectName="${projectName}"
			project="${projectLocation}"
			binary="${binary.folders}"
			target="${target.folder}"/>
	</target>
</project>