<project name="Helper targets" default="noDefault" basedir="." >
	<property name="postingDirectory" value="${buildDirectory}" />
	<property name="publishingContent" value="${eclipse.build.configs}/../publishingFiles"/>

	<!-- ===================================================================== -->
	<!-- Set of helper targets for building the Eclipse SDK -->
	<!-- ===================================================================== -->
	<target name="discoverOS">
		<condition property="onUnix">
			<and>
				<os family="unix" />
			</and>
		</condition>
		<condition property="onWindows">
			<and>
				<os family="windows" />
			</and>
		</condition>
	</target>

	<target name="printWarnings" if="onWindows" depends="discoverOS">
		<echo message="The UNIX versions of your build output will be invalid.  Windows will not preserve symbolic links and permissions on executable files." />
	</target>

	<target name="setLabels">
		<!--required-->
		<!-- setup the label.properties file packaged in the source builds. -->
		<!--Set this property to empty string-->
		<property name="buildType" value="" />
		<tstamp>
			<format property="TODAY" pattern="MMMM d, yyyy" />
			<format property="TSTAMP" pattern="HHmm" />
		</tstamp>
		<copy file="label.properties.template" tofile="${buildDirectory}/label.properties" overwrite="true" />
		<replace file="${buildDirectory}/label.properties" token="@builddate@" value="${TODAY}" />
		<replace file="${buildDirectory}/label.properties" token="@buildtype@" value="${buildType}" />
		<replace file="${buildDirectory}/label.properties" token="@ds@" value="${timestamp}" />
		<replace file="${buildDirectory}/label.properties" token="@buildid@" value="${buildId}" />
	</target>

	<target name="generateChecksum" unless="skipChecksum">
		<checksum file="${archiveFullPath}" property="md5" />
		<echo message="${md5} *${downloadFile}" file="${postingDirectory}/${buildLabel}/checksum/${downloadFile}.md5" />
	</target>

	<target name="publish" description="Preparing to post the build...">
		<!--post clickThroughs-->
		<copy todir="${postingDirectory}/${buildLabel}">
			<fileset dir="${buildDirectory}/maps/org.eclipse.releng" includes="clickThroughs/" />
		</copy>

		<!--post directory.txt-->
		<copy file="${buildDirectory}/directory.txt" todir="${postingDirectory}/${buildLabel}" />

		<!--post instructions on automated testing-->
		<copy file="${eclipse.build.configs}/sdk.tests/testScripts/readme.html" tofile="${postingDirectory}/${buildLabel}/automatedtesting.html" />
		<copy file="${buildDirectory}/plugins/org.eclipse.test/testframework.html" tofile="${postingDirectory}/${buildLabel}/testframework.html" />

		<antcall target="generateEclipseIndex" />

		<!--get static files required in the buildLabel directory-->
		<copy todir="${postingDirectory}/${buildLabel}">
			<fileset dir="${publishingContent}/staticDropFiles" />
		</copy>

		<!--copy buildnotes from plugin directories-->
		<mkdir dir="${postingDirectory}/${buildLabel}/buildnotes" />
		<copy todir="${postingDirectory}/${buildLabel}/buildnotes" flatten="true">
			<fileset dir="${buildDirectory}/plugins" includes="**/buildnotes_*.html,**/buildnotes_*.htm,**/jdt_core_style.css" />
		</copy>

		<!--copy javadoc logs-->
		<copy file="${buildDirectory}/plugins/org.eclipse.platform.doc.isv/doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/platform.doc.isv.javadoc.txt" failonerror="false" />
		<copy file="${buildDirectory}/plugins/org.eclipse.jdt.doc.isv/doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/jdt.doc.isv.javadoc.txt" failonerror="false" />
		<copy file="${buildDirectory}/plugins/org.eclipse.jdt.doc.isv/jdtapt.doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/jdt.apt.javadoc.txt" failonerror="false" />
		<copy file="${buildDirectory}/plugins/org.eclipse.pde.doc.user/doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/pde.doc.user.javadoc.txt" failonerror="false" />
		<copy file="${buildDirectory}/plugins/org.eclipse.platform.doc.isv/platformconvert.txt" tofile="${postingDirectory}/${buildLabel}/compilelogs/platform.doc.isv.schema.txt" failonerror="false" />
		<copy file="${buildDirectory}/plugins/org.eclipse.jdt.doc.isv/jdtconvert.txt" tofile="${postingDirectory}/${buildLabel}/compilelogs/jdt.doc.isv.schema.txt" failonerror="false" />
		<copy file="${buildDirectory}/plugins/org.eclipse.pde.doc.user/pdeconvert.txt" tofile="${postingDirectory}/${buildLabel}/compilelogs/pde.doc.user.schema.txt" failonerror="false" />

	</target>


	<!-- ===================================================================== -->
	<!-- Target used to test the build                                         -->
	<!-- ===================================================================== -->
	<target name="testAll" unless="skip.tests">
		<waitfor maxwait="4" maxwaitunit="hour" checkevery="1" checkeveryunit="minute">
			<and>
				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-Automated-Tests-${buildId}.zip.md5"/>
				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-win32.zip.md5"/>
				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-linux-gtk.tar.gz.md5"/>
				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-macosx-carbon.tar.gz.md5"/>
			</and>
		</waitfor>

		<property name="cvstest.properties" value="${base.builder}/../eclipseInternalBuildTools/cvstest.properties" />
		<antcall target="configure.team.cvs.test"/>

		<!--replace buildid in vm.properties for JVM location settings-->
		<replace dir="${eclipse.build.configs}/sdk.tests/testConfigs"
			token="@buildid@"
			value="${buildId}"
			includes="**/vm.properties"/>

		<parallel>
			<antcall target="test-JUnit" />
			<antcall target="test-performance" />
		</parallel>
	</target>

	<target name="test-JUnit">
		<echo message="Starting tests." />
		<property name="dropLocation" value="${postingDirectory}" />
		<ant antfile="testAll.xml" dir="${eclipse.build.configs}/sdk.tests/testConfigs" />

		<antcall target="generateEclipseIndex" />

		<!--copy the test results and new index page to the posting location-->
		<copy todir="${postingDirectory}/${buildLabel}" overwrite="true">
			<fileset dir="${buildDirectory}/${buildLabel}" includes="testresults/**,*.php" />
		</copy>
		<replace file="${postingDirectory}/${buildLabel}/testResults.php" token="@build@" value="${buildId}" />

	</target>

	<!-- ===================================================================== -->
	<!-- Target used to test the build                                         -->
	<!-- ===================================================================== -->
	<target name="test-performance" unless="skip.performance.tests">
		<echo message="Starting performance tests." />
		<property name="dropLocation" value="${postingDirectory}" />
		<ant antfile="testAll.xml" dir="${eclipse.build.configs}/sdk.tests/testConfigs" target="performanceTests" />
		<antcall target="generatePerformanceResults" />
	</target>

	<!-- ===================================================================== -->
	<!-- Target used to test the build for internal references                 -->
	<!-- ===================================================================== -->
	<target name="test-internalReferences">
		<waitfor maxwait="4" maxwaitunit="hour" checkevery="1" checkeveryunit="minute">
			<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-win32.zip.md5"/>
		</waitfor>

		<property name="apiscanner" value="${eclipse.build.configs}/sdk/tools/apiscanner" />
		<property name="workingDir" value="${buildDirectory}/internalReference" />
		<mkdir dir="${workingDir}" />
		<unzip src="${postingDirectory}/${buildLabel}/eclipse-SDK-${buildId}-win32.zip" dest="${workingDir}" />

		<java classname="org.eclipse.wtp.releng.tools.component.violation.ComponentViolationEmitter" fork="true" dir="${apiscanner}">
			<arg line="
         	-eclipseDir ${workingDir}/eclipse
         	-compXMLDir ${buildDirectory}/plugins
         	-compRefDir component-ref
         	-compVioDir ${postingDirectory}/${buildLabel}/internalReference
         	-xsl xsl/component-violation.xsl
         	-summaryXSL xsl/component-violation-summary.xsl" />
			<classpath>
				<fileset dir="${apiscanner}/lib" />
			</classpath>
		</java>
	</target>

	<!-- ===================================================================== -->
	<!-- Helper targets                                                        -->
	<!-- ===================================================================== -->


	<target name="configure.team.cvs.test" unless="test.xml.tmp" if="cvstest.properties">
		<copy file="${eclipse.build.configs}/sdk.tests/testScripts/test.xml" tofile="${eclipse.build.configs}/sdk.tests/testScripts/test.xml.tmp" />
		<replace file="${eclipse.build.configs}/sdk.tests/testScripts/test.xml" propertyFile="${cvstest.properties}">
			<replacefilter token="${cvs_user}" property="cvs_user" />
			<replacefilter token="${cvs_password}" property="cvs_password" />
			<replacefilter token="${cvs_host}" property="cvs_host" />
			<replacefilter token="${cvs_root}" property="cvs_root" />
		</replace>
		<delete file="${eclipse.build.configs}/sdk.tests/testScripts/test.xml.tmp" />
	</target>



	<target name="generatePerformanceResults">
		<mkdir dir="${buildDirectory}/${buildLabel}/performance" />
		<mkdir dir="${postingDirectory}/${buildLabel}/performance" />
		<taskdef name="performanceResults" classname="org.eclipse.releng.performance.PerformanceResultHtmlGenerator" />
		<condition property="configArgs" value="-ws gtk -arch ppc">
			<not>
				<equals arg1="{os.arch}" arg2="i386" />
			</not>
		</condition>
		<property name="configArgs" value="" />

		<java jar="${basedir}/../org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar" fork="true" maxmemory="256m">
			<arg line="${configArgs} -application org.eclipse.test.performance.ui.resultGenerator
					-baseline ${eclipse.perf.ref}
					-baseline.prefix 3.2_200606291905
					-current ${buildId}
					-jvm ${eclipse.perf.jvm}
					-output ${postingDirectory}/${buildLabel}/performance/
					-config eclipseperfwin1_R3.3,eclipseperflnx1_R3.3,eclipseperfwin2_R3.3,eclipseperflnx2_R3.3,eclipseperflnx3_R3.3
					-config.properties ${eclipse.perf.config.descriptors}
					-scenario.pattern org.eclipse.%.test"
				/>
			<!-- add this argument to list above when there are milestone builds to highlight 
			-highlight.latest 3.3M1_
			-->
			<env key="LD_LIBRARY_PATH" value="${basedir}/../org.eclipse.releng.basebuilder" />
			<sysproperty key="eclipse.perf.dbloc" value="${dbloc}" />
		</java>

		<performanceResults
			xmlDirectoryName="${postingDirectory}/${buildLabel}/performance/xml"
			dropDirectoryName="${postingDirectory}/${buildLabel}"
			testResultsTemplateFileName="${publishingContent}/templateFiles/performance.php.template"
			testResultsHtmlFileName="performance/performance.php"
			hrefTestResultsTargetPath="html"
			testManifestFileName="${publishingContent}/performanceTestManifest.xml" 
		/>

		<replace file="${postingDirectory}/${buildLabel}/performance/performance.php" token="@buildType@" value="${buildType}" />
	</target>

	<target name="verifyCompile" if="eclipse.running">

		<echo message="Checking for compile errors..." />
		<echo message="Log file directory: ${postingDirectory}/${buildId}/compilelogs" />

		<!--create html output for compile logs-->
		<echo message="${postingDirectory}/${buildId}/compilelogs/plugins"/>
		<eclipse.convert input="${postingDirectory}/${buildId}/compilelogs/plugins" validation="true"/>

		<!-- Sends email to recipient list in monitor.properties with compile logs attached if errors found-->
		<!-- The shell scripts will gather compile error plugin list into monitor.properties -->
		<echo message="${eclipse.build.configs}/../../extras/verifyCompile.sh"/>
		<exec executable="${eclipse.build.configs}/../../extras/verifyCompile.sh">
			<arg value="${postingDirectory}/${buildId}/compilelogs"/>
		</exec>
		<antcall target="checkCompileError"/>
	</target>

	<target name="rSyncWithSnzZrh" unless="test">
		<waitfor maxwait="300" maxwaitunit="minute" checkevery="1" checkeveryunit="minute">
			<available file="${postingDirectory}/${buildId}/eclipse-Automated-Tests-${buildId}.zip" />
		</waitfor>
		<antcall target="zrhBuilds" />
		<antcall target="snzBuilds" />
	</target>

	<target name="snzBuilds">
		<!--copy drops to local directory for rsync with snz-->
		<copy todir="/builds/transfer/files/snz">
			<fileset dir="${postingDirectory}" includes ="${buildId}/eclipse-SDK-*-win32.zip,${buildId}/eclipse-SDK-*-linux-gtk.tar.gz" excludes="${buildId}/eclipse-SDK-examples-*-win32.zip" />
		</copy>
	</target>

	<target name="zrhBuilds">
		<!--copy drops to local directory for rsync with zrh-->
		<copy todir="/builds/transfer/files/zrh">
			<fileset dir="${postingDirectory}" includes ="${buildId}/eclipse-SDK-*-macosx-carbon.tar.gz,${buildId}/eclipse-SDK-*-win32.zip,${buildId}/eclipse-SDK-*-linux-*.tar.gz" excludes="${buildId}/eclipse-SDK-examples-*-win32.zip,${buildId}/eclipse-SDK-*-linux-gtk-x86_64.tar.gz,${buildId}/eclipse-SDK-*-linux-gtk-ppc.tar.gz" />
		</copy>
	</target>
	<!-- ===================================================================== -->
	<!-- Default target                                                        -->
	<!-- ===================================================================== -->
	<target name="noDefault">
		<echo message="You must specify a target when invoking this file" />
	</target>

	<target name="buildUpdateJars">
		<property name="updateJarWorkingDir" value="${buildDirectory}/updateJars" />
		<mkdir dir="${updateJarWorkingDir}" />
		<mkdir dir="${updateJarWorkingDir}/site" />

		<!--eclipse-master-${buildId}.bak.zip contains the signed update jars. eclipse-master-${buildId}.zip contains the
		features and plug-ins unpacked.  Need features in directory structures for tool to work. -->

		<unzip src="${buildDirectory}/${buildId}/birt-report-framework-sdk-${package.version}.zip" dest="${updateJarWorkingDir}" />

		<!--operation on creates update jars for features and for plug-ins which are to be unpacked when installed-->
		<java classname="org.eclipse.releng.generators.UpdateBuilder" >
			<arg line="-root ${updateJarWorkingDir}/eclipse -directory ${buildDirectory}/directory.txt -build ${buildId} -site ${updateJarWorkingDir}/site -sitexml ${updateSite}/site.xml" />
			<classpath>
				<pathelement location="${base.builder}/plugins/org.eclipse.internal.build.tools/internalTools.jar"/>
				<pathelement location="${base.builder}/plugins/org.eclipse.build.tools/buildTools.jar"/>
				<pathelement location="${base.builder}/plugins/org.eclipse.osgi_3.2.0.v20060601.jar"/>
			</classpath>
		</java>
		
		<!--store previous site.xml-->
		<move file="${updateSite}/site.xml" tofile="${updateSite}/site.xml.bak" overwrite="true" />
		<!--copy site.xml to update site-->
		<copy todir="${updateSite}" overwrite="true">
			<fileset dir="${updateJarWorkingDir}/site" includes="site.xml" />
		</copy>
		
		<mkdir dir="${updateSite}/features" />
		<mkdir dir="${updateSite}/plugins" />

		<!--use original signed update jars-->
		<!-- back up 
		<exec executable="unzip" dir=".">
			<arg line="-j ${buildDirectory}/${buildId}/birt-report-framework-sdk-${package.version}.bak.zip -i */features/* -x */master-equinox* */com.ibm.icu.base* -d ${updateSite}/features" />
		</exec>
		-->
		<exec executable="unzip" dir=".">
			<arg line="-j ${buildDirectory}/${buildId}/birt-report-framework-sdk-${package.version}.bak.zip -i */features/* -d ${updateSite}/features" />
		</exec>
	    <java jar="${eclipse.home}/startup.jar"
	           fork="true"
     	       jvm="${java15-home}/bin/java"
	           failonerror="true"
	           maxmemory="128m"
			   dir="${buildDirectory}">
	         <arg line="-application org.eclipse.update.core.siteOptimizer"/>
	         <arg line="-digestBuilder -digestOutputDir=${updateSite} -siteXML=${updateSite}/site.xml"/>
	       </java>
	</target>

	<target name="cleanSites">
		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/master/downloads/drops" realDelete="true" />
		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/master/equinox/drops/" realDelete="true" />
		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/bogus/downloads/drops" realDelete="true" />
		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/zrh" realDelete="true" />
		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/snz" realDelete="true" />
	</target>

	<target name="CheckoutFromP4" depends="init">

		<!-- check out org.eclipse.releng     -->
		<!-- check out version control files  -->

		<property file="${eclipse.build.configs}/../../config.properties"/>

		<echo message="p4.workspace=${p4.workspace}"/>
		<echo message="p4.home=${p4.home}"/>
		<echo message="p4.client=${p4.client}"/>


        <delete dir="${p4.workspace}/Development/JRP/Dev/build" failonerror="false" />
        <mkdir dir="${p4.workspace}/Development/JRP/Dev/build" />

        <delete dir="${p4.home}/CvsDiff" failonerror="false"/>
		<delete dir="${p4.home}/reportTestsLib" failonerror="false"/>

		<!-- checkout the package to checkout.dir -->
        <echo message="checking out daily build scripts" />

        <!-- //${p4.client}/Development/JRP/Dev/build/sampleReports/... 
        //${p4.client}/Development/JRP/Dev/build/cvsDiff/... 
        -->
        <p4sync view="//${p4.client}/Development/JRP/Dev/build/script/... 
                      //${p4.client}/Development/JRP/Dev/build/lib/... 
     		  //${p4.client}/Development/JRP/Dev/build/AutomationLib/...
	          //${p4.client}/Development/JRP/Dev/birt/org.eclipse.birt.report.data.oda.jdbc/jdbc-drivers/..." 
                    port="${p4.port}" 
                    user="${p4.user}" 
                    globalopts="-P ${p4.passwd}" 
                    failonerror="true" 
                    force="true" />

        <copy todir="${p4.home}/reportTestsLib"  overwrite="true" failonerror="true">
                <fileset dir="${p4.workspace}/Development/JRP/Dev/build/AutomationLib"/>
        </copy>
        <copy todir="${p4.home}/drivers"  overwrite="true" failonerror="true">
                <fileset dir="${p4.workspace}/Development/JRP/Dev/birt/org.eclipse.birt.report.data.oda.jdbc/jdbc-drivers"/>
        </copy>
		<!--
        <copy todir="${p4.home}/CvsDiff"  overwrite="true" failonerror="true">
                <fileset dir="${p4.workspace}/Development/JRP/Dev/build/cvsDiff"/>
        </copy>
        -->
		<copy todir="${p4.home}/../PackageFiles/template" overwrite="true" failonerror="true">
			<fileset dir="${p4.workspace}/Development/JRP/Dev/build/script/template">
				<include name="**"/>
			</fileset>
		</copy>
	</target>

	<target name="backupSrc">
	</target>

	<target name="cleanBuild">

		<echo message="clean up last input under ${buildDirectory} ..." />
		<delete failonerror="false" includeemptydirs="true">
			<fileset dir="${buildDirectory}">	
				<include name="*.properties"/>
				<include name="*.txt"/>
				<include name="*.xml"/>
				<include name="plugins/**"/>
				<include name="features/**"/>
				<include name="maps/source"/>
			</fileset>
		</delete>
		<delete failonerror="false" includeemptydirs="true">
			<fileset dir="${p4.home}">	
				<include name="source/**"/>
				<include name="CvsResult/*.xml"/>
				<include name="CvsResult/DaysInPast/*.xml"/>
			</fileset>
		</delete>
	</target> 
	<target name="init">
		<echo message="loading ${eclipse.build.configs}/../../build.properties ..."/>
		<property file="${eclipse.build.configs}/../../build.properties"/>
	</target>

	<target name="getDTPDownloads" depends="init">

		<tstamp prefix="timestamp">
			<format property="TODAY_US" pattern="MMddyy" timezone="GMT-16"/>
			<format property="TODAY_SH" pattern="MMddyy" />
		</tstamp>

		<property name="plugin-dest" value="${baseLocation}"/>
		<property name="package-dest" value="${baseLocation}/../PackageFiles"/>
		<property name="AllInOne-dest" value="${baseLocation}/../PackageFiles/AllInOne"/>
		<property name="AllInOne-Linux-dest" value="${baseLocation}/../PackageFiles/AllInOne-Linux"/>
		<property name="file-version" value="${file-prefix}${timestamp.TODAY_US}"/>

		<get src="http://download.eclipse.org/datatools/downloads/drops/N_DTP_1.6/${file-version}.zip"  dest="${postingDirectory}/../platform/DTP/${file-version}.zip" verbose="true" usetimestamp="true" />

		<echo message="START to Unzip the downloaded Plugins files" />
		<unzip src="${postingDirectory}/../platform/DTP/${file-version}.zip" dest="${p4.home}/downloads/${file-version}"/>
		
		<echo message="Clean last download stuff" />
		<delete includeemptydirs="true" failonerror="false">
			<fileset dir="${plugin-dest}/plugins" >
				<include name="*.datatools.*.jar" />
				<include name="org.eclipse.datatools.*/**" />
			        <include name="org.apache.xerces_*.jar"/>
			        <include name="org.apache.xml.resolver_*.jar"/>
			        <include name="javax.wsdl_*.jar"/>
			</fileset>
			<fileset dir="${plugin-dest}/features" >
				<include name="org.eclipse.datatools.*/**" />
			</fileset>
			<fileset dir="${package-dest}/dtp/eclipse/plugins" >
				<include name="*.datatools.*.jar" />
				<include name="org.eclipse.datatools.*/**" />
			        <include name="org.apache.xerces_*.jar"/>
			        <include name="org.apache.xml.resolver_*.jar"/>
			        <include name="javax.wsdl_*.jar"/>
			</fileset>
			<fileset dir="${package-dest}/dtp/eclipse/features" >
				<include name="org.eclipse.datatools.*/**" />
			</fileset>
			<!-- =============================
			<fileset dir="${AllInOne-dest}/eclipse/plugins" >
				<include name="*.datatools.*.jar" />
				<include name="org.eclipse.datatools.*/**" />
			        <include name="org.apache.xerces_*.jar"/>
			        <include name="org.apache.xml.resolver_*.jar"/>
			        <include name="javax.wsdl_*.jar"/>
			</fileset>
			<fileset dir="${AllInOne-dest}/eclipse/features" >
				<include name="org.eclipse.datatools.*/**" />
			</fileset>
			<fileset dir="${AllInOne-Linux-dest}/eclipse/plugins" >
				<include name="*.datatools.*.jar" />
				<include name="org.eclipse.datatools.*/**" />
			        <include name="org.apache.xerces_*.jar"/>
			        <include name="org.apache.xml.resolver_*.jar"/>
			        <include name="javax.wsdl_*.jar"/>
			</fileset>
			<fileset dir="${AllInOne-Linux-dest}/eclipse/features" >
				<include name="org.eclipse.datatools.*/**" />
			</fileset>
				====================================== -->
		</delete>

		<!--Define the ODA dependency plugins-->
		<patternset id="oda.runtime.plugins">
			<include name="org.eclipse.datatools.connectivity_*.jar" />
			<include name="org.eclipse.datatools.connectivity.ui_*.jar" />
			<include name="org.eclipse.datatools.connectivity.ui.dse_*.jar" />
			<include name="org.eclipse.datatools.doc.user_*/**"/>
			<include name="org.eclipse.datatools.connectivity.oda.consumer_*.jar" />
			<include name="org.eclipse.datatools.connectivity.oda.design.ui_*.jar" />
			<include name="org.eclipse.datatools.connectivity.oda.design_*.jar" />
			<include name="org.eclipse.datatools.connectivity.oda.flatfile.ui_*.jar" />
			<include name="org.eclipse.datatools.connectivity.oda.flatfile_*.jar" />
			<include name="org.eclipse.datatools.connectivity.oda.profile_*.jar" />
			<include name="org.eclipse.datatools.connectivity.oda_*.jar" />
			<include name="org.eclipse.datatools.connectivity.oda.designer.finfo_*.jar"/>
			<include name="org.eclipse.datatools.connectivity.oda.finfo_*.jar"/>
			<include name="org.eclipse.datatools.connectivity.oda.template.ui_*.jar"/>
			<include name="org.eclipse.datatools.enablement.oda.xml_*.jar"/>
			<include name="org.eclipse.datatools.enablement.oda.xml.ui_*.jar"/>
			<include name="org.eclipse.datatools.enablement.oda.designer.finfo_*.jar"/>
			<include name="org.eclipse.datatools.enablement.oda.finfo_*.jar"/>
			<include name="org.eclipse.datatools.oda.cshelp_*.jar"/>
			<include name="org.eclipse.datatools.enablement.oda.ws.ui_*.jar"/>
			<include name="org.eclipse.datatools.enablement.oda.ws_*.jar"/>
			<include name="org.eclipse.datatools.help_*.jar"/>
			<include name="org.eclipse.datatools.doc.isv_*.jar"/>
			<include name="org.apache.xerces_*.jar"/>
			<include name="org.apache.xml.resolver_*.jar"/>
			<include name="javax.wsdl_*.jar"/>
		</patternset>
		<patternset id="oda.runtime.features">
			<include name="org.eclipse.datatools.connectivity.oda.designer.feature_*/**" />
			<include name="org.eclipse.datatools.connectivity.oda.feature_*/**" />
    		<include name="org.eclipse.datatools.enablement.oda.feature_*/**" />
    		<include name="org.eclipse.datatools.enablement.oda.designer.feature_*/**" />
			<include name="org.eclipse.datatools.doc.user_*/**"/>
		</patternset>


		<!-- Copy to static baseLocation -->
		<copy todir="${plugin-dest}/plugins" failonerror="false" >
			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/plugins">
				<patternset refid="oda.runtime.plugins" />
			</fileset> 
		</copy>	
		<copy todir="${plugin-dest}/features" failonerror="false" >
			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/features">
				<patternset refid="oda.runtime.features" />
			</fileset> 
		</copy>

		<!-- Copy to package files dir -->	
		<copy todir="${package-dest}/dtp/eclipse/plugins" failonerror="false">
			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/plugins">
				<patternset refid="oda.runtime.plugins" />
			</fileset>
		</copy>
				
		<copy todir="${package-dest}/dtp/eclipse/features" failonerror="false" >
			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/features">
				<patternset refid="oda.runtime.features" />
			</fileset> 
		</copy>
	</target>
	
	<!-- Build BIRT Web Viewer -->
	<target name="BuildWebViewer" depends="init">
		<mkdir dir="${buildDirectory}/${buildId}/birt_web"/>
		<ant antfile="WebViewerPackager.xml" dir="${buildDirectory}/plugins/org.eclipse.birt.report.viewer" target="Jar">
			<property name="integrate.dir" value="${buildDirectory}/${buildId}/eclipse"/>
			<property name="baseLocation.emf" value="${baseLocation.emf}"/>
		</ant>
		<ant antfile="WebViewerPackager.xml" dir="${buildDirectory}/plugins/org.eclipse.birt.report.viewer" target="Export">
			<property name="export.dir" value="${buildDirectory}/${buildId}/birt_web"/>
		</ant>
		<!-- copy extra chartengine and emf -->
		<!--
		<copy todir="${buildDirectory}/${buildId}/birt_web/org.eclipse.birt.report.viewer/birt_web/WEB-INF/platform/lib">
			<fileset dir="${baseLocation}/plugins/">
				<include name="org.eclipse.emf.common_*.jar" />
				<include name="org.eclipse.emf.ecore.xmi_*.jar" />
				<include name="org.eclipse.emf.ecore_*.jar" />
			</fileset>
		</copy>
		<copy todir="${buildDirectory}/${buildId}/birt_web/org.eclipse.birt.report.viewer/birt_web/WEB-INF/platform/lib">
			<fileset dir="${buildDirectory}/${buildId}/eclipse/plugins" />
			<mapper type="regexp"  from="org.eclipse.birt.chart.engine_.*.jar" to="chartengineapi.jar"/>
		</copy>
		-->
		<copy todir="${buildDirectory}/${buildId}/birt_web/org.eclipse.birt.report.viewer/birt_web/WEB-INF/lib">
			<fileset dir="${buildDirectory}/${buildId}/eclipse/plugins" >
				<include name="org.eclipse.birt.chart.engine_.*.jar"/>
			</fileset>
                        <mapper type="regexp"  from="org.eclipse.birt.chart.engine_.*.jar" to="chartengineapi.jar"/>
		</copy>
	</target>
	
	<target name="runBirtPerformance" depends="init">
		<ant dir="${runner.dir}" antfile="testRunner.xml" target="org.eclipse.birt.test.performance"/>
		<!-- copy performance result to public test result dir -->
		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
		<copy todir="${test.dir}/unitTestReport/html">
			<fileset dir="${test.dir}/eclipse/plugins/org.eclipse.birt.test.performance_${org.eclipse.birt.test.performance}">
				<include name="reporting_*.xml"/>
			</fileset>
		</copy>
	</target>
	
	<target name="runBirtTest" depends="init,prepareBirtTest">
		<!-- call the birt unit test -->
		<ant dir="${runner.dir}" antfile="testRunner.xml" />
		<antcall target="transformTestReports"/>
	</target>
	
	<target name="prepareBirtTest" depends="init">
		<!-- Clean last test plugins -->
		<delete includeEmptyDirs="true" failonerror="false">
			<fileset dir="${test.dir}/eclipse">
				<include name="**/*"/>
			</fileset>
		</delete>
		<!-- clean last unit test reports -->
		<delete failonerror="false">
			<fileset dir="${test.dir}/unitTestReport">
				<include name="**/*.xml"/>
				<include name="**/*.html"/>
				<exclude name="**/build.xml"/>
			</fileset>
		</delete>
		<!-- prepare unit test components -->
		<copy todir="${test.dir}">
			<fileset dir="${postingDirectory}/${buildId}">
				<include name="birt-report-designer-all-in-one-${package.version}-linux-gtk.tar.gz"/>
				<include name="birt-tests-suite-${package.version}.zip"/>
			</fileset>
		</copy>
		
		<exec executable="gunzip" dir="${test.dir}">
			<arg line="birt-report-designer-all-in-one-${package.version}-linux-gtk.tar.gz" />
		</exec>
		<exec executable="tar" dir="${test.dir}">
			<arg line="-xvf birt-report-designer-all-in-one-${package.version}-linux-gtk.tar" />
		</exec>
		<exec executable="unzip" dir="${test.dir}">
			<arg line="-o -q birt-tests-suite-${package.version}.zip -d ${test.dir}" />
		</exec>
		<exec executable="unzip" dir="${postingDirectory}/${buildId}/../../platform/2.3M4_platform">
			<arg line="-o -q eclipse-test-framework-3.4M4.zip -d ${test.dir}" />
		</exec>
		<delete>
			<fileset dir="${test.dir}">
				<include name="*.zip"/>
				<include name="*.gz"/>
				<include name="*.tar"/>
			</fileset>
		</delete>

		<!-- copy drivers for jdbc testing -->
		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
		<copy todir="${test.dir}/eclipse/plugins/org.eclipse.birt.report.data.oda.jdbc_${org.eclipse.birt.report.data.oda.jdbc}/drivers">
			<fileset dir="${p4.home}/drivers">
				<include name="**"/>
			</fileset>
		</copy>
	</target>
	

	
	<target name="transformTestReports">
		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
		<copy todir="${test.dir}/unitTestReport/smokexml">
			<fileset dir="${test.dir}/eclipse/plugins/org.eclipse.birt.report.tests.engine_${org.eclipse.birt.report.tests.engine}">
				<include name="TESTS-*.xml"/>
			</fileset>
			<fileset dir="${test.dir}/eclipse/plugins/org.eclipse.birt.tests.data_${org.eclipse.birt.tests.data}">
				<include name="TESTS-*.xml"/>
			</fileset>
		</copy>
		<!-- XSLT trasform-->
		<exec executable="${test.dir}/unitTestReport/processXML.sh"/>
		<ant dir="${test.dir}/unitTestReport" antfile="build.xml"/>
		<mkdir dir="${postingDirectory}/../unitTestReport/${package.version}/${buildId}"/>
		<copy todir="${postingDirectory}/../unitTestReport/${package.version}/${buildId}" overwrite="true">
			<fileset dir="${test.dir}/unitTestReport/html">
				<include name="*.html"/>
			</fileset>
		</copy>
	</target>
	
	<target name="buildLanguagePack">
		<antcall target="MakeNLPack1"/>
		<antcall target="PackageNLPack1"/>
	</target>
	<target name="MakeNLPack1">
		<echo message="Start Make NL1 Pack" />
		<ant antfile="LanguagePackBuild.xml" dir="${eclipse.build.configs}/birt.nl/tools" target="main" inheritAll="true">
			<property name="build.id" value="${buildId}" />
		</ant>
	</target>
	
	<target name="PackageNLPack1" >
		<echo message="Start Packaging NL1 for full, framework and RCP" />
		<ant antfile="BIRTDownloadSetup.xml" target="createNLGroup1" dir="${eclipse.build.configs}/birt/tools"  inheritAll="false">
			<property name="deposit" value="${buildDirectory}/${buildId}" />
			<property name="OutputDir" value="${postingDirectory}/${buildId}"/>
		</ant>
		<echo message="Start Packaging NL1 for charts" />
		<ant antfile="BIRTDownloadSetup.xml" target="createNLGroup1Chart" dir="${eclipse.build.configs}/birt/tools"  inheritAll="false">
			<property name="deposit" value="${buildDirectory}/${buildId}" />
			<property name="OutputDir" value="${postingDirectory}/${buildId}"/>
		</ant>
		<echo message="Start Packaging NL1 for runtime" />
		<ant antfile="BIRTDownloadSetup.xml" target="createNLGroup1Runtime" dir="${eclipse.build.configs}/birt/tools"  inheritAll="false">
			<property name="deposit" value="${buildDirectory}/${buildId}" />
			<property name="OutputDir" value="${postingDirectory}/${buildId}"/>
		</ant>
		<!-- Create NL FeatureOverlay packages -->
		<ant antfile="BIRTDownloadSetup.xml" dir="${eclipse.build.configs}/birt/tools" target="createBirtNLFeatureOverlay">
			<property name="OutputDir" value="${postingDirectory}/${buildId}" />
			<property name="deposit" value="${buildDirectory}/${buildId}" />
		</ant>
	</target>
	
	<target name="InformQA" unless="nomail">
        <property file="${eclipse.build.configs}/../../config.properties" />
        <mail mailport="${mail.port}" tolist="${QA.members}" from="${mail.from}" replyto="${replyto.address}" subject="${BranchVersion} Build Is Ready (BuildId: ${buildId})" >
                <message>
