buildframework/helium/tests/minibuilds/linux-build/ido/build.xml
changeset 587 85df38eb4012
child 628 7c4a911dc066
equal deleted inserted replaced
217:0f5e3a7fb6af 587:85df38eb4012
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <!-- 
       
     3 ============================================================================ 
       
     4 Name        : 
       
     5 Part of     : Helium 
       
     6 
       
     7 Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     8 All rights reserved.
       
     9 This component and the accompanying materials are made available
       
    10 under the terms of the License "Eclipse Public License v1.0"
       
    11 which accompanies this distribution, and is available
       
    12 at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
    13 
       
    14 Initial Contributors:
       
    15 Nokia Corporation - initial contribution.
       
    16 
       
    17 Contributors:
       
    18 
       
    19 Description:
       
    20 
       
    21 ============================================================================
       
    22 -->
       
    23 <project name="minibuild.ido" default="help" xmlns:au="org.apache.ant.antunit" xmlns:hlm="http://www.nokia.com/helium">
       
    24 	<property environment="env" />
       
    25 	<import file="../../site/${env.TEAM}.ant.xml" />
       
    26 	<dirname property="config.dir" file="${ant.file.minibuild.ido}" />
       
    27 
       
    28         <property name="data.drive.letter" value="/nokia/bh_nmp/groups/helium_dev_wa/data_drive" />
       
    29 	<!-- Enable Helium internal assertion checking. -->
       
    30 	<property name="hlm.enable.asserts" value="1" />
       
    31 
       
    32 	<property name="build.name" value="linux_minibld_ido" />
       
    33 	<property name="build.family" value="linux_test_minibuild_ido" />
       
    34 	<property name="major.version" value="0" />
       
    35 	<property name="minor.version" value="0" />
       
    36 	
       
    37 	<property name="ccm.project.wa_path" value="${data.drive.letter}/${env.USERNAME}/ido_wa"  />
       
    38         <property name="prep.root.dir" value="${data.drive.letter}/${env.USERNAME}/ido_ba"/>
       
    39         <property name="prep.build.dir" value="${prep.root.dir}/${build.name}"/>
       
    40 	<property name="ccm.enabled" value="true" />
       
    41 	<property name="publish.ccm.folder" value="bh1test#310" />
       
    42 	<property name="ccm.project" value="MinibuildDomain-50_200832:project:tr1test1#1" />
       
    43 	<property name="prep.delivery.file" location="config/delivery.xml" />
       
    44 
       
    45 
       
    46 	<!-- build configuration -->
       
    47 	<property name="sysdef.configurations.list" value="helium_minibuild_ido" />
       
    48 	<path id="system.definition.files">
       
    49 		<fileset dir="${config.dir}" includes="sysdefs/*.sysdef.xml" />
       
    50 		<fileset dir="${ccm.project.wa_path}" includes="*/*/*/layers.sysdef.xml" />
       
    51 	</path>
       
    52 
       
    53 
       
    54 	<!-- Configuring the build system -->
       
    55 	<property name="build.system" value="sbs" />
       
    56 	<property name="rvct.version" value="22_686" />
       
    57 
       
    58 	<!-- Configuring get latest env. -->
       
    59 	<property name="s60.grace.service" value="s60_devices_sw" />
       
    60 	<property name="s60.grace.product" value="DFS7x.92" />
       
    61 	<property name="s60.grace.release" value="92_(?:_| )?\d{4}(?:\s*wk)?\d{2}_hw79" />
       
    62 	<property name="s60.grace.revision" value="(?:_\d{3})?"/>
       
    63 	<!-- Synergy is not configured -->
       
    64 	<property name="skip.password.validation" value="1" />
       
    65 
       
    66 	<!-- IDO robot configuration -->
       
    67 	<property name="do.robot.release" value="MinibuildDomain" />
       
    68 	<tstamp>
       
    69 		<format property="ido.robot.tstamp" pattern="yyyyMMddhhmmss" />
       
    70 	</tstamp>
       
    71 	<property name="s60.build.robot.path" location="${build.drive}/shared_drive/s60robot/${build.name}/${ido.robot.tstamp}" />
       
    72 
       
    73 	<import file="hack-test.ant.xml" />
       
    74 	<import file="${helium.dir}/helium.ant.xml" />
       
    75     <import file="config/stages_config.ant.xml" />
       
    76 
       
    77 	<!-- Run the full sequence of target for the minibuild. ,mini-build-prep,compile-main,zip-ee,mini-build-check-->
       
    78 	<target name="do-mini-build" depends="ido-update-build-area,
       
    79                                             flag-ba-for-deletion,
       
    80     										mini-build-cleanup,
       
    81     										ido-build,
       
    82                 							check-diamonds,
       
    83     	                                    mini-build-check,
       
    84     										run-hack" />
       
    85 
       
    86 
       
    87 	<!--ant code coverage for mini-builds-->
       
    88 	<target name="mini-build">
       
    89     <antcall target="database">
       
    90         <param name="home.files.only" value="false"/>
       
    91     </antcall>
       
    92 		<mkdir dir="${helium.build.dir}/temp" />
       
    93 		<property name="config.temp.build.dir" location="${config.dir}/build" />
       
    94 		<hlm:coveragerecord name="${helium.build.dir}/temp/test.minibuild-ido.xml" action="start" />
       
    95 		<runtarget target="do-mini-build" />
       
    96 		<hlm:coveragerecord name="${helium.build.dir}/temp/test.minibuild-ido.xml" action="stop" />
       
    97 		<fmpp sourcefile="${helium.dir}/tools/common/templates/coveragerecord.txt.ftl" outputfile="${helium.build.dir}/temp/test_minibuild.txt">
       
    98 			<data expandProperties="yes">
       
    99                 doc: xml(${helium.build.dir}/temp/test.minibuild-ido.xml)
       
   100                 database: xml(${database.file})
       
   101             </data>
       
   102 		</fmpp>
       
   103 		<loadfile srcfile="${helium.build.dir}/temp/test_minibuild.txt" property="ant.coverage.summary" />
       
   104 		<echo>
       
   105 The summary of Ant code coverage:
       
   106 
       
   107 ${ant.coverage.summary}</echo>
       
   108 		<fmpp sourcefile="${helium.dir}/tools/common/templates/coveragerecord.html.ftl" outputfile="${helium.build.dir}/temp/test_minibuild.html">
       
   109 			<data expandProperties="yes">
       
   110             	doc: xml(${helium.build.dir}/temp/test.minibuild-ido.xml)
       
   111                 database: xml(${database.file})
       
   112 			</data>
       
   113 		</fmpp>
       
   114 	</target>
       
   115 
       
   116 
       
   117 	<!-- Preparing the content on top of the env -->
       
   118 	<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,ats-test,publish-tasks-to-folder,ido-sources-to-s60-build-robot" />
       
   119 	<target name="ido-build-prep" depends="ido-configure-prep,init,check-tool-dependencies,log-build-env,set-arm-version,check-free-space,diamonds,do-prep-work-area,ido-prep-clean,ido-prep-copy,create-bom" />
       
   120 
       
   121 	<!-- needed to defined skip.prep-drive -->
       
   122 	<target name="ido-configure-prep">
       
   123 		<property name="skip.prep-drive" value="true" />
       
   124 	</target>
       
   125 
       
   126 	<!-- real IDO use this to switch branch target. -->
       
   127 	<target name="ido-build">
       
   128 		<runtarget target="ido-50-build" />
       
   129 	</target>
       
   130 
       
   131 
       
   132 	<target name="check-diamonds">
       
   133 		<!--loadfile srcfile="${build.log.dir}/diamonds-start.log.xml" property="diamonds.log.start" />
       
   134 		<echo>${diamonds.log.start}</echo-->
       
   135 		<!--loadresource property="diamonds.log.start.output">
       
   136 			<url url="${diamonds.build.url}?fmt=xml" />
       
   137 		</loadresource-->
       
   138 		<!--echo>${diamonds.log.start.output}</echo-->
       
   139         <xmlvalidate lenient="yes">
       
   140         	<fileset dir="${build.log.dir}">
       
   141                 <include name="diamonds-finish.xml"/>
       
   142                 <include name="diamonds-full-results.xml"/>
       
   143                 <include name="diamonds-start.log.xml"/>
       
   144         		<include name="check-tool-dependencies.xml"/>
       
   145         		<include name="compile-main.xml"/>
       
   146         		<include name="create-bom.xml"/>
       
   147         		<include name="build-time.xml"/>
       
   148         	</fileset>
       
   149         </xmlvalidate>
       
   150 	</target>
       
   151 
       
   152 	<target name="mini-build-cleanup">
       
   153 		<delete verbose="true" includeemptydirs="true" failonerror="false">
       
   154 			<fileset dir="${build.drive}/" casesensitive="false">
       
   155 				<include name="makefile" />
       
   156 				<include name="*.mk" />
       
   157 				<include name="ecloud_tmp_*/**" />
       
   158 				<include name="emake.*" />
       
   159 				<include name="epoc32/build/**" />
       
   160 				<include name="epoc32/rombuild/*/**" />
       
   161 				<include name="output/**" />
       
   162 				<include name="timestart.txt" />
       
   163 				<include name="timestop.txt" />
       
   164 			</fileset>
       
   165 		</delete>
       
   166 	</target>
       
   167 
       
   168 
       
   169 	<target name="mini-build-check">
       
   170 		<!-- Check if prep has set some prop correctly... -->
       
   171 		<!-- remember to update the selection by the environment variable in hlm.bat when switching to other compiler version -->
       
   172 		<echo>'${arm.compiler.version}'</echo>
       
   173 		<au:assertMatches string="${arm.compiler.version}" pattern="RVCT2\.2 \[Build 686\]" casesensitive="false" multiline="true" />
       
   174 
       
   175 		<!-- Check if compile-main step did what expected... -->
       
   176 		<au:assertFileExists file="${canonical.sysdef.file}" />
       
   177 		<if>
       
   178 			<or>
       
   179 				<isset property="build.system.ec-helium" />
       
   180 				<isset property="build.system.ec" />
       
   181 			</or>
       
   182 			<then>
       
   183 				<au:assertFileExists file="${build.drive}/helium_minibuild_ido.make" />
       
   184 				<au:assertFileExists file="${build.drive}/helium_minibuild_ido_clean.make" />
       
   185 				<au:assertFileExists file="${build.drive}/emake.data" />
       
   186 
       
   187 				<au:assertFileExists file="${temp.build.dir}/${build.id}.helium_minibuild_ido_run_emake.bat" />
       
   188 				<au:assertFileExists file="${temp.build.dir}/${build.id}.helium_minibuild_ido_clean_run_emake.bat" />
       
   189 			</then>
       
   190 		</if>
       
   191 		
       
   192 		<!-- Check if stagelogging step did what expected... -->
       
   193 		<au:assertFileExists file="${build.log.dir}/${build.id}_ido_prep.ant.log" />
       
   194 		<au:assertFileExists file="${build.log.dir}/${build.id}_compile.ant.log" />
       
   195 		<au:assertFileExists file="${build.log.dir}/${build.id}_test.ant.log" />
       
   196 		<au:assertFileExists file="${build.log.dir}/${build.id}_localisation.ant.log" />
       
   197 		
       
   198 	</target>
       
   199 
       
   200 
       
   201 	<target name="update-policy-src-reference" depends="ido-create-ado-mapping">
       
   202 		<hlm:iniKeys2Path ini="${ado.mapping.file}" pathid="reference.policy.path.list"/>
       
   203 	</target>
       
   204 
       
   205 </project>
       
   206