<?xml version="1.0" encoding="UTF-8"?>
<project name="net.sourceforge.phpeclipse.js.core" default="build.jars" basedir=".">

	<property name="bootclasspath" value=""/>
	<property name="basews" value="${ws}"/>
	<property name="baseos" value="${os}"/>
	<property name="basearch" value="${arch}"/>
	<property name="basenl" value="${nl}"/>
	<property name="javacFailOnError" value="false"/>
	<property name="javacDebugInfo" value="on"/>
	<property name="javacVerbose" value="true"/>
	<property name="javacSource" value="1.3"/>
	<property name="javacTarget" value="1.2"/>
	<property name="compilerArg" value=""/>

	<target name="init" depends="properties">
		<condition property="pluginTemp" value="${buildTempFolder}/plugins">
			<isset property="buildTempFolder"/>
		</condition>
		<property name="pluginTemp" value="${basedir}"/>
		<condition property="build.result.folder" value="${pluginTemp}/net.sourceforge.phpeclipse.js.core">
			<isset property="buildTempFolder"/>
		</condition>
		<property name="build.result.folder" value="${basedir}"/>
		<property name="temp.folder" value="${basedir}/temp.folder"/>
		<property name="plugin.destination" value="${basedir}"/>
	</target>

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

	<target name="build.update.jar" depends="init" description="Build the plug-in: net.sourceforge.phpeclipse.js.core for an update site.">
		<delete dir="${temp.folder}"/>
		<mkdir dir="${temp.folder}"/>
		<antcall target="build.jars"/>
		<antcall target="gather.bin.parts">
			<param name="destination.temp.folder" value="${temp.folder}/"/>
		</antcall>
		<zip zipfile="${plugin.destination}/net.sourceforge.phpeclipse.js.core_1.1.2.jar" basedir="${temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2" filesonly="false" whenempty="skip" update="false"/>
		<delete dir="${temp.folder}"/>
	</target>

	<target name="jscore.jar" depends="init" unless="jscore.jar" description="Create jar: jscore.jar.">
		<delete dir="${temp.folder}/jscore.jar.bin"/>
		<mkdir dir="${temp.folder}/jscore.jar.bin"/>
		<!-- compile the source code -->
		<javac destdir="${temp.folder}/jscore.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}"		>
			<compilerarg line="${compilerArg}"/>
			<classpath>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources_3.0.1/resources.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources.win32_3.0.0/resources.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.core.resources.win32_3.0.0/resources-win32.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.core.runtime.compatibility_3.0.0/compatibility.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.core.runtime_3.0.1/runtime.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/core.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/console.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/osgi.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/resolver.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/defaultAdaptor.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.osgi_3.0.1/eclipseAdaptor.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.update.configurator_3.0.0/configurator.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.jface.text_3.0.1/jfacetext.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.text_3.0.1/text.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.swt_3.0.1/ws/${basews}/swt.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.swt.win32_3.0.1/ws/${basews}/swt.jar"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.swt.win32_3.0.1"/>
				<pathelement path="../../../eclipse301/plugins/org.eclipse.jface_3.0.0/jface.jar"/>
			</classpath>
			<src path="src/"			/>
			</javac>
		<!-- Copy necessary resources -->
		<copy todir="${temp.folder}/jscore.jar.bin" failonerror="true">
			<fileset dir="src/" excludes="**/*.java, **/package.htm*"			/>
		</copy>
		<mkdir dir="${build.result.folder}"/>
		<jar jarfile="${build.result.folder}/jscore.jar" basedir="${temp.folder}/jscore.jar.bin"/>
		<delete dir="${temp.folder}/jscore.jar.bin"/>
	</target>

	<target name="jscoresrc.zip" depends="init" unless="jscoresrc.zip">
		<mkdir dir="${build.result.folder}"/>
		<zip zipfile="${build.result.folder}/jscoresrc.zip" filesonly="false" whenempty="skip" update="false">
			<fileset dir="src/" includes="**/*.java"			/>
		</zip>
	</target>

	<target name="build.jars" depends="init" description="Build all the jars for the plug-in: net.sourceforge.phpeclipse.js.core.">
		<available property="jscore.jar" file="${build.result.folder}/jscore.jar"/>
		<antcall target="jscore.jar"/>
	</target>

	<target name="build.sources" depends="init">
		<available property="jscoresrc.zip" file="${build.result.folder}/jscoresrc.zip"/>
		<antcall target="jscoresrc.zip"/>
	</target>

	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2"/>
		<copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2" failonerror="true">
			<fileset dir="${build.result.folder}" includes="jscore.jar"			/>
		</copy>
		<copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2" failonerror="true">
			<fileset dir="${basedir}" includes="icons/,jscoresrc.zip,plugin.xml,plugin.properties,jscore.jar,cpl-v10.html"			/>
		</copy>
	</target>

	<target name="build.zips" depends="init">
	</target>

	<target name="gather.sources" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2"/>
		<copy file="${build.result.folder}/jscoresrc.zip" todir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2" failonerror="false"/>
		<copy todir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2" failonerror="false">
			<fileset dir="${basedir}" includes="src/,.classpath,.cvsignore,.project"			/>
		</copy>
	</target>

	<target name="gather.logs" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2"/>
		<copy file="${temp.folder}/jscore.jar.bin.log" todir="${destination.temp.folder}/net.sourceforge.phpeclipse.js.core_1.1.2" failonerror="false"/>
	</target>

	<target name="clean" depends="init" description="Clean the plug-in: net.sourceforge.phpeclipse.js.core of all the zips, jars and logs created.">
		<delete file="${build.result.folder}/jscore.jar"/>
		<delete file="${build.result.folder}/jscoresrc.zip"/>
		<delete file="${plugin.destination}/net.sourceforge.phpeclipse.js.core_1.1.2.jar"/>
		<delete file="${plugin.destination}/net.sourceforge.phpeclipse.js.core_1.1.2.zip"/>
		<delete dir="${temp.folder}"/>
	</target>

	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
		<eclipse.convertPath fileSystemPath="C:/eclipse3/workspace/net.sourceforge.phpeclipse.js.core" property="resourcePath"/>
		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
	</target>

	<target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: net.sourceforge.phpeclipse.js.core.">
		<delete dir="${temp.folder}"/>
		<mkdir dir="${temp.folder}"/>
		<antcall target="build.jars"/>
		<antcall target="build.sources"/>
		<antcall target="gather.bin.parts">
			<param name="destination.temp.folder" value="${temp.folder}/"/>
		</antcall>
		<antcall target="gather.sources">
			<param name="destination.temp.folder" value="${temp.folder}/"/>
		</antcall>
		<delete>
			<fileset dir="${temp.folder}" includes="**/*.bin.log"			/>
		</delete>
		<zip zipfile="${plugin.destination}/net.sourceforge.phpeclipse.js.core_1.1.2.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
		<delete dir="${temp.folder}"/>
	</target>

</project>
