<?xml version="1.0" encoding="UTF-8"?><!--
    Copyright (c) 2006, 2010 IBM Corporation and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
    
    Contributors:
        IBM Corporation - initial API and implementation
 -->

<!-- ===================================================================== -->
<!-- Custom targets called from a project's generated build.xml            -->
<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
<!-- ===================================================================== -->
<project name="Build specific targets and properties" default="noDefault">

	<!-- ===================================================================== -->
	<!-- Default target                                                        -->
	<!-- ===================================================================== -->
	<target name="noDefault">
		<echo message="This file must be called with explicit targets" />
	</target>
	
	<!-- ===================================================================== -->
	<!-- Steps to do before the target build.jars                              -->
	<!-- Available parameters :                                                -->
	<!--   build.result.folder - folder to contain the build results           -->
	<!-- ===================================================================== -->
	<target name="pre.build.jars">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the target build.jars                               -->
	<!-- Available parameters :                                                -->
	<!--   build.result.folder - folder to contain the build results           -->
	<!-- ===================================================================== -->
	<target name="post.build.jars">
		<property name="buildLabel" value="global" />
		<property name="build.result.folder" value="${basedir}" />
		<property name="postingDirectory" value="${build.result.folder}/ecj" />
		<property name="dest" value="${postingDirectory}/${buildLabel}" />
		<ant antfile="${basedir}/scripts/export-ecj.xml" target="export"/>
	</target>
	
	<!-- ===================================================================== -->
	<!-- Steps to do before the target build.sources                           -->
	<!-- Available parameters :                                                -->
	<!--   build.result.folder - folder to contain the build results           -->
	<!-- ===================================================================== -->
	<target name="pre.build.sources">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the target build.sources                            -->
	<!-- Available parameters :                                                -->
	<!--   build.result.folder - folder to contain the build results           -->
	<!-- ===================================================================== -->
	<target name="post.build.sources">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before the compilation target <name>                      -->
	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
	<!-- Available parameters :                                                -->
	<!--   source.foldern : n = 1 ... N, the source folders                    -->
	<!--   target.folder  : where the results of the compilation go            -->
	<!--   <name>.classpath : name = name of the compilation target. A         -->
	<!--                      reference to the classpath structure.            -->
	<!-- ===================================================================== -->
	<target name="pre.name">
	</target>

	<target name="pre.@dot">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do during the compilation target <name>, after the compile   -->
	<!-- but before jaring.  Substitute "name" with the name of the compilation-->
	<!-- target, eg @dot                                                       -->
	<!-- Available parameters :                                                -->
	<!--   source.foldern : n = 1 ... N, the source folders                    -->
	<!--   target.folder  : where the results of the compilation go            -->
	<!--   <name>.classpath : name = name of the compilation target. A         -->
	<!--                      reference to the classpath structure.            -->
	<!-- ===================================================================== -->
	<target name="post.compile.name">
	</target>

	<target name="post.compile.@dot">
		<ant antfile="${basedir}/scripts/export-ecj.xml" target="extract-batch-compiler"/>
	</target>
	
	<!-- ===================================================================== -->
	<!-- Steps to do after the compilation target <name>                       -->
	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
	<!-- Available parameters :                                                -->
	<!--   jar.location - the location of the compilation results              -->
	<!--   <name>.classpath : name = name of the compilation target. A         -->
	<!--                      reference to the classpath structure.            -->
	<!-- ===================================================================== -->
	<target name="post.name">
	</target>

	<target name="post.@dot">
	</target>
	
	<!-- ===================================================================== -->
	<!-- Steps to do before the target gather.bin.parts                         -->
	<!-- Available parameters :                                                -->
	<!--   build.result.folder - folder containing the build results           -->
	<!--   target.folder - destination folder                                  -->
	<!-- ===================================================================== -->
	<target name="pre.gather.bin.parts">
	</target>
		
	<!-- ===================================================================== -->
	<!-- Steps to do after the target gather.bin.parts                         -->
	<!-- Available parameters :                                                -->
	<!--   build.result.folder - folder containing the build results           -->
	<!--   target.folder - destination folder                                  -->
	<!-- ===================================================================== -->
	<target name="post.gather.bin.parts">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before the target gather.sources                          -->
	<!-- Available parameters :                                                -->
	<!--   destination.temp.folder - destination folder                        -->
	<!-- ===================================================================== -->
	<target name="pre.gather.sources">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the target gather.sources                           -->
	<!-- Available parameters :                                                -->
	<!--   destination.temp.folder - destination folder                        -->
	<!-- ===================================================================== -->
	<target name="post.gather.sources">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before the target gather.logs                             -->
	<!-- Available parameters :                                                -->
	<!--   destination.temp.folder - destination folder                        -->
	<!-- ===================================================================== -->
	<target name="pre.gather.logs">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the target gather.logs                              -->
	<!-- Available parameters :                                                -->
	<!--   destination.temp.folder - destination folder                        -->
	<!-- ===================================================================== -->
	<target name="post.gather.logs">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before the target clean                                   -->
	<!-- Available parameters :                                                -->
	<!--   destination.temp.folder - destination folder                        -->
	<!-- ===================================================================== -->
	<target name="pre.clean">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the target clean                                    -->
	<!-- Available parameters :                                                -->
	<!--   plugin.destination - final destination of the build                 -->
	<!--   build.result.folder - results of the compilation                    -->
	<!--   temp.folder - temporary folder                                      -->
	<!-- ===================================================================== -->
	<target name="post.clean">
	</target>
	
	<!-- ===================================================================== -->
	<!-- Steps to do before the target jdtCompilerAdapter.jar                  -->
	<!-- ===================================================================== -->
	<target name="pre.jdtCompilerAdapter.jar">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the target compile.jdtCompilerAdapter.jar           -->
	<!-- ===================================================================== -->	<!-- Steps to do during the compilation target <name>, after the compile   -->	<!-- but before jaring.  Substitute "name" with the name of the compilation-->	<!-- target, eg @dot                                                       -->	<!-- Available parameters :                                                -->	<!--   source.foldern : n = 1 ... N, the source folders                    -->	<!--   target.folder  : where the results of the compilation go            -->	<!--   <name>.classpath : name = name of the compilation target. A         -->	<!--                      reference to the classpath structure.            -->	<!-- ===================================================================== -->	<target name="post.compile.jdtCompilerAdapter.jar">
		<ant antfile="${basedir}/scripts/export-ecj.xml" target="extract-ant-adapter-compiler"/>		<copy todir="${target.folder}">			<fileset dir="${basedir}/scripts/antadapter">				<include name="plugin.properties"/>				<include name="plugin.xml"/>			</fileset>		</copy>	
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the target jdtCompilerAdapter.jar                   -->
	<!--   jar.Location : the location of the file jdtCompilerAdapter.jar      -->	<!-- ===================================================================== -->
	<target name="post.jdtCompilerAdapter.jar">
		<property name="unjarDestBin" value="${basedir}/tempbin"/>		<mkdir dir="${unjarDestBin}"/>		<unjar src="${jar.Location}" dest="${unjarDestBin}"/>		<delete file="${jar.Location}" />		<delete file="${unjarDestBin}/META-INF/MANIFEST.MF" failonerror="false"/>		<copy file="${basedir}/scripts/antadapter/META-INF/MANIFEST.MF" todir="${unjarDestBin}/META-INF"/>		<eclipse.versionReplacer path="${unjarDestBin}" version="${bundleVersion}"/>		<zip destfile="${jar.Location}">			<fileset dir="${unjarDestBin}" includes="META-INF/MANIFEST.MF"/>			<fileset dir="${unjarDestBin}">				<include name="**/*"/>				<exclude name="META-INF/MANIFEST.MF"/>			</fileset>		</zip>		<delete dir="${unjarDestBin}" failonerror="false"/>	</target>
</project>