buildframework/helium/tests/minibuilds/ido/build.xml
changeset 1 be27ed110b50
child 179 d8ac696cc51f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildframework/helium/tests/minibuilds/ido/build.xml	Wed Oct 28 14:39:48 2009 +0000
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+============================================================================ 
+Name        : 
+Part of     : Helium 
+
+Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+All rights reserved.
+This component and the accompanying materials are made available
+under the terms of the License "Eclipse Public License v1.0"
+which accompanies this distribution, and is available
+at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
+Initial Contributors:
+Nokia Corporation - initial contribution.
+
+Contributors:
+
+Description:
+
+============================================================================
+-->
+<project name="minibuild.ido" default="help" xmlns:au="org.apache.ant.antunit" xmlns:hlm="http://www.nokia.com/helium">
+	<property environment="env" />
+	<import file="../site/${env.TEAM}.ant.xml" />
+	<dirname property="config.dir" file="${ant.file.minibuild.ido}" />
+
+	<!-- Enable Helium internal assertion checking. -->
+	<property name="hlm.enable.asserts" value="1" />
+
+	<property name="build.name" value="minibuild_ido" />
+	<property name="build.family" value="test_minibuild_ido" />
+	<property name="major.version" value="0" />
+	<property name="minor.version" value="0" />
+
+	<property name="ccm.project.wa_path" location="E:\Build_E\${env.USERNAME}\ido_wa\${build.name}" />
+	<property name="ccm.enabled" value="true" />
+
+
+	<!-- build configuration -->
+	<property name="sysdef.configurations.list" value="helium_minibuild_ido" />
+	<path id="system.definition.files">
+		<fileset dir="${config.dir}" includes="sysdefs/*.sysdef.xml" />
+		<fileset dir="${ccm.project.wa_path}" includes="*/*/*/layers.sysdef.xml" />
+	</path>
+
+
+	<!-- Configuring the build system -->
+	<property name="build.system" value="ec-helium" />
+	<property name="rvct.version" value="22_616" />
+
+	<!-- Configuring get latest env. -->
+	<property name="s60.grace.service" value="S60RnD" />
+	<property name="s60.grace.product" value="pf_5250" />
+	<property name="s60.grace.release" value="pf_5250(?:_| )?\d{4}(?:\s*wk)?\d{2}" />
+	<!-- matching pf_5250_200816 and pf_5250 2008 wk16 -->
+	<property name="prep.root.dir" value="E:\Build_E\${env.USERNAME}\ido_ba\${build.name}" />
+
+	<!-- Synergy configuration -->
+	<property name="ccm.database" value="tr1test1" />
+	<property name="prep.delivery.file" location="config/delivery.xml" />
+	<property name="publish.ccm.folder" value="tr1test1#2079" />
+
+
+	<!-- Synergy is not configured -->
+	<property name="skip.password.validation" value="1" />
+
+	<!-- IDO robot configuration -->
+	<property name="do.robot.release" value="MinibuildDomain" />
+	<tstamp>
+		<format property="ido.robot.tstamp" pattern="yyyyMMddhhmmss" />
+	</tstamp>
+	<property name="s60.build.robot.path" location="${build.drive}/shared_drive/s60robot/${build.name}/${ido.robot.tstamp}" />
+
+	<import file="hack-test.ant.xml" />
+	<import file="${helium.dir}/helium.ant.xml" />
+
+	<!-- Run the full sequence of target for the minibuild. ,mini-build-prep,compile-main,zip-ee,mini-build-check-->
+	<target name="do-mini-build" depends="ido-update-build-area,
+                                            flag-ba-for-deletion,
+    										mini-build-cleanup,
+    										ido-build,
+                							check-diamonds,
+    	                                    mini-build-check,
+    										run-hack" />
+
+
+	<!--ant code coverage for mini-builds-->
+	<target name="mini-build">
+    <antcall target="database">
+        <param name="home.files.only" value="false"/>
+    </antcall>
+		<mkdir dir="${helium.build.dir}/temp" />
+		<property name="config.temp.build.dir" location="${config.dir}/build" />
+		<hlm:coveragerecord name="${helium.build.dir}/temp/test.minibuild-ido.xml" action="start" />
+		<runtarget target="do-mini-build" />
+		<hlm:coveragerecord name="${helium.build.dir}/temp/test.minibuild-ido.xml" action="stop" />
+		<fmpp sourcefile="${helium.dir}/tools/common/templates/coveragerecord.txt.ftl" outputfile="${helium.build.dir}/temp/test_minibuild.txt">
+			<data expandProperties="yes">
+                doc: xml(${helium.build.dir}/temp/test.minibuild-ido.xml)
+                database: xml(${database.file})
+            </data>
+		</fmpp>
+		<loadfile srcfile="${helium.build.dir}/temp/test_minibuild.txt" property="ant.coverage.summary" />
+		<echo>
+The summary of Ant code coverage:
+
+${ant.coverage.summary}</echo>
+		<fmpp sourcefile="${helium.dir}/tools/common/templates/coveragerecord.html.ftl" outputfile="${helium.build.dir}/temp/test_minibuild.html">
+			<data expandProperties="yes">
+            	doc: xml(${helium.build.dir}/temp/test.minibuild-ido.xml)
+                database: xml(${database.file})
+			</data>
+		</fmpp>
+	</target>
+
+	<!-- Preparing the content on top of the env -->
+	<target name="ido-50-build" depends="ido-build-prep,compile-main,build-log-summary,render-internal-exports,update-policy-src-reference,render-validate-policy,localisation-50-build,ido-codescanner,rndsdk-create-api-descr-xml,ats-test,publish-tasks-to-folder,ido-sources-to-s60-build-robot" />
+	<target name="ido-build-prep" depends="ido-configure-prep,init,check-tool-dependencies,log-build-env,set-arm-version,check-free-space,diamonds,do-ccm-get-input,ido-prep-clean,ido-prep-copy,create-bom" />
+
+	<!-- needed to defined skip.prep-drive -->
+	<target name="ido-configure-prep">
+		<property name="skip.prep-drive" value="true" />
+	</target>
+
+	<!-- real IDO use this to switch branch target. -->
+	<target name="ido-build">
+		<runtarget target="ido-50-build" />
+	</target>
+
+
+	<target name="check-diamonds">
+		<!--loadfile srcfile="${build.log.dir}/diamonds-start.log.xml" property="diamonds.log.start" />
+		<echo>${diamonds.log.start}</echo-->
+		<!--loadresource property="diamonds.log.start.output">
+			<url url="${diamonds.build.url}?fmt=xml" />
+		</loadresource-->
+		<!--echo>${diamonds.log.start.output}</echo-->
+        <xmlvalidate lenient="yes">
+        	<fileset dir="${build.log.dir}">
+                <include name="diamonds-finish.xml"/>
+                <include name="diamonds-full-results.xml"/>
+                <include name="diamonds-start.log.xml"/>
+        		<include name="check-tool-dependencies.xml"/>
+        		<include name="compile-main.xml"/>
+        		<include name="create-bom.xml"/>
+        		<include name="build-time.xml"/>
+        	</fileset>
+        </xmlvalidate>
+	</target>
+
+	<target name="mini-build-cleanup">
+		<delete verbose="true" includeemptydirs="true">
+			<fileset dir="${build.drive}/" casesensitive="false">
+				<include name="makefile" />
+				<include name="*.mk" />
+				<include name="ecloud_tmp_*/**" />
+				<include name="emake.*" />
+				<include name="epoc32/build/**" />
+				<include name="epoc32/rombuild/*/**" />
+				<include name="output/**" />
+				<include name="timestart.txt" />
+				<include name="timestop.txt" />
+			</fileset>
+		</delete>
+	</target>
+
+
+	<target name="mini-build-check">
+		<!-- Check if prep has set some prop correctly... -->
+		<echo>'${arm.compiler.version}'</echo>
+		<au:assertMatches string="${arm.compiler.version}" pattern="RVCT2\.2 \[Build 616\]" casesensitive="false" multiline="true" />
+
+		<!-- Check if compile-main step did what expected... -->
+		<au:assertFileExists file="${canonical.sysdef.file}" />
+		<if>
+			<or>
+				<isset property="build.system.ec-helium" />
+				<isset property="build.system.ec" />
+			</or>
+			<then>
+				<au:assertFileExists file="${build.drive}/helium_minibuild_ido.make" />
+				<au:assertFileExists file="${build.drive}/helium_minibuild_ido_clean.make" />
+				<au:assertFileExists file="${build.drive}/emake.data" />
+
+				<au:assertFileExists file="${build.log.dir}/${build.id}.helium_minibuild_ido_run_emake.bat" />
+				<au:assertFileExists file="${build.log.dir}/${build.id}.helium_minibuild_ido_clean_run_emake.bat" />
+			</then>
+		</if>
+	</target>
+
+
+	<target name="update-policy-src-reference" depends="ido-create-ado-mapping">
+		<hlm:iniKeys2Path ini="${ado.mapping.file}" pathid="reference.policy.path.list"/>
+	</target>
+
+</project>
+