|
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 |