<project name="org.apache.ibatis.ibator.build" default="build">
	
	<!--
	   IMPORTANT NOTE: the following four properties may need to
	   be changed in your local build environment 
	 -->
	<property name="baseLocation" value="/JavaTools/eclipse_galileo"/>
	<property name="pdeBuildPluginVersion" value="3.5.1.R35x_20090820"/>
	<property name="equinoxLauncherPluginVersion" value="1.0.201.R35x_v20090715"/>
	<property name="buildDirectory" value="/temp/ibator.build"/>
	
	<property file="build.properties" />
	<property name="callbacks.file" value="devBuildCallbacks.xml" />

	<target name="init">
		<available file="${callbacks.file}" property="callbacks.enabled"/>
		
		<!-- First, regenerate the documentation -->
		<ant antfile="../org.apache.ibatis.ibator.eclipse.doc/buildDoc.xml"
		  dir="../org.apache.ibatis.ibator.eclipse.doc" />
		
		<mkdir dir="${buildDirectory}" />
		<mkdir dir="${buildDirectory}/plugins" />
		<mkdir dir="${buildDirectory}/features" />
		<copy todir="${buildDirectory}/plugins">
			<fileset dir="../">
				<include name="org.apache.ibatis.ibator.core/**" />
				<include name="org.apache.ibatis.ibator.eclipse.core/**" />
				<include name="org.apache.ibatis.ibator.eclipse.doc/**" />
				<include name="org.apache.ibatis.ibator.eclipse.ui/**" />
			</fileset>
		</copy>
		<copy todir="${buildDirectory}/features">
			<fileset dir="../">
				<include name="org.apache.ibatis.ibator/**" />
			</fileset>
		</copy>
		<copy todir="${buildDirectory}/plugins/org.apache.ibatis.ibator.core/src/main">
			<fileset dir="../../core/ibator-core/src/main">
				<include name="java/**" />
				<include name="resources/**" />
			</fileset>
		</copy>
	</target>
	
	<!--
		This target actually executes the PDE Build process by launching the 
		Eclipse antRunner application.
	-->
	<target name="pde-build">
		<dirname file="build.properties" property="builder"/>
		
		<java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
			<arg value="-application" />
			<arg value="org.eclipse.ant.core.antRunner" />
			<arg value="-buildfile" />
			<arg value="${baseLocation}/plugins/org.eclipse.pde.build_${pdeBuildPluginVersion}/scripts/build.xml" />
			<arg value="-Dtimestamp=${timestamp}" />
			<arg value="-Dbuilder=${builder}" />
			<arg value="-DbaseLocation=${baseLocation}" />
			<arg value="-DbuildDirectory=${buildDirectory}" />
			<classpath>
				<pathelement location="${baseLocation}/plugins/org.eclipse.equinox.launcher_${equinoxLauncherPluginVersion}.jar" />
			</classpath>
		</java>
	</target>
		
	<target name="clean">
		<delete dir="${buildDirectory}" />
	</target>
	
	<target name="postBuildDevCallback" if="callbacks.enabled">
		<subant antfile="${callbacks.file}" failonerror="false" buildpath="." target="post.build">
		</subant>
	</target>
	
	<target name="build" depends="clean, init, pde-build, postBuildDevCallback" />
	
</project>
