<project default="main">

	<!--
		Steps
	 	Ant properties available at runtime: 
	
	 - eclipse.pdebuild.scripts: the org.eclipse.eclipse.pdebuild.scripts folder
	 - eclipse.pdebuild.home: the root folder of pde build
	 - eclipse.pdebuild.templates: the  templates folder
	
	-->

	<!--build monitoring information:  e-mail, smtp server, build label-->
	<property file="monitor.properties"/>
	
	<!--location of PDE Build configuration files for builder and packager-->
	<property name="eclipse.build.configs" value="${basedir}/eclipse/buildConfigs" />
	
	<property name="sdkHelper" location="${eclipse.build.configs}/eclipse/helper.xml"/>
	<property name="base.builder" value="${basedir}/../BaseBuilder" />
	
	<!--location of properties file containing last tag used for integration build-->
	<property name="mapTag.properties" value="/home/users/releng/buildTools/eclipse33/mapTag.properties"/>
	
	<!--location of properties file containing last performance reference test information-->
	<property name="ref.properties" value="/home/users/releng/buildTools/eclipse.perf/ref33.properties"/>
	
	<!--location of test update site-->
	<property file="${ref.properties}"/>
	
	<!--default buildDirectory-->
	<property name="buildDirectory" value="${basedir}/../src" />
	
	<!--default location for build output, parent to ${buildId}-->
	<property name="postingDirectory" value="${buildDirectory}" />

    <!--remote sign machine login infomation-->
    <property name="username.sign" value="" />
    <property name="password.sign" value="" />
    <property name="hostname.sign" value="" />
    <property name="home.dir" value="" />
    <property name="sign.dir" value="" />

    <target name="main" depends="init">
    	<antcall target="prepareMapFile"/>
		<antcall target="buildDtpSdkAllFeature"/>
		<antcall target="buildDtpEnablementAllFeature"/>
		<antcall target="buildDtpIncubationAllFeature"/>
		<ant antfile="${eclipse.build.configs}/../helper.xml" target="verifyCompile" />
		<antcall target="integrateDtpFeatures"/>
        <antcall target="Package"/>
        <antcall target="GenerateUpdateSite"/>

	</target>

	<target name="init">
		<ant antfile="build.xml" target="init" />
		<property file="${buildDirectory}/label.properties" />
		
		<condition property="fetchTag" value="HEAD">
			<equals arg1="${buildType}" arg2="N" />
		</condition>
		<condition property="forceContextQualifier" value="${buildId}">
			<equals arg1="${buildType}" arg2="N" />
		</condition>
		<condition property="generateFeatureVersionSuffix" value="false">
			<equals arg1="${buildType}" arg2="N" />
		</condition>
		<!--compiler args-->
		<property name="compilerArg" value="-enableJavadoc -encoding utf-8 -warn:-discouraged,forbidden" />
		<property name="javacSource" value="1.5" />
		<property name="javacTarget" value="1.5" />
		<property name="javacDebugInfo" value="true" />
		<property name="javacFailOnError" value="true" />
		<property name="javacVerbose" value="false" />
		<property name="logExtension" value=".xml" />
		<!--this property required as of Eclipse 3.0 stream builds > 20031126 -->
		<property name="buildingOSGi" value="true" />
		<!--zip args-->
		<property name="zipargs" value="-y -qq" />
		<!--unzip args-->
		<property name="unzipArgs" value="-qq" />
	</target>
	
	<target name="checkLocal">
		<available property="mapsLocal" file="${buildDirectory}/maps/org.eclipse.datatools.releng" />
	</target>

	<target name="prepareMapFile" depends="checkLocal" unless="mapsLocal">
		
        <cvs cvsRoot="${mapCvsRoot}" 
             package="org.eclipse.datatools.releng" dest="${buildDirectory}/maps" tag="${mapVersionTag}" />

        <cvs cvsRoot="${mapCvsRoot}" 
             package="org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" 
             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
        <cvs cvsRoot="${mapCvsRoot}" 
             package="org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" 
             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
        <cvs cvsRoot="${mapCvsRoot}" 
             package="org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" 
             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
        <cvs cvsRoot="${mapCvsRoot}" 
             package="org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" 
             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
        <cvs cvsRoot="${mapCvsRoot}" 
             package="org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" 
             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
		
		<!--compare the map files project-->
		<antcall target="compareMapFiles" />
		<!--tag the map files project-->
		<antcall target="tagMapFiles" />
			
		<!-- this value could be overwrite by the bootstrap command -->
		<property name="dtp.url.token" value="@DTP.URL.TOKEN@"/>
		
		<replace dir="${buildDirectory}/maps" value="${mapCvsRoot}" token="${dtp.url.token}">
			<include name="**/*.map" />
		</replace>
		
	</target>
	
	<target name="compareMapFiles" if="compareMaps">
		<property file="${mapTag.properties}"/>
		<property name="cvsDiffFile" value="${buildDirectory}/cvsDiff.txt" />
		<cvs cvsRoot="${mapCvsRoot}" dest="${buildDirectory}/maps" command="diff -w -r ${lastMapTag}" output="${cvsDiffFile}" />
		<modifiedMaps mapDiffFile="${cvsDiffFile}" />
	</target>

	<target name="tagMapFiles" if="tagMaps">
		<!-- Stores tag on the filesystem so map files can be compared -->
		<echo file="${mapTag.properties}">
		lastMapTag=r18_${buildId}
		</echo>
		<echo message="tagging org.eclipse.datatools.releng..."/>
		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.releng" command="tag r18_${buildId}" />
		<echo message="tagging org.eclipse.datatools.connectivity.releng..."/>
		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" command="tag r18_${buildId}" />
		<echo message="tagging org.eclipse.datatools.enablement.releng..."/>
		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" command="tag r18_${buildId}" />
		<echo message="tagging org.eclipse.datatools.modelbase.releng..."/>
		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" command="tag r18_${buildId}" />
		<echo message="tagging org.eclipse.datatools.sqltools.releng..."/>
		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" command="tag r18_${buildId}" />
		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" command="tag r18_${buildId}" />

	</target>
			
	<target name="buildDtpEnablementAllFeature">
                <ant antfile="build.xml" dir="${basedir}">
                        <property name="component" value="${eclipse.build.configs}/dtp.enablement.all" />
                </ant>
	</target>

	<target name="buildDtpIncubationAllFeature">
                <ant antfile="build.xml" dir="${basedir}">
                        <property name="component" value="${eclipse.build.configs}/dtp.incubation.all" />
                </ant>
	</target>

	<target name="buildDtpSdkAllFeature">

		<!-- build dtp sdk feature -->
		<ant antfile="build.xml" dir="${basedir}">
			<property name="component" value="${eclipse.build.configs}/dtp.sdk.all" />
		</ant>

	</target>

	<target name="buildDtpEnablementFeature">
		<ant antfile="build.xml" dir="${basedir}">
			<property name="component" value="${eclipse.build.configs}/dtp.enablement" />
		</ant>
	</target>
	
	<target name="buildUpdateSite" if="updateSite">
		<ant antfile="${eclipse.build.configs}/../helper.xml" target="buildUpdateJars" />
	</target>
	
	<target name="integrateDtpFeatures">

		<property name="tmpsite" value="${buildDirectory}/tmpsite" />
		<mkdir dir="${tmpsite}/new/eclipse/features" />
		<mkdir dir="${tmpsite}/new/eclipse/plugins" />

		<!-- unzip all dtp packages into same directory -->
		<unzip src="${buildDirectory}/${buildId}/dtp-all-${package.version}.zip" dest="${buildDirectory}/tmpsite"/>
		<unzip src="${buildDirectory}/${buildId}/dtp-enablement-all-${package.version}.zip" dest="${buildDirectory}/tmpsite" overwrite="true"/>
		<unzip src="${buildDirectory}/${buildId}/dtp-incubation-all-${package.version}.zip" dest="${buildDirectory}/tmpsite" overwrite="true"/>
		
		<!-- TODO: 
		    1. zip features/ plugins/ pack.properties under ${buildDirectory}/tmpsite/eclipse as dtp-all-unsign.zip 
		    2. sign features, plugins under ${buildDirectory}/tmpsite
			3. Download back, replace the unsigned version in ${buildDirectory}/tmpsite/eclipse
			4. Keep the signed, packed zip under ${buildDirectory}/, name as dtp-all-signed.zip
		-->

        <zip destfile="${tmpsite}/dtp-p2repo.zip">
           <fileset dir="${tmpsite}/eclipse" includes="features/**"/>
           <fileset dir="${tmpsite}/eclipse" includes="plugins/**"/>
        </zip>
		
        <antcall target="signDTPJars"/>

		<unpackUpdateJars site="${tmpsite}/eclipse" output="${tmpsite}/new/eclipse"/>

		<copy todir="${tmpsite}/new/eclipse">
			<fileset dir="${tmpsite}/eclipse" includes="*.html" />
		</copy>

	</target>

	<target name="p2.test">
		<p2.generator source="${reposource}" compress="true" 
                  append="true" flavor="tooling" 
                  metadataRepository="file:${tmpsite}/new/eclipse" 
                  artifactRepository="file:${tmpsite}/new/eclipse" 
                  metadataRepositoryName="DTP test" 
                  artifactRepositoryName="DTP test" 
                  publishArtifacts="true" p2OS="linux" mode="incremental" /> 

	</target>
	
	<target name="signDTPJars" unless="noSign">
		
        <zip destfile="${tmpsite}/dtp-all-unsign.zip">
           <fileset dir="${tmpsite}/eclipse" includes="features/**"/>
           <fileset dir="${tmpsite}/eclipse" includes="plugins/**"/>
           <fileset dir="${eclipse.build.configs}/../../extras" includes="pack.properties"/>
        </zip>
		
		<antcall target="SignJars">
			<param name="source.dir" value="${tmpsite}"/>
			<param name="source.name" value="dtp-all-unsign.zip"/>
			<param name="target.dir" value="${tmpsite}"/>
			<param name="target.name" value="dtp-all-signed.zip"/>
		</antcall>

		<unzip src="${tmpsite}/dtp-all-signed.zip" dest="${tmpsite}/eclipse"/>
		
		<copy file="${tmpsite}/dtp-all-signed.zip" tofile="${tmpsite}/dtp-p2repo.zip" overwrite="true"/>
		
	</target>
	
    <target name="SignJars">
    	
        <tstamp prefix="timestamp">
            <format property="upload" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
        <echo message="[${timestamp.upload}] Upload unsign package to signing server ..."/>
    	
        <scp todir="${username.sign}:${password.sign}@${hostname.sign}:${home.dir}" trust="true">
            <fileset dir="${source.dir}" includes="${source.name}"/>
        </scp>
    	
        <tstamp prefix="timestamp">
            <format property="sign.start" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
        <echo message="[${timestamp.sign.start}] Upload finished and start jarsigning, wait for 25 mins."/>
    	
        <sshexec host="${hostname.sign}" username="${username.sign}" password="${password.sign}" trust="true"
                 command="cd ${sign.dir};cp ${home.dir}/${source.name} ./;sign ${source.name} nomail;"/>
    	<sleep minutes="25"/>
    	
        <tstamp prefix="timestamp">
            <format property="download.start" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
    	<echo message="[${timestamp.download.start}] Download signed jars from server starts"/>
    	
        <scp localtofile="${target.dir}/${target.name}" trust="true"
             file="${username.sign}:${password.sign}@${hostname.sign}:${sign.dir}/${source.name}"/>
    	
        <tstamp prefix="timestamp">
            <format property="download.end" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
    	<echo message="[${timestamp.download.end}] Download signed jars from server ends"/>

        <condition property="CompareSignPack" value="true">
             <filesmatch file1="${source.dir}/${source.name}"
                         file2="${target.dir}/${target.name}"/>
        </condition>
    	
        <antcall target="DownloadSignedPackAgain">
        	<param name="source.name" value="${source.name}"/>
        	<param name="target.dir" value="${target.dir}"/>
        	<param name="target.name" value="${target.name}"/>
        </antcall>
    	       
    </target>

    <target name="DownloadSignedPackAgain" if="CompareSignPack">
    	
        <tstamp prefix="timestamp">
            <format property="download.again.now" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
    	<echo message="[${timestamp.download.again.now}] Sign check failed and wait for 10 mins to download again"/>

        <sleep minutes="10"/>
    	
        <tstamp prefix="timestamp">
            <format property="download.again.start" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
        <echo message="[${timestamp.download.again.start}] Download signed package again"/>
    	
        <scp localtofile="${target.dir}/${target.name}" trust="true"
             file="${username.sign}:${password.sign}@${hostname.sign}:${sign.dir}/${source.name}"/>
    	
        <tstamp prefix="timestamp">
            <format property="download.again.end" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
        <echo message="[${timestamp.download.again.end}] Download signed package ends. Start packaging..."/>
    	
    </target>

	<target name="Package">

		<property file="${buildDirectory}/finalPluginsVersions.properties"/>

		<!-- repackage source features and plugins -->

		<delete includeemptydirs="true">
			<fileset dir="${buildDirectory}/tmpsite/eclipse/features">
				<include name="org.eclipse.datatools.sdk-all.feature_*/**"/>
			</fileset>
			<fileset dir="${buildDirectory}/tmpsite/new/eclipse/features">
				<include name="org.eclipse.datatools.sdk-all.feature_*/**"/>
			</fileset>
		</delete>

		<!-- package sdk package -->
		<zip destfile="${buildDirectory}/${buildId}/dtp-sdk-${package.version}.zip">
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
				<include name="**"/>
				<exclude name="*.ecore.feature*/**"/>
				<exclude name="*.ecore.sdk.feature*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
				<include name="**"/>
				<exclude name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
				<include name="*.html"/>
			</zipfileset>
		</zip>

		<!-- package non-sdk package -->
		<zip destfile="${buildDirectory}/${buildId}/dtp-${package.version}.zip">
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
				<include name="**"/>
				<exclude name="*sdk-all.feature*/**"/>
				<exclude name="*sdk.feature*/**"/>
				<exclude name="*.source_*/**"/>
				<exclude name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
				<include name="**"/>
				<exclude name="*.source_*/**"/>
				<exclude name="org.eclipse.datatools.doc.isv_*.jar"/>
				<exclude name="org.eclipse.datatools.connectivity.ui.templates_*.jar"/>
				<exclude name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
				<include name="readme/**"/>
				<include name="*.html"/>
			</zipfileset>
		</zip>

		<!-- package incubator-sdk package -->
		<zip destfile="${buildDirectory}/${buildId}/dtp-incubator-sdk-${package.version}.zip">
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
				<include name="org.eclipse.datatools.enablement.oda.ecore.*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
				<include name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
				<include name="readme/**"/>
				<include name="*.html"/>
			</zipfileset>
		</zip>

		<!-- package incubator package -->
		<zip destfile="${buildDirectory}/${buildId}/dtp-incubator-${package.version}.zip">
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
				<include name="org.eclipse.datatools.enablement.oda.ecore.feature_*/**"/>
				<exclude name="org.eclipse.datatools.enablement.oda.ecore.feature.source_*/**"/>
				<exclude name="org.eclipse.datatools.enablement.oda.ecore.sdk.feature_*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
				<include name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
				<exclude name="org.eclipse.datatools.enablement.oda.ecore*source*/**"/>
			</zipfileset>
			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
				<include name="readme/**"/>
				<include name="*.html"/>
			</zipfileset>
		</zip>

		<!-- package source package -->
		<zip destfile="${buildDirectory}/${buildId}/dtp-source-${package.version}.zip">
			<zipfileset dir="${buildDirectory}">
			    <include name="*.txt"/>
			    <include name="*.properties"/>
			    <include name="*.xml"/>
			</zipfileset>
	    </zip>
		
		<!-- copy to output directory -->
		<mkdir dir="${postingDirectory}/${buildId}" />
		<copy file="${buildDirectory}/${buildId}/dtp-sdk-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
		<copy file="${buildDirectory}/${buildId}/dtp-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
		<copy file="${buildDirectory}/${buildId}/dtp-incubator-sdk-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
		<copy file="${buildDirectory}/${buildId}/dtp-incubator-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
		<copy file="${buildDirectory}/${buildId}/dtp-source-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
		<copy file="${buildDirectory}/directory.txt" todir="${postingDirectory}/${buildId}"/>
        <copy tofile="${postingDirectory}/finalFeaturesVersions.properties" file="${buildDirectory}/finalFeaturesVersions.properties" overwrite="true" />
		<copy tofile="${postingDirectory}/monitor.properties" file="monitor.properties" overwrite="true" />
        <copy todir="${postingDirectory}/${buildId}">
		   <fileset dir="." includes="*.log"/>
		</copy>
		
        <tstamp prefix="timestamp">
            <format property="package.end" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
        </tstamp>
        <echo message="[${timestamp.package.end}] Packaging finished."/>
		
	</target>

    <target name="GenerateUpdateSite" unless="HQ.BIRT.skip">
        <property file="${buildDirectory}/finalFeaturesVersions.properties"/>
    	<property name="tmpsite" value="${buildDirectory}/tmpsite" />
        <mkdir dir="${postingDirectory}/${buildId}/UpdateSite"/>
    	<mkdir dir="${postingDirectory}/${buildId}/pack200site"/>
        <property name="updateSiteDir" value="${postingDirectory}/${buildId}/UpdateSite"/>  	
    	<property name="pack200Dir" value="${postingDirectory}/${buildId}/pack200site"/>
        
    	<!-- replace the feature version in site.xml -->
        <!--copy file="${eclipse.build.configs}/../../extras/site.xml" tofile="${updateSiteDir}/site.xml" overwrite="true"/>
        <replace file="${updateSiteDir}/site.xml" value="1.8.0" token="@RELEASE.VERSION@"/>
        <replace file="${updateSiteDir}/site.xml" value="${org.eclipse.datatools.enablement.sdk.feature}" token="@org.eclipse.datatools.enablement.sdk.feature@"/>
        <replace file="${updateSiteDir}/site.xml" value="${org.eclipse.datatools.sdk.feature}" token="@org.eclipse.datatools.sdk.feature@"/-->

        <!-- push update site to output directory -->

        <unzip src="${tmpsite}/dtp-p2repo.zip" 
        	dest="${postingDirectory}/${buildId}/UpdateSite" overwrite="true"/>
    	
        <copy todir="${postingDirectory}/${buildId}/UpdateSite" overwrite="true">
        	<fileset dir="${eclipse.build.configs}/../../extras">
        		<include name="pack.properties"/>
        	</fileset>
    	</copy>
    	
    	<delete includeemptydirs="true" failonerror="false">
            <fileset dir="${postingDirectory}/${buildId}/UpdateSite/features">
                <include name="org.eclipse.datatools.sdk-all.feature_*/**"/>
            </fileset>
            <fileset dir="${postingDirectory}/${buildId}/UpdateSite">
                <include name="*.html"/>
            </fileset>
        </delete>
	
		<!-- push p2 repo to local update site for testing -->
		<antcall target="genP2CompositeUpdateSite"/>
		
    	<!-- zip p2 repo-->
		<zip destfile="${postingDirectory}/${buildId}/dtp-p2repo-${package.version}.zip">
			<zipfileset dir="${postingDirectory}/${buildId}/UpdateSite/features/" prefix="features">
				<include name="*.jar"/>
				<include name="*.pack.gz"/>
			</zipfileset>
			<zipfileset dir="${postingDirectory}/${buildId}/UpdateSite/plugins/" prefix="plugins">
				<include name="*.jar"/>
				<include name="*.pack.gz"/>
			</zipfileset>
			<zipfileset dir="${postingDirectory}/${buildId}/UpdateSite/">
				<include name="*.jar"/>
			</zipfileset>
		</zip>
    	
    	<delete includeemptydirs="true" failonerror="false">
            <fileset dir="${postingDirectory}/${buildId}">
                <include name="UpdateSite/**"/>
            </fileset>
        </delete>    	   	
	</target>

	<target name="GenerateCVSChangeLog">
		<ant antfile="${eclipse.build.configs}/../../extras/cvschanges.xml"/>
	</target>

    <target name="genP2CompositeUpdateSite">
    	
        <property name="compsite.site" value="${postingDirectory}/../../../../UpdateSite/dtp" />
        <property name="repo" value="${compsite.site}/${buildId}" />
        <property name="p2.repo.name" value="DTP Update Site" />
        <mkdir dir="${repo}" />       
    	
	   	<!-- generate pack200 -->	
		<replace file="${eclipse.build.configs}/../../extras/pack200" token="@pack200@" value="${jvm15_home}/bin/pack200"/>
		<chmod file="${eclipse.build.configs}/../../extras/pack200" perm="755"/>

		<exec executable="dos2unix" dir="${eclipse.build.configs}/../../extras">
			<arg line=" pack200" />
		</exec>
		
    	<!-- create pack200 -->
    	<java jar="${basedir}/../org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar"
                fork="true"
                timeout="10800000"
                jvm="${jvm15_home}/bin/java"
                failonerror="true"
                maxmemory="512m"
                dir="${postingDirectory}/${buildId}/">
                <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=${eclipse.build.configs}/../../extras"/>
                <arg line="-application org.eclipse.update.core.siteOptimizer -verbose"/>
                <arg line="-jarProcessor -outputDir ${pack200Dir} -processAll -pack UpdateSite"/>
        </java>
    	    	
        <!-- generator features and plugins metadata -->
        <!--copy file="${updateSiteDir}/site.xml" todir="${pack200Dir}"/-->
    	<p2.publish.featuresAndBundles
    	      metadataRepository="file:${repo}"
    	      artifactRepository="file:${repo}"
    	      source="${pack200Dir}"
    	      publishArtifacts="true"
    	      compress="true"
    	      reusePackedFiles="true"/>
    	<copy todir="${repo}/features">
    	   <fileset dir="${pack200Dir}/features" includes="*.pack.gz"/>
        </copy>
        
        <!--try create composite repository-->
        <p2.composite.artifact.repository.create location="file://${compsite.site}" name="${p2.repo.name}" compressed="true" failOnExists="false" />
        <p2.composite.metadata.repository.create location="file://${compsite.site}" name="${p2.repo.name}" compressed="true" failOnExists="false" />

        <!--add childRepo to composite repo-->
        <p2.composite.artifact.repository.add location="file://${compsite.site}" child="${buildId}" />
        <p2.composite.metadata.repository.add location="file://${compsite.site}" child="${buildId}" />

    	<!-- copy p2 metadata to build directory -->
    	<copy todir="${postingDirectory}/${buildId}/UpdateSite" overwrite="true">
    		<fileset dir="${compsite.site}/${buildId}">
    			<include name="features/**"/>
    			<include name="plugins/**"/>
    			<include name="*.jar"/>
    		</fileset>
    	</copy>
    	
    </target>
	<!-- test -->
</project>
