<?xml version="1.0" encoding="UTF-8"?>
<!--
 *************************************************************************
 * Copyright (c) 2006 Sybase, Inc. and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *  Sybase, Inc.  - initial API and implementation
 *  
 ***************************************************************************
 -->
<project name="org.eclipse.datatools.connectivity.dbdefinition.genericJDBC" default="build.jars" basedir=".">
	<import file="../org.eclipse.datatools.build/common_build.xml" optional="true"/>
	<property name="module.name" value="org.eclipse.datatools.connectivity.dbdefinition.genericJDBC"/>
	<property name="basews" value="${ws}"/>
	<property name="baseos" value="${os}"/>
	<property name="basearch" value="${arch}"/>
	<property name="basenl" value="${nl}"/>
	<property name="eclipse.home" location="."/>
	<property file="build.properties"/>
	<!-- JavaDoc settings -->
	<!-- No JavaDoc necessary for this plugin currently -->
	<property name="add.javadoc" value="false"/>
	<property name="javadocWindowTitle" value="DTP Generic JDBC Definition"/>
	<property name="javadocDocTitle" value="DTP Generic JDBC Definition"/>
	<property name="javadocPackages" value="org.eclipse.datatools.connectivity.dbdefinition.genericJDBC.*"/>
	<property name="javadocFooter" value="&lt;i>Copyright &#169;  2006 IBM Corporation and others. All rights reserved. &lt;/i>"/>
	<!-- Compiler settings. -->
	<property name="javacFailOnError" value="true"/>
	<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=""/>
	<path id="path_bootclasspath">
		<fileset dir="${java.home}/lib">
			<include name="*.jar"/>
		</fileset>
	</path>
	<property name="bootclasspath" refid="path_bootclasspath"/>
	<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}/${module.name}">
			<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.connectivity.dbdefinition.genericJDBC 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}"/>
	</target>
	<target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.eclipse.datatools.connectivity.dbdefinition.genericJDBC."/>
	<target name="build.sources" depends="init"/>
	<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="${basedir}" includes="plugin.xml,META-INF/,runtime/,plugin.properties,about.html"/>
		</copy>
	</target>
	<target name="build.zips" depends="init"/>
	<target name="gather.sources" depends="init" if="destination.temp.folder"/>
	<target name="gather.logs" depends="init" if="destination.temp.folder"/>
	<target name="clean" depends="init" description="Clean the plug-in: org.eclipse.datatools.connectivity.dbdefinition.genericJDBC of all the zips, jars and logs created.">
		<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:/V3/3.1/eclipse/workspace-dtp/org.eclipse.datatools.connectivity.dbdefinition.genericJDBC" 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.connectivity.dbdefinition.genericJDBC.">
		<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 destfile="${plugin.destination}/${module.name}_${plugin.version}.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
		<delete dir="${temp.folder}"/>
	</target>
</project>
