<?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.101.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>