<?xml version="1.0" encoding="UTF-8"?>
<project name="ch.sahits.codegen.sdk" default="zip.sources" basedir=".">
	<property name="bundleVersion" value="2.0.0"/>
	<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="sdk-build.xml" dir="../ch.sahits.codegen.microsoft" target="${target}">
		</ant>
		<ant antfile="sdk-build.xml" dir="../ch.sahits.model" target="${target}">
		</ant>
		<ant antfile="sdk-build.xml" dir="../plugin_ch.sahits.codegen.java" target="${target}">
		</ant>
		<ant antfile="sdk-build.xml" dir="../ch.sahits.codegen.mysql" target="${target}">
		</ant>
		<ant antfile="sdk-build.xml" dir="../ch.sahits.codegen.oracle" target="${target}">
		</ant>
		<ant antfile="sdk-build.xml" dir="../ch.sahits.codegen.java.gui" target="${target}">
		</ant>
		<ant antfile="sdk-build.xml" dir="../ch.sahits.codegen.java.examples" target="${target}">
		</ant>
		<ant antfile="sdk-build.xml" dir="../ch.sahits.codegen.test" target="${target}">
		</ant>
	</target>
	<target name="all.features" depends="init">
	</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: ch.sahits.codegen.sdk.">
		<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: ch.sahits.codegen.sdk 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="os" value="*"/>
			<param name="feature.base" value="${feature.temp.folder}"/>
			<param name="ws" value="*"/>
			<param name="arch" value="*"/>
			<param name="nl" value="*"/>
		</antcall>
		<jar destfile="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.jar" basedir="${feature.temp.folder}/features/ch.sahits.codegen.sdk_0.9.5"/>
		<delete dir="${feature.temp.folder}"/>
	</target>
	<target name="gather.bin.parts" depends="init" if="feature.base">
		<mkdir dir="${feature.base}/features/ch.sahits.codegen.sdk_${bundleVersion}"/>
		<antcall target="children">
			<param name="target" value="gather.bin.parts"/>
			<param name="destination.temp.folder" value="${feature.base}/plugins"/>
		</antcall>
		<copy todir="${feature.base}/features/ch.sahits.codegen.sdk_${bundleVersion}" failonerror="true" overwrite="false">
			<fileset dir="${basedir}">
				<include name="feature.xml"/>
			</fileset>
		</copy>
		<eclipse.idReplacer featureFilePath="${feature.base}/features/ch.sahits.codegen.sdk_${bundleVersion}/feature.xml"  selfVersion="0.9.5" featureIds="" pluginIds="ch.sahits.codegen.java:0.0.0,0.9.5,ch.sahits.codegen.java.examples:0.0.0,0.9.5,ch.sahits.codegen.java.gui:0.0.0,0.9.5,ch.sahits.codegen.test:0.0.0,0.9.5,ch.sahits.model:0.0.0,0.9.5,ch.sahits.codegen.microsoft:0.0.0,0.9.5,ch.sahits.codegen.mysql:0.0.0,0.9.5,ch.sahits.codegen.oracle:0.0.0,0.9.5,"/>
		<antcall target="rootFiles${os}_${ws}_${arch}"/>
	</target>
	<target name="rootFiles*_*_*">
	</target>
	<target name="rootFilesgroup_group_group">
		<antcall target="rootFiles*_*_*"/>
	</target>
	<target name="zip.distribution" depends="init" description="Create a zip containing all the plug-ins and features for the feature: ch.sahits.codegen.sdk.">
		<delete dir="${feature.temp.folder}"/>
		<mkdir dir="${feature.temp.folder}"/>
		<antcall target="gather.bin.parts">
			<param name="feature.base" value="${feature.temp.folder}"/>
			<param name="os" value="*"/>
			<param name="arch" value="*"/>
			<param name="ws" value="*"/>
			<param name="nl" value="*"/>
			<param name="include.children" value="true"/>
		</antcall>
		<zip destfile="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.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="target" value="gather.sources"/>
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins/ch.sahits.codegen.sdk.source_${bundleVersion}/src"/>
			<param name="include.children" value="true"/>
		</antcall>
		<zip destfile="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.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="target" value="gather.logs"/>
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins"/>
			<param name="include.children" value="true"/>
		</antcall>
		<zip destfile="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.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: ch.sahits.codegen.sdk of all the zips, jars and logs created.">
		<delete file="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.jar"/>
		<delete file="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.bin.dist.zip"/>
		<delete file="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.log.zip"/>
		<delete file="${feature.destination}/ch.sahits.codegen.sdk_${bundleVersion}.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="/home/andi/eclipse/feature_ch.sahits.codegen.sdk/" 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="target" value="gather.sources"/>
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins/ch.sahits.codegen.sdk.source_${bundleVersion}/src"/>
		</antcall>
	</target>
	<target name="gather.logs" depends="init">
		<mkdir dir="${feature.temp.folder}"/>
		<antcall target="all.children" inheritAll="false">
			<param name="target" value="gather.logs"/>
			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins"/>
		</antcall>
	</target>
</project>