<?xml version="1.0" encoding="UTF-8"?>
<project name="org.eclipse.wst.server_sdk.feature" default="build.update.jar" basedir=".">

	<target name="init">
		<property name="feature.temp.folder" value="${basedir}/feature.temp.folder"/>
		<property name="feature.destination" value="${basedir}"/>
	</target>

	<target name="all.plugins" depends="init">
		<ant antfile="build.xml" dir="../org.eclipse.wst.server.isvdoc" target="${target}">
		</ant>
		<ant antfile="build.xml" dir="../org.eclipse.wst.server.source" target="${target}">
		</ant>
	</target>
	<target name="all.features" depends="init">
		<ant antfile="build.xml" dir="../org.eclipse.wst.common_sdk.feature/" target="${target}"/>
	</target>
	<target name="update.feature" depends="init">
	</target>

	<target name="all.children" depends="init,all.features,all.plugins,update.feature">
	</target>

	<target name="children" if="include.children">
		<antcall target="all.children"/>
	</target>

	<target name="build.jars" depends="init" description="Build all the jars for the feature: org.eclipse.wst.server_sdk.feature.">
		<antcall target="all.children">
			<param name="target" value="build.jars"/>
		</antcall>
	</target>

	<target name="build.sources" depends="init">
		<antcall target="all.children">
			<param name="target" value="build.sources"/>
		</antcall>
	</target>

	<target name="build.zips" depends="init">
		<antcall target="all.children">
			<param name="target" value="build.zips"/>
		</antcall>
	</target>

	<target name="build.update.jar" depends="init" description="Build the feature jar of: org.eclipse.wst.server_sdk.feature for an update site.">
		<antcall target="all.children">
			<param name="target" value="build.update.jar"/>
		</antcall>
		<property name="feature.base" value="${feature.temp.folder}"/>
		<delete dir="${feature.temp.folder}"/>
		<mkdir dir="${feature.temp.folder}"/>
		<antcall target="gather.bin.parts" inheritAll="false">
			<param name="arch" value="*"/>
			<param name="ws" value="*"/>
			<param name="nl" value="*"/>
			<param name="os" value="*"/>
			<param name="feature.base" value="${feature.temp.folder}"/>
		</antcall>
		<jar destfile="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.jar" basedir="${feature.temp.folder}/features/org.eclipse.wst.server_sdk.feature_1.0.0"/>
		<delete dir="${feature.temp.folder}"/>
	</target>

	<target name="gather.bin.parts" depends="init" if="feature.base">
		<antcall target="children">
			<param name="destination.temp.folder" value="${feature.base}/plugins"/>
			<param name="target" value="gather.bin.parts"/>
		</antcall>
		<mkdir dir="${feature.base}/features/org.eclipse.wst.server_sdk.feature_1.0.0"/>
		<copy todir="${feature.base}/features/org.eclipse.wst.server_sdk.feature_1.0.0" failonerror="true" overwrite="false">
			<fileset dir="${basedir}" includes="feature.xml"			/>
		</copy>
		<eclipse.idReplacer featureFilePath="${feature.base}/features/org.eclipse.wst.server_sdk.feature_1.0.0/feature.xml"  selfVersion="1.0.0" featureIds="org.eclipse.wst.common_sdk.feature,1.0.0," pluginIds="org.eclipse.wst.server.source,1.0.0,org.eclipse.wst.server.isvdoc,1.0.0,"/>
		<antcall target="rootFiles${os}_${ws}_${arch}"/>
	</target>
	<target name="rootFiles*_*_*">
	</target>

	<target name="zip.distribution" depends="init" description="Create a zip containing all the plug-ins and features for the feature: org.eclipse.wst.server_sdk.feature.">
		<delete dir="${feature.temp.folder}"/>
		<mkdir dir="${feature.temp.folder}"/>
		<antcall target="gather.bin.parts">
			<param name="arch" value="*"/>
			<param name="ws" value="*"/>
			<param name="nl" value="*"/>
			<param name="include.children" value="true"/>
			<param name="feature.base" value="${feature.temp.folder}"/>
			<param name="os" value="*"/>
		</antcall>
		<zip destfile="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.bin.dist.zip" basedir="${feature.temp.folder}" filesonly="false" whenempty="skip" update="false"/>
		<delete dir="${feature.temp.folder}"/>
	</target>

	<target name="zip.sources" depends="init">
		<delete dir="${feature.temp.folder}"/>
		<mkdir dir="${feature.temp.folder}"/>
		<antcall target="all.children">
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins/org.eclipse.wst.server_sdk.feature.source_1.0.0/src"/>
			<param name="include.children" value="true"/>
			<param name="target" value="gather.sources"/>
		</antcall>
		<zip destfile="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.src.zip" basedir="${feature.temp.folder}" filesonly="true" whenempty="skip" update="false"/>
		<delete dir="${feature.temp.folder}"/>
	</target>

	<target name="zip.logs" depends="init">
		<delete dir="${feature.temp.folder}"/>
		<mkdir dir="${feature.temp.folder}"/>
		<antcall target="all.children" inheritAll="false">
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins"/>
			<param name="include.children" value="true"/>
			<param name="target" value="gather.logs"/>
		</antcall>
		<zip destfile="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.log.zip" basedir="${feature.temp.folder}" filesonly="true" whenempty="skip" update="false"/>
		<delete dir="${feature.temp.folder}"/>
	</target>

	<target name="clean" depends="init" description="Clean the feature: org.eclipse.wst.server_sdk.feature of all the zips, jars and logs created.">
		<delete file="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.jar"/>
		<delete file="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.bin.dist.zip"/>
		<delete file="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.log.zip"/>
		<delete file="${feature.destination}/org.eclipse.wst.server_sdk.feature_1.0.0.src.zip"/>
		<delete dir="${feature.temp.folder}"/>
		<antcall target="all.children">
			<param name="target" value="clean"/>
		</antcall>
	</target>

	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
		<eclipse.convertPath fileSystemPath="D:/builds/Workspaces/pureHeadWTP/org.eclipse.wst.server_sdk.feature/" property="resourcePath"/>
		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
		<antcall target="all.children">
			<param name="target" value="refresh"/>
		</antcall>
	</target>
	<target name="gather.sources">
		<antcall target="children">
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins/org.eclipse.wst.server_sdk.feature.source_1.0.0/src"/>
			<param name="target" value="gather.sources"/>
		</antcall>
	</target>

	<target name="gather.logs" depends="init">
		<mkdir dir="${feature.temp.folder}"/>
		<antcall target="all.children" inheritAll="false">
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins"/>
			<param name="target" value="gather.logs"/>
		</antcall>
	</target>

</project>
