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