<?xml version="1.0" encoding="UTF-8"?>
<!--
 *************************************************************************
 * Copyright (c) 2005 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.sqltools.parsers.sql.xml.query" default="build.jars" basedir=".">
	<import file="../org.eclipse.datatools.build/common_build.xml" optional="true"/>
	<property name="module.name" value="org.eclipse.datatools.sqltools.parsers.sql.xml.query"/>
	<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 -->
	<property name="javadocWindowTitle" value="DTP SQL XML Query Parser"/>
	<property name="javadocDocTitle" value="DTP SQL XML Query Parser API (Internal)"/>
	<property name="javadocPackages" value="org.eclipse.datatools.sqltools.parsers.sql.xml.query.*"/>
	<property name="javadocFooter" value="&lt;i>Copyright &#169;  2005 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="${javac.source}"/>
	<property name="javacTarget" value="${javac.target}"/>
	<property name="compilerArg" value=""/>
	<path id="path_bootclasspath">
		<fileset dir="${java.home}/lib">
			<include name="*.jar"/>
		</fileset>
		<fileset dir="${eclipse.home}/plugins">
			<include name="org.eclipse.core.runtime_*.jar"/>
			<include name="org.eclipse.osgi_*.jar"/>
			<!-- Include jared EMF plug-ins -->
			<include name="org.eclipse.emf.ecore_*.jar"/>
			<include name="org.eclipse.emf.common_*.jar"/>
			<include name="org.eclipse.emf.ecore.sdo_*.jar"/>
			<include name="org.eclipse.emf.commonj.sdo_*.jar"/>
			<include name="org.eclipse.emf.ecore.xmi_*.jar"/>
			<include name="org.eclipse.emf.ecore.change_*.jar"/>
			<!-- Include expanded EMF 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.emf.ecore_*/org.eclipse.emf.ecore*.jar"/>
			<include name="org.eclipse.emf.common_*/org.eclipse.emf.common*.jar"/>
			<include name="org.eclipse.emf.ecore.sdo_*/org.eclipse.emf.ecore.sdo*.jar"/>
			<include name="org.eclipse.emf.commonj.sdo_*/org.eclipse.emf.commonj.sdo*.jar"/>
			<include name="org.eclipse.emf.ecore.xmi_*/org.eclipse.emf.ecore.xmi*.jar"/>
			<include name="org.eclipse.emf.ecore.change_*/org.eclipse.emf.ecore.change*.jar"/>
		</fileset>
		<!-- Dependencies on other DTP plug-ins, built before this one -->
		<fileset dir="../">
			<include name="org.eclipse.datatools.modelbase.sql/bin/*"/>
			<include name="org.eclipse.datatools.modelbase.sql/sqlmodel.jar"/>
			<include name="org.eclipse.datatools.modelbase.sql.query/bin/*"/>
			<include name="org.eclipse.datatools.modelbase.sql.query/sqlquerymodel.jar"/>
			<include name="org.eclipse.datatools.sqltools.parsers.sql.lexer/bin/*"/>
			<include name="org.eclipse.datatools.sqltools.parsers.sql.lexer/lexer.jar"/>
			<include name="org.eclipse.datatools.sqltools.parsers.sql/bin/*"/>
			<include name="org.eclipse.datatools.sqltools.parsers.sql/sqlparser.jar"/>
			<include name="org.eclipse.datatools.sqltools.parsers.sql.query/bin/*"/>
			<include name="org.eclipse.datatools.sqltools.parsers.sql.query/sqlqueryparser.jar"/>
			<include name="org.eclipse.datatools.modelbase.sql.xml.query/bin/*"/>
			<include name="org.eclipse.datatools.modelbase.sql.xml.query/sqlxmlquerymodel.jar"/>
			<include name="org.eclipse.datatools.sqltools.parsers.sql/thirdparty/lpg.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.sqltools.parsers.sql.xml.query 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="sqlxmlqueryparser.jar" depends="init" unless="sqlxmlqueryparser.jar" description="Create jar: org.eclipse.datatools.sqltools.parsers.sql.xml.query sqlxmlqueryparser.jar.">
		<delete dir="${temp.folder}/sqlxmlqueryparser.jar.bin"/>
		<mkdir dir="${temp.folder}/sqlxmlqueryparser.jar.bin"/>
		<!-- compile the source code -->
		<javac destdir="${temp.folder}/sqlxmlqueryparser.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}"		>
			<compilerarg line="${compilerArg}"/>
			<classpath refid="path_bootclasspath"/>
			<src path="src/"			/>
			</javac>
		<!-- Copy necessary resources -->
		<copy todir="${temp.folder}/sqlxmlqueryparser.jar.bin" failonerror="true" overwrite="false">
			<fileset dir="src/" excludes="**/*.java, **/package.htm*,null"			/>
		</copy>
		<mkdir dir="${build.result.folder}"/>
		<jar destfile="${build.result.folder}/sqlxmlqueryparser.jar" basedir="${temp.folder}/sqlxmlqueryparser.jar.bin"/>
		<delete dir="${temp.folder}/sqlxmlqueryparser.jar.bin"/>
	</target>

	<target name="sqlxmlqueryparsersrc.zip" depends="init" unless="sqlxmlqueryparsersrc.zip">
		<mkdir dir="${build.result.folder}"/>
		<zip destfile="${build.result.folder}/sqlxmlqueryparsersrc.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.sqltools.parsers.sql.xml.query.">
		<available property="sqlxmlqueryparser.jar" file="${build.result.folder}/sqlxmlqueryparser.jar"/>
		<antcall target="sqlxmlqueryparser.jar"/>
	</target>

	<target name="build.sources" depends="init">
		<available property="sqlxmlqueryparsersrc.zip" file="${build.result.folder}/sqlxmlqueryparsersrc.zip"/>
		<antcall target="sqlxmlqueryparsersrc.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}" includes="sqlxmlqueryparser.jar"			/>
		</copy>
		<copy todir="${destination.temp.folder}/${module.name}_${plugin.version}" failonerror="true" overwrite="false">
			<fileset dir="${basedir}" includes="plugin.xml,about.html,sqlxmlqueryparser.jar,META-INF/"			/>
		</copy>
		<copy todir="${destination.temp.folder}/${module.name}_${plugin.version}" failonerror="false" overwrite="false">
			<fileset dir="${basedir}" includes="sqlxmlqueryparsersrc.zip"/>
		</copy>
	</target>

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

	<target name="gather.sources" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/${module.name}_${plugin.version}"/>
		<copy file="${build.result.folder}/sqlxmlqueryparsersrc.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,.cvsignore,.project,build.properties,plugin.xml,src/,bin/"			/>
		</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}/sqlxmlqueryparser.jar.bin.log" 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.sqltools.parsers.sql.xml.query of all the zips, jars and logs created.">
		<delete file="${build.result.folder}/sqlxmlqueryparser.jar"/>
		<delete file="${build.result.folder}/sqlxmlqueryparsersrc.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:/V3/3.1/eclipse/workspace-dtp/org.eclipse.datatools.sqltools.parsers.sql.xml.query" 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.sqltools.parsers.sql.xml.query.">
		<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>
