|
1 .. index:: |
|
2 module: Example Product |
|
3 |
|
4 ================== |
|
5 Example Product |
|
6 ================== |
|
7 |
|
8 .. contents:: |
|
9 |
|
10 Introduction |
|
11 ============ |
|
12 |
|
13 This section gives an example of a product and its configuration files which produces a complete build, link, ROM image generation and variant creation. |
|
14 |
|
15 |
|
16 .. index:: |
|
17 single: Example - File Structure |
|
18 |
|
19 .. _product-example-label: |
|
20 |
|
21 Legacy File Structure |
|
22 ===================== |
|
23 |
|
24 The following is an example of the file structure required, 'mc' is the product root directory. The convention used here is '\' indicates a sub folder below the current folder. The mc project is saved under synergy or some other version control software. (There is a naming convention; any .xml file that contains ant configuration information is named file.ant.xml if it is purely a configuration file for the project it is named file.xml) :: |
|
25 |
|
26 \mc |
|
27 \helium #contains the helium tool set. |
|
28 \mc_build #contains the build command files and build configuration files (mostly ant configuration files). |
|
29 languages.xml |
|
30 team.ant.xml |
|
31 \mc_number_build |
|
32 delivery.xml |
|
33 prep.xml |
|
34 rom_image_comfig.xml |
|
35 \all |
|
36 bld.bat |
|
37 build.xml |
|
38 \product |
|
39 build.xml |
|
40 bld.bat |
|
41 \teams |
|
42 teamName.ant.xml |
|
43 \mc_config #contains configuration files specific to the product being build e.g. which components to include. |
|
44 \product |
|
45 \rom |
|
46 \include |
|
47 mc_product_override.iby |
|
48 \product_edge |
|
49 \rom |
|
50 \include |
|
51 mc_product_override.iby |
|
52 \product_lta |
|
53 \rom |
|
54 \include |
|
55 mc_product_override.iby |
|
56 \mc_overlay #these contain files that are to overwite code supplied by S60 in the same structure as is saved in the S60 code under 2 different folders |
|
57 \common #contains overlay files common to all products |
|
58 \files |
|
59 \config |
|
60 \epoc32 |
|
61 . |
|
62 . |
|
63 . |
|
64 \product_overlay #contains files that are to overwite S60 files that are specific to the product and not the others in the family of products. |
|
65 \files |
|
66 \config |
|
67 \epoc32 |
|
68 . |
|
69 . |
|
70 . |
|
71 \mc_sw #contains any extra software required for the build i.e. new features to be added that are not yet in the main line code. |
|
72 \mc_nummber_sw |
|
73 \exports |
|
74 |
|
75 |
|
76 Within each folder there needs to be certain files which contain certain configuration information, this is all configurable, but, this example is put here to give you tsome idea of what ot put where. |
|
77 |
|
78 .. index:: |
|
79 single: Example - Main Configuration Files |
|
80 |
|
81 Main Configuration Files |
|
82 ========================= |
|
83 |
|
84 The following example files are the main files used within the example. |
|
85 |
|
86 .. index:: |
|
87 single: Example - team.ant.xml file |
|
88 |
|
89 team.ant.xml file |
|
90 ------------------ |
|
91 |
|
92 This uses the TEAM variable set up in the PC control panel environment variables. The variable name must be in upper case and the value in lower case. |
|
93 |
|
94 .. code-block:: xml |
|
95 |
|
96 <?xml version="1.0" encoding="UTF-8"?> |
|
97 <project name="mc_tools.nbuild.team"> |
|
98 <property name="team" value="${env.TEAM}"/> |
|
99 <import file="teams/${team}.ant.xml"/> |
|
100 </project> |
|
101 |
|
102 .. index:: |
|
103 single: Example - languages.xml file |
|
104 |
|
105 languages.xml |
|
106 ------------- |
|
107 |
|
108 This file contains a list of all the languages used by the product, the example only shows 3. |
|
109 |
|
110 .. code-block:: xml |
|
111 |
|
112 <?xml version="1.0" ?> |
|
113 <languages> |
|
114 <language id="01" name="English"><inc>0</inc><srsf>uk</srsf></language> |
|
115 <language id="02" name="French"><srsf>fre</srsf></language> |
|
116 <language id="03" name="German"><srsf>ger</srsf></language> |
|
117 <language id="326" name="Malay"><core>china</core><srsf>mly326</srsf><fallbacks>70</fallbacks></language> |
|
118 </languages> |
|
119 |
|
120 |
|
121 .. index:: |
|
122 single: Example - delivery.xml file |
|
123 |
|
124 Delivery.xml |
|
125 ------------- |
|
126 |
|
127 This file contains the list of projects that should be checkedout or copied (snapshot) from synergy. |
|
128 |
|
129 .. code-block:: xml |
|
130 |
|
131 <build> |
|
132 <spec name="mc_number" abstract="true"> |
|
133 <set name="database" value="${ccm.database}"/> |
|
134 <set name="dir" value="${ccm.base.dir}" /> |
|
135 <set name="threads" value="6" /> |
|
136 <set name="use.reconfigure.template" value="false" /> |
|
137 <set name="release" value="${release.tag}" /> |
|
138 |
|
139 <spec name="proj1_sw-wk200832:project:db1#1" type="snapshot" /> |
|
140 |
|
141 <spec name="proj2-db2#0833:project:db3#1" type="checkout" /> |
|
142 <spec name="cellmo" abstract="true"> |
|
143 <set name="dir" value="${ccm.base.dir}\cellmo" /> |
|
144 <set name="threads" value="1" /> |
|
145 |
|
146 <spec name="cellmo_bins_rmnum_product-wk08w31:project:db1#1" type="snapshot" /> |
|
147 <spec name="cellmo_bins_rmnum_product_chn-wk08w31:project:db5#1" type="snapshot" /> |
|
148 <spec name="cellmo_bins_rmnum_product_lta-wk08w31:project:db6#1" type="snapshot" /> |
|
149 </spec> |
|
150 </spec> |
|
151 </build> |
|
152 |
|
153 |
|
154 .. index:: |
|
155 single: Example - prep.xml file |
|
156 |
|
157 prep.xml |
|
158 ----------- |
|
159 |
|
160 This file takes the checked out projects (and snapshots) and copies them to the build area, unzipping those files that need unzipping. |
|
161 |
|
162 .. code-block:: xml |
|
163 |
|
164 <?xml version="1.0" encoding="UTF-8"?> |
|
165 <prepSpec> |
|
166 <config> |
|
167 <exclude name="abld.bat"/> |
|
168 <exclude name=".static_wa"/> |
|
169 <exclude name="_ccmwaid.inf"/> |
|
170 <exclude name="documentation/*"/> |
|
171 <exclude name="documents/*"/> |
|
172 <exclude name="doc/*"/> |
|
173 </config> |
|
174 |
|
175 <source label="Symbian" basedir="${symbian.release.dir}"> |
|
176 <unzip name="${symbian.zip.prefix}${symbian.release}_src_generic_part1.zip"/> |
|
177 <unzip name="${symbian.zip.prefix}${symbian.release}_src_generic_part2.zip"/> |
|
178 <unzip name="${symbian.zip.prefix}${symbian.release}_src_generic_part3.zip"/> |
|
179 <unzip name="${symbian.zip.prefix}${symbian.release}_src_cedar.zip"/> |
|
180 <unzip name="${symbian.zip.prefix}${symbian.release}_src_common_other_sources_part2.zip"/> |
|
181 |
|
182 <!-- This is required to generate all the .jar files correctly under \epoc32\tools\ --> |
|
183 <unzip name="${symbian.zip.prefix}${symbian.release}_src_product.zip" dest="${build.drive}/src"/> |
|
184 |
|
185 <unzip name="${symbian.zip.prefix}${symbian.release}_epoc32.zip"/> |
|
186 <unzip name="${symbian.zip.prefix}${symbian.release}_epoc32_RELEASE_ARMV5.zip"/> |
|
187 </source> |
|
188 |
|
189 <!-- Unzip (ICF/ICD)'s if there are any --> |
|
190 <source name="icds" basedir=""> |
|
191 <unzipicds dest="${build.drive}\"> |
|
192 <!-- Unzipping from following location |
|
193 * S60 |
|
194 * common |
|
195 * product |
|
196 --> |
|
197 <location name="${ccm.base.dir}/S60/S60/Symbian_ICD_ICF/${symbian.release}" /> |
|
198 <location name="${mc_number_build.dir}../../../mc_overlay/${product.family}_overlay/common/files/s60/Symbian_ICD_ICF/${symbian.release}" /> |
|
199 </unzipicds> |
|
200 </source> |
|
201 |
|
202 <!-- Unzip (ICF/ICD)'s if there are any --> |
|
203 <source name="product_icds" basedir=""> |
|
204 <unzipicds dest="${build.drive}\"> |
|
205 <location name="${mc_number_build.dir}../../../mc_overlay/${product.family}_overlay/common/files/s60/Symbian_ICD_ICF/product_ICF" /> |
|
206 </unzipicds> |
|
207 </source> |
|
208 |
|
209 <!-- copying s60 content --> |
|
210 <source label="S60" basedir="${ccm.base.dir}"> |
|
211 <copy name="S60/s60" dest="s60" /> |
|
212 </source> |
|
213 |
|
214 <source label="IBUSAL51" basedir="${ccm.base.dir}/"> |
|
215 <copy name="IBUSAL_RapidoYawe/IBUSAL_RapidoYawe"/> |
|
216 </source> |
|
217 |
|
218 <source label="component_SW" basedir="${ccm.base.dir}"> |
|
219 <copy name="component_sw" dest="component_sw"/> |
|
220 </source> |
|
221 |
|
222 <source label="CELLMO" basedir="${ccm.base.dir}"> |
|
223 <unzip name="\cellmo\cellmo_bins_rm2num_product\cellmo_bins_rmnum_product\rmnum_product.zip" dest="${build.drive}\cellmo\${cellmo.imagename.product}"/> |
|
224 <unzip name="\cellmo\cellmo_bins_rmnum_product_chn\cellmo_bins_rmnum_product_chn\rmnum_product_chn.zip" dest="${build.drive}\cellmo\${cellmo.imagename.product.edge}"/> |
|
225 <unzip name="\cellmo\cellmo_bins_rmnum_product_lta\cellmo_bins_rmnum_product_lta\rmnum_product_lta.zip" dest="${build.drive}\cellmo\${cellmo.imagename.product.lta}"/> |
|
226 </source> |
|
227 <source label="CELLMO_copy" basedir="${build.drive}\cellmo"> |
|
228 <!-- product cellmo copy --> |
|
229 <copy name="${cellmo.imagename.product}\${dsp.imagename}.hex" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product\dsp.hex"/> |
|
230 <copy name="${cellmo.imagename.product}\nalo.axf" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product\nalo.axf"/> |
|
231 <copy name="${cellmo.imagename.product}\naloext.axf" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product\naloext.axf"/> |
|
232 <copy name="${cellmo.imagename.product}\3rd.bin" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product\3rd.bin"/> |
|
233 <copy name="${cellmo.imagename.product}\${cellmo.imagename.product}.out" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product\isa.out"/> |
|
234 <!-- product Edge cellmo copy --> |
|
235 <copy name="${cellmo.imagename.product.edge}\${dsp.imagename.edge}.hex" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product_edge\dsp.hex"/> |
|
236 <copy name="${cellmo.imagename.product.edge}\nalo.axf" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product_edge\nalo.axf"/> |
|
237 <copy name="${cellmo.imagename.product.edge}\naloext.axf" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product_edge\naloext.axf"/> |
|
238 <copy name="${cellmo.imagename.product.edge}\3rd.bin" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product_edge\3rd.bin"/> |
|
239 <copy name="${cellmo.imagename.product.edge}\${cellmo.imagename.product.edge}.out" tofile="${build.drive}\epoc32\rom\config\PLATFORM\product_edge\isa.out"/> |
|
240 <!-- |
|
241 </source> |
|
242 <source name="patches" basedir=""> |
|
243 <unzipicds dest="${build.drive}\"> |
|
244 <location name="${patch.zip.dir}" /> |
|
245 <include name="*" /> |
|
246 </unzipicds> |
|
247 </source> |
|
248 |
|
249 </prepSpec> |
|
250 |
|
251 |
|
252 .. index:: |
|
253 single: Example - rom_image_config.xml file |
|
254 |
|
255 Legacy rom_image_config.xml file |
|
256 -------------------------------- |
|
257 |
|
258 This file contains all the information necessary to create the rom image, i.e. what variants are to be created and which libraries are to go in each variant. |
|
259 |
|
260 .. code-block:: xml |
|
261 |
|
262 <?xml version="1.0" encoding="UTF-8"?> |
|
263 <build xmlns:xi="http://www.w3.org/2003/XInclude"> |
|
264 <spec name="mc" abstract="true"> |
|
265 <set name="ui.platform" value="mcnumber"/> |
|
266 <set name="zips.loc.dir" value="${zips.loc.dir}" /> |
|
267 <set name="languages.xml.location" value="${localisation.language.file}" /> |
|
268 <set name="variation.dir" value="${build.drive}\mc\mc_config\mc_number_config\product\variation" /> |
|
269 <set name="rombuild.config.file" value="${rombuild.config.file.parsed}" /> |
|
270 <set name="version.product.name" value="N78"/> |
|
271 <set name="imaker.languagepack.automation" value="0"/> |
|
272 <set name="enable.romsymbol" value="1"/> |
|
273 <set name="today" value="$(TODAY)"/> |
|
274 <set name="languagepack.id" value="000"/> <!-- language pack id is 000 in case of EE. --> |
|
275 <set name="customer.id" value="000"/> <!-- customer id is 000 in case of EE. --> |
|
276 <set name="uda.id" value="000" /> |
|
277 <set name="massmemory.id" value="000" /> |
|
278 <set name="memorycard.id" value="000" /> |
|
279 <set name="customer.revision" value="1"/> |
|
280 <set name="uda.revision" value="1"/> |
|
281 <set name="massmemory.revision" value="1" /> |
|
282 <set name="memorycard.revision" value="1" /> |
|
283 |
|
284 <!-- This property can be overriden by variant team --> |
|
285 <set name="rommake.flags.vt" value=""/> |
|
286 <set name="rommake.flags" value="-es60ibymacros -DXTI_TRACES -DNO_PLATSEC ${rommake.flags.vt}"/> |
|
287 <set name="version.bandvariant" value="0"/> |
|
288 <set name="version.pd.milestone" value="${major.version}"/> |
|
289 <set name="version.pr" value="${pr}"/> |
|
290 <set name="version.m.step" value="${m.step}"/> |
|
291 <set name="version.bandvariant" value="0"/> |
|
292 <set name="version.rimcycle" value="${minor.version}"/> |
|
293 |
|
294 <set name="image.version.name" value="${version.pr}.${build.number}${fota.a.build}" /> |
|
295 <set name="rombuild.id" value="${rommake.product.type}_${image.version.name}"/> |
|
296 |
|
297 <set name="rom.output.dir" value="${build.output.dir}"/> |
|
298 <set name="image.type" value="prd,rnd"/> |
|
299 <set name="customer.type" value="vanilla"/> |
|
300 <set name="uda.type" value="vanilla"/> |
|
301 <set name="image.master.iby" value="\epoc32\rom\master.oby"/> |
|
302 <set name="image.variant.iby" value="\epoc32\rom\mc_number_variant_imaker.oby"/> |
|
303 <set name="include.rnd.oby" value="$(if $(subst rnd,,$(TYPE)),0,1)" /> <!-- include rnd applications only in rnd images --> |
|
304 <set name="image.override.iby" value="\epoc32\rom\override.oby"/> |
|
305 <set name="version.copyright" value="(C) Nokia"/> |
|
306 <set name="build.drive" value="${build.drive}"/> |
|
307 <set name="customer.image.version.name" value="${image.version.name}" /> |
|
308 <set name="uda.image.version.name" value="${image.version.name}" /> |
|
309 <set name="massmemory.image.version.name" value="${image.version.name}" /> |
|
310 <set name="memorycard.image.version.name" value="${image.version.name}" /> |
|
311 |
|
312 |
|
313 <!-- Template full outputdir (used by iMaker for ROM generation) --> |
|
314 <set name="flash.output.dir" value="${rom.output.dir}/development_flash_images/engineering_english/${image.type}"/> |
|
315 <set name="core.output.dir" value="${rom.output.dir}/${core.image.path}"/> |
|
316 <set name="languagepack.output.dir" value="${rom.output.dir}/${languagepack.image.path}"/> |
|
317 <set name="customer.output.dir" value="${rom.output.dir}/${customer.image.path}"/> |
|
318 <set name="uda.output.dir" value="${rom.output.dir}${uda.image.path}"/> |
|
319 <set name="eraseuda.output.dir" value="${rom.output.dir}"/> |
|
320 <set name="flash.config.publish.dir" value="${build.output.dir}/${flash.config.path}"/> |
|
321 |
|
322 <!-- Template relative paths --> |
|
323 <set name="core.image.path" value="release_flash_images/${image.type}/core" /> |
|
324 <set name="languagepack.image.path" value="release_flash_images/${image.type}/language/${description}_${languagepack.id}" /> |
|
325 <set name="customer.image.path" value="release_flash_images/${image.type}/customer/${customer.type}/${description}_${customer.id}" /> |
|
326 <set name="uda.image.path" value="release_flash_images/${image.type}/uda/${uda.type}/${description}_${uda.id}" /> |
|
327 <set name="memorycard.image.path" value="release_flash_images/memorycard/${description}_${memorycard.id}" /> |
|
328 <set name="massmemory.image.path" value="release_flash_images/massmemory/${description}_${massmemory.id}" /> |
|
329 <set name="flash.config.path" value="${customer.image.path}" /> |
|
330 |
|
331 <!-- Template names --> |
|
332 <set name="flash.image.name" value="${rombuild.id}_${image.type}_${flash.id}"/> |
|
333 <set name="eraseuda.image.name" value="${rombuild.id}_${build.version}"/> |
|
334 <set name="empty.eraseuda.image.name" value="${rombuild.id}_${build.version}_empty"/> |
|
335 <set name="core.image.name" value="${rombuild.id}_${image.type}"/> |
|
336 <set name="languagepack.image.name" value="${rombuild.id}_${languagepack.id}_${image.type}"/> |
|
337 <set name="customer.image.name" value="${rommake.product.type}_${customer.image.version.name}_${customer.id}.${customer.revision}_${image.type}"/> |
|
338 <set name="uda.image.name" value="${rommake.product.type}_${uda.image.version.name}_${uda.id}.${uda.revision}_${image.type}"/> |
|
339 <set name="memorycard.image.name" value="${rommake.product.type}_${memorycard.image.version.name}_${memorycard.id}.${memorycard.revision}"/> |
|
340 <set name="massmemory.image.name" value="${rommake.product.type}_${massmemory.image.version.name}_${massmemory.id}.${massmemory.revision}"/> |
|
341 <set name="flash.config.name" value="${languagepack.image.name}_${customer.image.version.name}.${customer.id}.${customer.revision}_${image.type}_${uda.image.version.name}.${uda.id}.${uda.revision}_${image.type}_${massmemory.id}.${massmemory.revision}_${memorycard.id}.${memorycard.revision}.config.xml"/> |
|
342 |
|
343 |
|
344 <!-- fwid generation --> |
|
345 <set name="rofs1.fwid.id" value="core"/> |
|
346 <set name="rofs2.fwid.id" value="language"/> |
|
347 <set name="rofs3.fwid.id" value="customer"/> |
|
348 <set name="rofs1.fwid.version" value="${version.product.type}_${core.version.info}"/> |
|
349 <set name="rofs2.fwid.version" value="${rofs2.version.info}"/> |
|
350 <set name="rofs3.fwid.version" value="${rofs3.version.info}"/> |
|
351 <set name="fota.fwid" value="${rofs1.fwid.version} ${rofs2.fwid.version} ${rofs3.fwid.version}"/> |
|
352 |
|
353 |
|
354 <!-- Core version string format--> |
|
355 <set name="core.template" value="${core.version.info}\\n${today}\\n${version.product.type}\\n(C)Nokia"/> |
|
356 <set name="languagepack.template" value="${rofs2.version.info}\\n${today}\\n${version.product.type}" /> |
|
357 <set name="variant.template" value="${languagepack.template}" /> <!-- Backward compatibility --> |
|
358 <set name="customer.template" value="${rofs3.version.info}\\\n${today}"/> |
|
359 <set name="model.template" value="${version.copyright} ${version.product.name}"/> |
|
360 <set name="uda.template" value="${pr}.${version.bandvariant}.${build.number}\\n${today}\\n${product.type}\\n${copyright} ${version.product.name} (${uda.id})"/> |
|
361 |
|
362 <!-- default localisation settings --> |
|
363 <set name="variation" value="western"/> |
|
364 <set name="languagepack.revision" value="1"/> |
|
365 <set name="description" value=""/> |
|
366 |
|
367 <!-- Do not build target in parallel by default --> |
|
368 <set name="build.parallel" value="false" /> |
|
369 |
|
370 <!-- templates to generate the makefiles --> |
|
371 <set name="output.makefile.filename" value="${rombuild.makefile.name}"/> |
|
372 <set name="main.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\main.mk"/> |
|
373 <set name="flash.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\flash.mk"/> |
|
374 <set name="core.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\core.mk"/> |
|
375 <set name="languagepack.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\languagepack.mk"/> |
|
376 <set name="customer.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\customer.mk"/> |
|
377 <set name="uda.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\uda.mk"/> |
|
378 <set name="eraseuda.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\eraseuda.mk"/> |
|
379 <set name="flash.config.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\template.config.xml"/> |
|
380 <set name="flash.config.makefile.template" value="${build.drive}\mc\mc_config\mc_number_config\rombuild\flash_config.mk"/> |
|
381 <set name="makeupct_core.makefile.template" value="..\..\mc\mc_config\mc_number_config\rombuild\makeupct_core.mk"/> |
|
382 |
|
383 <spec name="product" abstract="true"> |
|
384 |
|
385 <set name="config.name" value="product"/> |
|
386 <set name="version.bandvariant" value="0"/> |
|
387 |
|
388 <set name="rommake.hwid" value="num1"/> |
|
389 <set name="version.product.type" value="RM-num"/> |
|
390 <set name="rommake.product.name" value="product"/> |
|
391 <set name="rommake.product.type" value="RM-num"/> |
|
392 |
|
393 <spec type="TemplateBuilder"> |
|
394 <set name="template.build.id" value="${pr}.${build.number}" /> |
|
395 <set name="template.file" value="${build.drive}\config\s60_32_config\number_config\number_product_config\config\data\CenrepVar_product\data\VariantData_product_template.xml" /> |
|
396 <set name="output.file" value="${build.drive}\config\s60_32_config\number_config\number_product_config\config\data\CenrepVar_product\data\VariantData_product.xml" /> |
|
397 </spec> |
|
398 |
|
399 <spec name="ee_group" abstract="true"> |
|
400 <set name="image.type" value="rnd,prd"/> |
|
401 <set name="variant.txt.path" value="\epoc32\data\z\resource\versions\langsw.${config.name}.txt"/> |
|
402 <set name="image.type.version" value="EE$(if $(subst rnd,,$(TYPE)),,RD)" /> <!-- EE for Prd, EERD for R&D --> |
|
403 |
|
404 <!-- GUI images --> |
|
405 <spec name="ee_roms" abstract="true"> |
|
406 <set name="build.parallel" value="true" /> |
|
407 <set name="flash.image.name" value="${rombuild.id}_${image.type}"/> |
|
408 |
|
409 <spec name="ee_rnd" abstract="true"> |
|
410 <set name="image.type" value="rnd"/> |
|
411 |
|
412 <spec type="flash"> |
|
413 <set name="flash.id" value="ui" /> |
|
414 <set name="use.foti" value="0"/> |
|
415 <set name="use.fota" value="0"/> |
|
416 </spec> |
|
417 |
|
418 <spec type="eraseuda"/> |
|
419 </spec> |
|
420 |
|
421 <spec name="ee_prd" abstract="true"> |
|
422 <set name="image.type" value="prd"/> |
|
423 |
|
424 <spec type="flash"> |
|
425 <set name="flash.id" value="ui" /> |
|
426 <set name="use.foti" value="1"/> |
|
427 <set name="use.fota" value="1"/> |
|
428 </spec> |
|
429 |
|
430 <spec type="eraseuda"/> |
|
431 </spec> |
|
432 </spec> |
|
433 |
|
434 <spec name="subcon_roms" abstract="true"> |
|
435 <set name="build.parallel" value="true" /> |
|
436 <set name="image.type" value="subcon"/> |
|
437 |
|
438 <spec type="flash"> |
|
439 <set name="flash.id" value="ui" /> |
|
440 </spec> |
|
441 |
|
442 <spec type="eraseuda"/> |
|
443 </spec> |
|
444 |
|
445 |
|
446 <spec name="traces" abstract="true"> |
|
447 <set name="build.parallel" value="false" /> |
|
448 <set name="flash.output.dir" value="${rom.output.dir}/${rommake.product.name}/${flash.id}_traces"/> |
|
449 |
|
450 |
|
451 <spec type="flash"> |
|
452 <set name="flash.id" value="wakeup_trace" /> |
|
453 <set name="image.type" value="rnd"/> |
|
454 <set name="mytraces.binaries" value=" |
|
455 SysStartlib1.exe" /> |
|
456 </spec> |
|
457 |
|
458 <spec type="flash"> |
|
459 <set name="flash.id" value="telephony" /> |
|
460 <set name="image.type" value="rnd"/> |
|
461 <set name="mytraces.binaries" value=" |
|
462 telephontlib1.LIB"/> |
|
463 </spec> |
|
464 |
|
465 <spec type="flash"> |
|
466 <set name="flash.id" value="audio" /> |
|
467 <set name="image.type" value="rnd"/> |
|
468 <set name="mytraces.binaries" value=" |
|
469 audiolibrary1.dll, |
|
470 audiolibrary2.dll"/> |
|
471 </spec> |
|
472 |
|
473 <spec type="flash"> |
|
474 <set name="flash.id" value="videotelephony" /> |
|
475 <set name="image.type" value="rnd"/> |
|
476 <set name="mytraces.binaries" value=" |
|
477 videolibrary1.dll, |
|
478 videolibrary2.dll"/> |
|
479 </spec> |
|
480 |
|
481 <spec type="flash"> |
|
482 <set name="flash.id" value="mms" /> |
|
483 <set name="image.type" value="rnd"/> |
|
484 <set name="mytraces.binaries" value=" |
|
485 mmslib1.dll, |
|
486 mmslib2.dll"/> |
|
487 </spec> |
|
488 |
|
489 <spec type="flash"> |
|
490 <set name="flash.id" value="sms" /> |
|
491 <set name="image.type" value="rnd"/> |
|
492 <set name="mytraces.binaries" value=" |
|
493 smsslib1.dll"/> |
|
494 </spec> |
|
495 |
|
496 |
|
497 </spec> |
|
498 </spec> |
|
499 |
|
500 <!-- Language pack and Variant --> |
|
501 <spec name="variants" abstract="true"> |
|
502 <set name="build.parallel" value="false" /> |
|
503 <!-- core --> |
|
504 <spec type="core"> |
|
505 <set name="core.id" value="000" /> |
|
506 <spec type="makeupct_core" /> |
|
507 </spec> |
|
508 |
|
509 <!-- western group --> |
|
510 <spec name="western" abstract="true"> |
|
511 <set name="build.parallel" value="true" /> |
|
512 <spec type="languagepack"> |
|
513 <set name="languagepack.id" value="001" /> |
|
514 <set name="default" value="01"/> |
|
515 <set name="languages" value="01,02,03,05,04,13"/> |
|
516 <set name="description" value="EURO1"/> |
|
517 <set name="variation" value="western"/> |
|
518 </spec> |
|
519 <spec type="languagepack"> |
|
520 <set name="languagepack.id" value="002"/> |
|
521 <set name="default" value="01"/> |
|
522 <set name="languages" value="01,02,03,14,05,18"/> |
|
523 <set name="description" value="EURO2"/> |
|
524 </spec> |
|
525 <spec type="languagepack"> |
|
526 <set name="languagepack.id" value="003"/> |
|
527 <set name="default" value="01"/> |
|
528 <set name="languages" value="01,09,06,08,15,07"/> |
|
529 <set name="description" value="SCANDINAVIA"/> |
|
530 </spec> |
|
531 |
|
532 |
|
533 <!-- china group --> |
|
534 <spec name="china" abstract="true"> |
|
535 <set name="build.parallel" value="true" /> |
|
536 <set name="variation" value="china" /> |
|
537 <spec type="languagepack"> |
|
538 <set name="languagepack.id" value="011"/> |
|
539 <set name="default" value="29"/> |
|
540 <set name="languages" value="29,157"/> |
|
541 <set name="description" value="CHINESE_TAIWAN"/> |
|
542 </spec> |
|
543 </spec> |
|
544 |
|
545 <!-- japan group --> |
|
546 <spec name="japan" abstract="true"> |
|
547 <set name="build.parallel" value="true" /> |
|
548 <set name="variation" value="japan" /> |
|
549 <spec type="languagepack"> |
|
550 <set name="languagepack.id" value="014"/> |
|
551 <set name="default" value="160"/> |
|
552 <set name="languages" value="160,32"/> |
|
553 <set name="description" value="JAPAN"/> |
|
554 </spec> |
|
555 </spec> |
|
556 </spec> |
|
557 </spec> |
|
558 |
|
559 <!-- |
|
560 product edge configuration |
|
561 --> |
|
562 <spec name="product_edge" abstract="true"> |
|
563 <set name="config.name" value="product_edge"/> |
|
564 <set name="variation.dir" value="${build.drive}\mc\mc_config\mc_number_config\product_edge\variation" /> |
|
565 <set name="version.bandvariant" value="1"/> |
|
566 <set name="zips.loc.dir" value="${zips.loc.dir}" /> |
|
567 <set name="variation" value="western"/> |
|
568 <set name="config.name" value="product_edge"/> |
|
569 <set name="rommake.product.name" value="product_edge"/> |
|
570 <set name="version.product.type" value="RM-num"/> |
|
571 <set name="rommake.product.type" value="RM-num"/> |
|
572 |
|
573 <set name="rommake.hwid" value="2100"/> |
|
574 |
|
575 <spec type="TemplateBuilder"> |
|
576 <set name="template.build.id" value="${pr}.${build.number}" /> |
|
577 <set name="template.file" value="${build.drive}\config\s60_32_config\number_config\number_product_edge_config\config\data\CenrepVar_productedge\data\VariantData_productedge_template.xml" /> |
|
578 <set name="output.file" value="${build.drive}\config\s60_32_config\number_config\number_product_edge_config\config\data\CenrepVar_productedge\data\VariantData_productedge.xml" /> |
|
579 </spec> |
|
580 |
|
581 <spec name="ee_group" abstract="true"> |
|
582 <set name="image.type" value="rnd,prd"/> |
|
583 <set name="variant.txt.path" value="\epoc32\data\z\resource\versions\langsw.${config.name}.txt"/> |
|
584 <set name="image.type.version" value="EE$(if $(subst rnd,,$(TYPE)),,RD)" /> <!-- EE for Prd, EERD for R&D --> |
|
585 |
|
586 |
|
587 <!-- GUI images --> |
|
588 <spec name="ee_roms" abstract="true"> |
|
589 <set name="build.parallel" value="true" /> |
|
590 <set name="flash.image.name" value="${rombuild.id}_${image.type}"/> |
|
591 |
|
592 <spec name="ee_rnd" abstract="true"> |
|
593 <set name="image.type" value="rnd"/> |
|
594 |
|
595 <spec type="flash"> |
|
596 <set name="flash.id" value="ui" /> |
|
597 <set name="use.foti" value="0"/> |
|
598 <set name="use.fota" value="0"/> |
|
599 </spec> |
|
600 |
|
601 <spec type="eraseuda"/> |
|
602 </spec> |
|
603 |
|
604 <spec name="ee_prd" abstract="true"> |
|
605 <set name="image.type" value="prd"/> |
|
606 |
|
607 <spec type="flash"> |
|
608 <set name="flash.id" value="ui" /> |
|
609 <set name="use.foti" value="1"/> |
|
610 <set name="use.fota" value="1"/> |
|
611 </spec> |
|
612 |
|
613 <spec type="eraseuda"/> |
|
614 </spec> |
|
615 </spec> |
|
616 |
|
617 <spec name="subcon_roms" abstract="true"> |
|
618 <set name="build.parallel" value="true" /> |
|
619 <set name="image.type" value="subcon"/> |
|
620 |
|
621 <spec type="flash"> |
|
622 <set name="flash.id" value="ui" /> |
|
623 </spec> |
|
624 |
|
625 <spec type="eraseuda"/> |
|
626 </spec> |
|
627 |
|
628 |
|
629 <spec name="traces" abstract="true"> |
|
630 <set name="build.parallel" value="false" /> |
|
631 <set name="flash.output.dir" value="${rom.output.dir}/${rommake.product.name}/${flash.id}_traces"/> |
|
632 |
|
633 |
|
634 <spec type="flash"> |
|
635 <set name="flash.id" value="wakeup_trace" /> |
|
636 <set name="image.type" value="rnd"/> |
|
637 <set name="mytraces.binaries" value=" |
|
638 SysStartlib1.exe" /> |
|
639 </spec> |
|
640 |
|
641 <spec type="flash"> |
|
642 <set name="flash.id" value="telephony" /> |
|
643 <set name="image.type" value="rnd"/> |
|
644 <set name="mytraces.binaries" value=" |
|
645 telephonylib1.LIB"/> |
|
646 </spec> |
|
647 |
|
648 <spec type="flash"> |
|
649 <set name="flash.id" value="audio" /> |
|
650 <set name="image.type" value="rnd"/> |
|
651 <set name="mytraces.binaries" value=" |
|
652 audiolib1.dll"/> |
|
653 </spec> |
|
654 |
|
655 <spec type="flash"> |
|
656 <set name="flash.id" value="videotelephony" /> |
|
657 <set name="image.type" value="rnd"/> |
|
658 <set name="mytraces.binaries" value=" |
|
659 videolib1.dll"/> |
|
660 </spec> |
|
661 |
|
662 </spec> |
|
663 </spec> |
|
664 |
|
665 <spec name="variants" abstract="true"> |
|
666 <set name="variation" value="china"/> |
|
667 <set name="build.parallel" value="false" /> |
|
668 <!-- core --> |
|
669 <spec type="core"> |
|
670 <set name="core.id" value="000" /> |
|
671 <set name="image.type" value="rnd,prd"/> |
|
672 <spec type="makeupct_core" /> |
|
673 </spec> |
|
674 |
|
675 <!-- customer --> |
|
676 <spec type="customer"> |
|
677 <set name="customer.id" value="053"/> |
|
678 <set name="customer.revision" value="1"/> |
|
679 <set name="description" value="edge_customer_variant"/> |
|
680 </spec> |
|
681 |
|
682 <spec type="languagepack"> |
|
683 <set name="languagepack.id" value="020"/> |
|
684 <set name="default" value="31"/> |
|
685 <set name="languages" value="159,31"/> |
|
686 <set name="description" value="CHINAPRC_NoFMTX"/> |
|
687 </spec> |
|
688 <xi:include href="${product_edge.variant.config}"/> |
|
689 |
|
690 </spec> |
|
691 </spec> |
|
692 |
|
693 |
|
694 </spec> |
|
695 </spec> |
|
696 </build> |
|
697 |
|
698 |
|
699 .. index:: |
|
700 single: Example - bld.bat |
|
701 |
|
702 bld.bat |
|
703 -------------------- |
|
704 |
|
705 This file is the one called when you start helium and it simply calls the hlm.bat file in the helium directory. :: |
|
706 |
|
707 @echo off |
|
708 |
|
709 if not defined HELIUM_HOME set HELIUM_HOME=%~dp0..\..\..\helium |
|
710 |
|
711 %HELIUM_HOME%\hlm.bat %* |
|
712 |
|
713 |
|
714 .. index:: |
|
715 single: Example - build.xml |
|
716 |
|
717 build.xml |
|
718 -------------------- |
|
719 |
|
720 This file contains all the initial product specific configuration required by helium. |
|
721 |
|
722 .. code-block:: xml |
|
723 |
|
724 <?xml version="1.0" encoding="UTF-8"?> |
|
725 <project> |
|
726 <property environment="env"/> #the PC property 'ENVIRONMENT' is replaced with 'env' |
|
727 <import file="../../team.ant.xml"/> #where to get the config file containing the team specific information. |
|
728 |
|
729 <property name="product.list" value="product,product_edge,product_lta"/> #the list of products to be built |
|
730 <!-- build.number should be defined as a commandline parameter --> |
|
731 <property name="major.version" value="14"/> #release version |
|
732 <property name="minor.version" value="PR14"/> |
|
733 <property name="pr" value="14" /> |
|
734 <property name="m.step" value="3" /> |
|
735 |
|
736 <property name="armv5.only" value="1" /> #only build for armv5 |
|
737 <property name="build.version" value="${pr}.${build.number}" /> #create the build version |
|
738 |
|
739 <property name="local.free.space" value="102400" /> |
|
740 |
|
741 #these are the configuration files specific to each variant |
|
742 <property name="product.variant.config" location="${build.drive}/mc/mc_build/mc_family_build/dummy_variant_config.xml" /> |
|
743 <property name="product_edge.variant.config" location="${build.drive}/mc/mc_build/mc_family_build/dummy_variant_config.xml" /> |
|
744 <property name="product_lta.variant.config" location="${build.drive}/mc/mc_build/mc_family_build/dummy_variant_config.xml" /> |
|
745 |
|
746 <property name="build.errors.limit" value="-1" /> |
|
747 <property name="flash.config.enabled" value="enabled" /> |
|
748 |
|
749 <!-- --> |
|
750 <import file="../mc_family_build.ant.xml"/> #include the family product config file |
|
751 |
|
752 <path id="system.definition.files"> #locations of various system configuration files. |
|
753 <pathelement path="${build.drive}/mc/mc_build/mc_family_build/family_System_Definition.xml"/> |
|
754 <pathelement path="${build.drive}/mc/mc_build/mc_family_build/family_SDF_loc.xml"/> |
|
755 <pathelement path="${build.drive}/mc/mc_build/ibusal_51_build/IBUSAL51_System_Definition.xml" /> |
|
756 <fileset dir="${build.drive}/s60/tools/build_platforms/build/data" includes="S60_System*.xml"/> |
|
757 <pathelement path="${build.drive}/mc/mc_build/mc_family_build/product/product_System_Definition.xml" /> |
|
758 <pathelement path="${build.drive}/MULTIMEDIA_SW/ME_SCD_DESW/ME_SCD_DESW/sysdef/System_Definition_product.xml" /> |
|
759 </path> |
|
760 |
|
761 </project> |
|
762 |
|
763 |
|
764 .. index:: |
|
765 single: Example - teamName.ant.xml |
|
766 |
|
767 teamName.ant.xml |
|
768 -------------------- |
|
769 |
|
770 This file contains all the configuration required by a particular team, it lists where the servers are and the locations of synergy variables, GRACE variables etc.: |
|
771 |
|
772 .. code-block:: xml |
|
773 |
|
774 <?xml version="1.0" encoding="UTF-8"?> |
|
775 <project name="teamName"> |
|
776 <property name="publish.root.dir" value="\\faba\df\r1120\NT\Build_and_Release\temp"/> |
|
777 <property name="prep.root.dir" value="E:/${user.name}/BuildArea"/> |
|
778 <property name="build.drive" value="z:"/> |
|
779 |
|
780 |
|
781 <!-- Synergy configuration --> |
|
782 <property name="ccm.database" value="fa1ffamily" /> |
|
783 <property name="ccm.database.path" value="/nokia/fa/grps/dbs/${ccm.database}" /> |
|
784 <property name="ccm.engine.host" value="faweh.erp.company.com" /> |
|
785 <!-- used to set ccm.base.dir --> |
|
786 <property name="ccm.home.dir" location="E:/${user.name}/ccm_wa/${ccm.database}" /> |
|
787 |
|
788 |
|
789 <!-- Root path for all Synergy work areas. --> |
|
790 <property name="nss.zip.dir" value="\\faba\df\r1120\NT\Build_and_Release\GRACE\MC\NSS" /> |
|
791 <property name="symbian.root.dir" value="\\faba\df\r1120\NT\Build_and_Release\GRACE\MC\SOS"/> |
|
792 <property name="s60.root.dir" value="\\faba\df\r1120\NT\Build_and_Release\GRACE\MC\S60"/> |
|
793 <property name="cellmo.root.dir" value="\\faba\df\r1120\NT\Build_and_Release\GRACE\MC\Cellmo\product"/> |
|
794 <property name="error.email.to.list" value="${env.EMAIL}"/> <!-- BM should set it throught environment --> |
|
795 <property name="ec.cluster.manager" value="fa001"/> |
|
796 <property name="ec.build.class" value="ISISBR"/> |
|
797 <property name="work.area.temp.dir" location="\\vcer02\prj2\Juno\SWBuilds\WorkAreaCopyCache"/> |
|
798 <!-- Grace releasing configuration --> |
|
799 <property name="release.grace.configurationfile" value="./grace_upload_configuration.ant.xml" /> |
|
800 |
|
801 <property name="release.dir.root" value="\\faba\df\r1120\NT\Build_and_Release\family_Off-Cycle\Increment_Releases" /> |
|
802 |
|
803 <!-- FOTA --> |
|
804 <property name="fota.publish.root.dir" value="${publish.root.dir}"/> |
|
805 <property name="fota.unix.publish.root.dir" value="/nokia/fa/grps/r1120/NT/Build_and_Release/temp"/> |
|
806 <property name="fota.upct.server.address" value="farem02" /> |
|
807 |
|
808 <!-- Grace settings --> |
|
809 <property name="release.grace.server" value="fam01.europe.company.com" /> |
|
810 <property name="release.grace.service" value="ISIS" /> |
|
811 <property name="release.grace.product" value="${product.family}" /> |
|
812 <property name="release.grace.sambaserver" value="\\fa01.europe.company.com\GRACE" /> |
|
813 |
|
814 <!-- Mail settings --> |
|
815 <property name="release.grace.mail.host" value="ca01.noe.company.com" /> |
|
816 <property name="release.grace.mail.port" value="25" /> |
|
817 <property name="release.grace.mail.from" value="email address of person to email" /> |
|
818 <property name="release.grace.mail.to" value="email address" /> |
|
819 <property name="release.grace.mail.replyto" value="${release.grace.mail.to}" /> |
|
820 <property name="release.grace.mail.subject" value="Grace upload for ${release.grace.product} ${rel_label} completed" /> |
|
821 <property name="release.grace.mail.message" value="Grace upload for ${release.grace.product} ${rel_label} completed SUCCESFULLY." /> |
|
822 |
|
823 <property name="build.completed.mail.to" value="M-MC-MCSS-INTEGRATION-PLATFORM DG" /> |
|
824 <property name="build.completed.mail.subject" value="NIGHTLY BUILD ${build.id} at ${env.COMPUTERNAME} has been completed" /> |
|
825 <property name="build.completed.message" |
|
826 value="This is an automated e-mail, reply to address: ${release.grace.mail.from}${line.separator}${line.separator} |
|
827 ${product.name} NIGHTLY BUILD ${build.id} on ${env.COMPUTERNAME}${line.separator} |
|
828 ================================================================================${line.separator} |
|
829 NB has been completed at ${time.completed}${line.separator} |
|
830 Build area at \\${env.COMPUTERNAME}\Build_D$\BA\${build.id}${line.separator} |
|
831 Server: ${env.COMPUTERNAME}${line.separator} |
|
832 ${line.separator} |
|
833 Engineering english build files created${line.separator} |
|
834 " |
|
835 /> |
|
836 </project> |
|
837 |
|
838 |
|
839 .. index:: |
|
840 single: Example - mc_product_override.iby file |
|
841 |
|
842 mc_product_override.iby file |
|
843 ------------------------------ |
|
844 |
|
845 This file contains details of files that will be used to create the ROM image. :: |
|
846 |
|
847 |
|
848 //FMTX stuff (to prevent from showing the missing file as there is already InternalHWRMFmTxPolicy.ini file in rom) |
|
849 data-override=empty private\101f7a02\HWRMFmTxPolicy.ini |
|
850 |
|
851 // Variating ActiveIdle theme |
|
852 |
|
853 #ifdef MC_ACTIVEIDLE_VARIANT |
|
854 #ifndef __MC_NO_FMTX_IN_ROM |
|
855 data-override=concat3(ZPRIVATE\10207254\themes\271012080\270513751\271063149\1.0\AI.,MC_ACTIVEIDLE_VARIANT,.o0000) PRIVATE\10207254\themes\271012080\270513751\271063149\1.0\AI.o0000 |
|
856 data-override=concat3(ZPRIVATE\10207254\themes\271012080\270513751\271063147\1.0\CI.,MC_ACTIVEIDLE_VARIANT,.o0000) PRIVATE\10207254\themes\271012080\270513751\271063147\1.0\CI.o0000 |
|
857 ROM_IMAGE[2] data-override=concat3(ZPRIVATE\10207254\themes\271012080\270513751\271063149\1.0\AI.,MC_ACTIVEIDLE_VARIANT,.o0001) PRIVATE\10207254\themes\271012080\270513751\271063149\1.0\AI.o0001 |
|
858 ROM_IMAGE[2] data-override=concat3(ZPRIVATE\10207254\themes\271012080\270513751\271063147\1.0\CI.,MC_ACTIVEIDLE_VARIANT,.o0001) PRIVATE\10207254\themes\271012080\270513751\271063147\1.0\CI.o0001 |
|
859 #endif // __MC_NO_FMTX_IN_ROM |
|
860 #endif // MC_ACTIVEIDLE_VARIANT |
|
861 |
|
862 // Variantion ends |
|
863 |
|
864 |
|
865 // Product customisation |
|
866 #include <commontsy.var> |
|
867 #ifdef MC_PRODUCT_CUSTOMISATION_VAR |
|
868 define __MC_PRODUCT_CUSTOMISATION_VAR__ MC_PRODUCT_CUSTOMISATION_VAR |
|
869 file-override=ABI_DIR\BUILD_DIR\COMMONTSY.__MC_PRODUCT_CUSTOMISATION_VAR__.DLL Sys\Bin\COMMONTSY.DLL |
|
870 #endif |
|
871 |
|
872 |
|
873 ROM_IMAGE[2] { |
|
874 #ifdef LPID |
|
875 #ifdef product |
|
876 data-override=concat3(\epoc32\data\Z\Resource\bootdata\languages.product.,LPID,.txt) "resource\Bootdata\languages.txt" |
|
877 data-override=concat3(\epoc32\data\Z\Resource\versions\lang.product.,LPID,.txt) "resource\versions\lang.txt" |
|
878 #endif |
|
879 #ifdef product_EDGE |
|
880 data-override=concat3(\epoc32\data\Z\Resource\bootdata\languages.product_edge.,LPID,.txt) "resource\Bootdata\languages.txt" |
|
881 data-override=concat3(\epoc32\data\Z\Resource\versions\lang.product_edge.,LPID,.txt) "resource\versions\lang.txt" |
|
882 #endif |
|
883 #ifdef product_LTA |
|
884 data-override=concat3(\epoc32\data\Z\Resource\bootdata\languages.product_lta.,LPID,.txt) "resource\Bootdata\languages.txt" |
|
885 data-override=concat3(\epoc32\data\Z\Resource\versions\lang.product_lta.,LPID,.txt) "resource\versions\lang.txt" |
|
886 #endif |
|
887 #endif // LPID |
|
888 } |
|
889 |