Hi All,

Today's build (BuildId: ${buildId}) is available.
Build based on:
${build.environment}
                	
Please download :
                	
AllInOne from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-report-designer-all-in-one-${package.version}.zip${rtn}               	
AllInOne for linux from: ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-report-designer-all-in-one-${package.version}-linux-gtk.tar.gz${rtn}               	
RCP from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-rcp-report-designer-${package.version}.zip${rtn}            	
Runtime from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-runtime-${package.version}.zip${rtn}           	
Framework from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-report-framework-${package.version}.zip${rtn}
Source drops from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-source-${package.version}.zip${rtn}              	
JUnit Test Suite Framework from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-tests-suite-${package.version}.zip${rtn}
                	
NL pack from ${QA.test.dir}\BIRT2.3-download\${buildId}\

Internal Update Site URL: http://qa-build/UpdateSite/${package.version}

Please visit [ http://qa-build:8080/BuildCentral ] for more information.
                	
Have a nice day!
                </message>
        </mail>
		<!-- create download info file -->
		<echo file="download.properties" append="false">
			allInOne=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-report-designer-all-in-one-${package.version}.zip
			runtime=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-runtime-${package.version}.zip
			rcp=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-rcp-report-designer-${package.version}.zip
			frameworkSDK=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-report-framework-sdk-${package.version}.zip
		</echo>
		<copy tofile="${postingDirectory}/download.properties" file="download.properties" overwrite="true" />
	</target>
	
	<target name="InformPerformance" unless="nomail">
		<property file="${eclipse.build.configs}/../../config.properties" />			
        <mail mailport="${mail.port}" subject="${BranchVersion} Performance Test Reporting (BuildId: ${buildId} ) " tolist="${QA.PERFORMANCE}">
			<from address="${mail.from}"/>
			<replyto address="${replyto.address}"/>
			<message>
Hi All,

Please see the attachments for performance test (BuildId: ${buildId}) results.

Please visit [ http://qa-build:8080/BuildCentral ] for more information.
				
Have a nice day!
			</message>
			<fileset dir="${test.dir}/unitTestReport/html">
				<include name="reporting_*.xml"/>
			</fileset>
		</mail>
	</target>


    <target name="genTestResultSummary">
    	<property file="${eclipse.build.configs}/../../config.properties" />
        <property name="tool.lib.path" value="${p4.home}/dailybuild/source/org.eclipse.birt.build"/>
        <path id="customjar.classpath">
                <path location="${tool.lib.path}/customtask.jar" />
                <fileset dir="${tool.lib.path}/lib">
                        <include name="*.jar"/>
                </fileset>
        </path>
        <!-- Using custom build tools to get failure/error summary of test result -->
        <java classname="org.eclipse.birt.build.ParseResultCount">
            <classpath refid="customjar.classpath" />
            <arg value="${test.dir}/unitTestReport/xml" />
            <arg value="${test.dir}/unitTestReport/html/result.properties" />
            <arg value="Y"/>
            <arg value="Y"/>
        </java>
	<!--
        <java classname="org.eclipse.birt.build.ParseResultCount">
            <classpath refid="customjar.classpath" />
            <arg value="${test.dir}/unitTestReport/smokexml" />
            <arg value="${test.dir}/unitTestReport/html/result.properties" />
            <arg value="Y"/>
            <arg value="N"/>
        </java>
	-->
    	<move file="${test.dir}/unitTestReport/html/result.properties" 
    		tofile="${postingDirectory}/result.properties"/>
    </target>
	
	<target name="InformAutomation" unless="nomail">
		<property file="${eclipse.build.configs}/../../config.properties" />			
        <mail mailport="${mail.port}" subject="${BranchVersion} Test Suite Projects Reporting (BuildId: ${buildId} ) " tolist="${QA.AUTOMATION}">
			<from address="${mail.from}"/>
			<replyto address="${replyto.address}"/>
			<message>
Hi All,

Please see the attachments for test results.
The repository of junit test reports can be found under: 	${QA.test.dir}\unitTestReport\${package.version}\

Please visit [ http://qa-build:8080/BuildCentral ] for more information.
				
Have a nice day!
			</message>
			<!--
			<fileset dir="${test.dir}/unitTestReport/html">
				<!--
				<include name="TESTS-EngineSmokeTests.html"/>
				<include name="TESTS-DtESmokeTests.html"/>
				-->
				<include name="org.eclipse.birt.report.tests.model.AllTests.html"/>
				<include name="org.eclipse.birt.report.tests.engine.AllTests.html"/>
				<include name="org.eclipse.birt.report.tests.chart.AllTests.html"/>
				<include name="org.eclipse.birt.tests.data.engine.AllTests.html"/>
				<include name="org.eclipse.birt.report.tests.regression.AllTests.html"/>
			</fileset>
			-->
		</mail>
	</target>
	
	<target name="checkErrorExist">
		<property file="${eclipse.build.configs}/../../monitor.properties" />
		<condition property="has.compile.error" value="true">
			<equals arg1="${compileHasError}" arg2="true" />
		</condition>
	</target>
	
    <target name="checkCompileError" depends="checkErrorExist" if="has.compile.error" >
		<property file="${eclipse.build.configs}/../../config.properties" />
		<property file="${eclipse.build.configs}/../../monitor.properties" />
		<echo message="${mail.port}"/>
		<echo message="${buildId}"/>
		<echo message="${COMPILE.ERROR.RECIPIENTS}"/>
		<echo message="${mail.from}"/>
		<echo message="${replyto.address}"/>
		<echo message="${error.plugin.list}"/>

		<echo message="${postingDirectory}/${buildId}/compilelogs/plugins"/>
		<mail mailport="${mail.port}" subject="Compile errors found in Today's Datatools Build (BuildId: ${buildId} ) " tolist="${COMPILE.ERROR.RECIPIENTS}">
                    <from address="${mail.from}"/>
                    <replyto address="${replyto.address}"/>
                    <message>
Hi All,

Compile errors are found in today's DTP build(BuildId: ${buildId}):
                    	
${error.plugin.list}  
        
Please see the attachments for details.
                    	
Have a nice day!
                    </message>
                    <fileset dir="${postingDirectory}/${buildId}/compilelogs/plugins">
                            <include name="*compilelog.html"/>
                    </fileset>
            </mail>
    </target>
	
	<target name="generateCompileSummary">
		
        <property file="config.properties" />
        <property name="tool.lib.path" value="${p4.home}/dailybuild/source/org.eclipse.birt.build"/>
	<property name="compile.log.summary" value="${postingDirectory}/compileSummary.properties"/>
		
        <path id="customjar.classpath">
                <path location="${tool.lib.path}/customtask.jar" />
                <fileset dir="${tool.lib.path}/lib">
                        <include name="*.jar"/>
                </fileset>
        </path>
		
        <delete file="${compile.log.summary}"  failonerror="false" />
         <!-- Using custom build tools to get failure/error summary of test result -->
         <java classname="org.eclipse.birt.build.ParseCompileSummary">
             <classpath refid="customjar.classpath" />
             <arg value="${postingDirectory}/${buildId}/compilelogs/plugins" />
             <arg value="${compile.log.summary}" />
             <arg value="Y" />
             <arg value="Y" />
         </java>
	</target>
</project>
