<?xml version="1.0" encoding="UTF-8"?>
<project name="org.eclipse.datatools.enablement.sybase.ase.ui" default="build.jars" basedir=".">
	<property name="module.name" value="org.eclipse.datatools.enablement.sybase.ase.ui"/>
	<property name="basews" value="${ws}"/>
	<property name="baseos" value="${os}"/>
	<property name="basearch" value="${arch}"/>
	<property name="basenl" value="${nl}"/>

	<!-- Compiler settings. -->
	<property name="javacFailOnError" value="true"/>
	<property name="javacDebugInfo" value="on"/>
	<property name="javacVerbose" value="false"/>
	<property name="logExtension" value=".log"/>
	<property name="compilerArg" value=""/>
	<property name="javacSource" value="1.5"/>
	<property name="javacTarget" value="1.5"/>
	<path id="path_bootclasspath">
		<fileset dir="${java.home}/lib">
			<include name="*.jar"/>
		</fileset>
	</path>
	<property name="bootclasspath" refid="path_bootclasspath"/>
	<property name="bundleJavacSource" value="${javacSource}"/>
	<property name="bundleJavacTarget" value="${javacTarget}"/>
	<property name="bundleBootClasspath" value="${bootclasspath}"/>

	<target name="init" depends="properties">
		<condition property="pluginTemp" value="${buildTempFolder}/plugins">
			<isset property="buildTempFolder"/>
		</condition>
		<property name="pluginTemp" value="${basedir}"/>
		<property file="build.properties"/>
		<condition property="build.result.folder" value="${pluginTemp}/org.eclipse.datatools.enablement.sybase.ase.ui">
			<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: org.eclipse.datatools.enablement.sybase.ase.ui 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 destfile="${plugin.destination}/${module.name}_${plugin.version}.jar" basedir="${temp.folder}/${module.name}_${plugin.version}" filesonly="false" whenempty="skip" update="false"/>
		<delete dir="${temp.folder}"/>
		<delete dir="${build.result.folder}/@dot"/>
	</target>

	<target name="enablement.ase.ui.jar" depends="init" description="Create jar: org.eclipse.datatools.enablement.sybase.ase.ui enablement.ase.ui.jar.">
		<delete dir="${temp.folder}/enablement.ase.ui.jar.bin"/>
		<mkdir dir="${temp.folder}/enablement.ase.ui.jar.bin"/>
		<path id="enablement.ase.ui.jar.classpath">
			<fileset dir="${eclipse.home}/plugins">
				<!-- Include jared plug-ins -->
				<include name="org.eclipse.core*.jar"/>
				<include name="org.eclipse.equinox*.jar"/>
				<include name="org.eclipse.osgi_*.jar"/>
				<include name="org.eclipse.ui*.jar"/>
				<include name="org.eclipse.emf*.jar"/>
				<include name="org.eclipse.swt_*.jar"/>
				<include name="org.eclipse.swt.*_*.jar"/>
				<include name="org.eclipse.jface_*.jar"/>
				<include name="com.ibm.icu_*.jar"/>
				<include name="*.jar"/>
				<!-- Include expanded plug-ins -->
				<include name="org.eclipse.core.runtime_*/org.eclipse.core.runtime_*.jar"/>
				<include name="org.eclipse.osgi_*/org.eclipse.osgi_*.jar"/>
				<include name="org.eclipse.core.resources_*/org.eclipse.core.resources_*.jar"/>
				<include name="org.eclipse.ui_*/org.eclipse.ui_*.jar"/>
				<include name="org.eclipse.swt_*/org.eclipse.swt_*.jar"/>
				<include name="org.eclipse.swt.*_*/org.eclipse.swt.*_*.jar"/>
				<include name="org.eclipse.jface_*/org.eclipse.jface_*.jar"/>
				<include name="org.eclipse.core.commands_*/org.eclipse.core.commands_*.jar"/>
				<include name="org.eclipse.ui.workbench_*/org.eclipse.ui.workbench_*.jar"/>
			</fileset>
			<!--The generated dtp plugins-->
			<fileset dir="${plugin.destination}">
		            <include name="org.eclipse.datatools*/*.jar"/>
					<include name="*.jar"/>
	        </fileset>
		</path>
		<!-- compile the source code -->
		<javac destdir="${temp.folder}/enablement.ase.ui.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"		>
			<compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
			<classpath refid="enablement.ase.ui.jar.classpath" />
			<src path="src/"			/>
			<compilerarg value="@${basedir}/javaCompiler.enablement.ase.ui.jar.args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
			<compilerarg line="-log '${temp.folder}/enablement.ase.ui.jar.bin${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
		</javac>
		<!-- Copy necessary resources -->
		<copy todir="${temp.folder}/enablement.ase.ui.jar.bin" failonerror="true" overwrite="false">
			<fileset dir="src/" excludes="**/*.java, **/package.htm*"			/>
		</copy>
		<mkdir dir="${build.result.folder}"/>
		<copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
			<fileset dir="${temp.folder}/enablement.ase.ui.jar.bin"			/>
		</copy>
		<delete dir="${temp.folder}/enablement.ase.ui.jar.bin"/>
	</target>

	<target name="sybasadbsrc.zip" depends="init" unless="sybasadbsrc.zip">
		<mkdir dir="${build.result.folder}"/>
		<zip destfile="${build.result.folder}/src.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: org.eclipse.datatools.enablement.sybase.ase.ui.">
		<available property="enablement.ase.ui.jar" file="${build.result.folder}/@dot"/>
		<antcall target="enablement.ase.ui.jar"/>
	</target>

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

	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/${module.name}_${plugin.version}"/>
		<copy todir="${destination.temp.folder}/${module.name}_${plugin.version}" failonerror="true" overwrite="false">
			<fileset dir="${build.result.folder}/@dot" includes="**"			/>
		</copy>
		<copy todir="${destination.temp.folder}/${module.name}_${plugin.version}" failonerror="true" overwrite="false">
			<fileset dir="${basedir}" includes="META-INF/,plugin.xml,about.html,icons/,plugin.properties,enablement.ase.ui.jar,runtime/"			/>
		</copy>
	</target>

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

	<target name="gather.sources" depends="init,build.sources" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/${module.name}_${plugin.version}"/>
		<copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/${module.name}_${plugin.version}" failonerror="false" overwrite="false"/>
		<copy todir="${destination.temp.folder}/${module.name}_${plugin.version}" failonerror="false" overwrite="false">
			<fileset dir="${basedir}" includes=".classpath,.project,META-INF/,about.html,build.properties,icons/,plugin.properties,plugin.xml,readme.txt,runtime/"			/>
		</copy>
	</target>

	<target name="gather.logs" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/${module.name}_${plugin.version}"/>
		<copy file="${temp.folder}/enablement.ase.ui.jar.bin${logExtension}" todir="${destination.temp.folder}/${module.name}_${plugin.version}" failonerror="false" overwrite="false"/>
	</target>

	<target name="clean" depends="init" description="Clean the plug-in: org.eclipse.datatools.enablement.sybase.ase.ui of all the zips, jars and logs created.">
		<delete dir="${build.result.folder}/@dot"/>
		<delete file="${build.result.folder}/sybasadbsrc.zip"/>
		<delete file="${plugin.destination}/${module.name}_${plugin.version}.jar"/>
		<delete file="${plugin.destination}/${module.name}_${plugin.version}.zip"/>
		<delete dir="${temp.folder}"/>
	</target>

	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
		<eclipse.convertPath fileSystemPath="C:/work/workspace/org.eclipse.datatools.enablement.sybase.ase.ui" 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: org.eclipse.datatools.enablement.sybase.ase.ui.">
		<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${logExtension}"			/>
		</delete>
		<zip destfile="${plugin.destination}/${module.name}_${plugin.version}.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
		<delete dir="${temp.folder}"/>
	</target>

</project>
