buildframework/helium/helium.ant.xml
changeset 2 39c28ec933dd
equal deleted inserted replaced
1:820b22e13ff1 2:39c28ec933dd
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <!-- 
       
     3 ============================================================================ 
       
     4 Name        : helium.ant.xml 
       
     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="helium" xmlns:hlm="http://www.nokia.com/helium">
       
    24     <description>
       
    25     Main full build targets and properties
       
    26     </description>
       
    27     
       
    28     <import file="build-jar.ant.xml"/>
       
    29     
       
    30     <!-- Load the current Helium version. -->
       
    31     <!-- @property helium.version
       
    32     @type string
       
    33     @scope private
       
    34     -->
       
    35     <property file="${helium.dir}/config/version.txt"/>
       
    36 
       
    37     <!-- Libraries
       
    38     ======================================================================-->
       
    39     <import file="helium_preinclude.ant.xml"/>
       
    40     
       
    41     <!-- The path where Helium-specific outputs are written to.
       
    42     @type string
       
    43     @scope private
       
    44     -->
       
    45     <property name="helium.build.dir" location="${helium.dir}/build"/>
       
    46     
       
    47     <hlm:typedef file="${helium.dir}/tools/common/common.antlib.xml" uri="http://www.nokia.com/helium"/> 
       
    48     
       
    49     <!-- Location of generated logging config.
       
    50     @type string
       
    51     @scope private
       
    52     -->
       
    53     <property name="logging.output.file" location="${cache.dir}/logging.${env.PID}.conf" />
       
    54     <fmpp sourceFile="${helium.dir}/config/logging.conf.ftl" outputFile="${logging.output.file}" quiet="true">
       
    55         <data expandProperties="yes">
       
    56             ant: antProperties()
       
    57         </data>
       
    58     </fmpp>
       
    59      
       
    60     <!-- Properties
       
    61     ======================================================================-->
       
    62     <!-- Used to specify which team configuration is being used. These configuration files are under /mc/mc_build/teams.
       
    63     @type string
       
    64     -->
       
    65     <property name="team" value="${env.TEAM}"/>
       
    66 
       
    67     <!-- See if 'bn' is defined as a shortcut for build.number. -->
       
    68     <if>
       
    69         <isset property="bn"/>
       
    70         <then>
       
    71             <!-- Build number
       
    72             @type integer
       
    73             @scope public
       
    74             -->
       
    75             <property name="build.number" value="${bn}"/>
       
    76         </then>
       
    77     </if>
       
    78     
       
    79     <!-- If build.drive not define then search the next free drive -->
       
    80     <if>
       
    81         <not>
       
    82             <isset property="build.drive"/>
       
    83         </not>    
       
    84         <then>
       
    85             <!-- used to track if build.drive has predefined or not
       
    86             @type flag
       
    87             @scope private
       
    88             -->
       
    89             <property name="build.drive.notdefined" value="true"/> 
       
    90             <exec osfamily="windows" executable="python" failonerror="true" outputproperty="build.drive">
       
    91                 <arg line="-m searchnextdrive"/>               
       
    92             </exec>
       
    93             <if>
       
    94                 <equals arg1="${build.drive}" arg2="Error: No free drive!"/>
       
    95                 <then>            
       
    96                     <fail message="ERROR: Failed to assign build drive, please check you are not running out of drives." />    
       
    97                 </then>
       
    98             </if>
       
    99             <echo> Using build drive ${build.drive} </echo>
       
   100         </then>
       
   101     </if>
       
   102     
       
   103     <if>
       
   104         <and>
       
   105             <isset property="major.version"/>
       
   106             <isset property="minor.version"/>
       
   107         </and>
       
   108         <then>
       
   109             <!-- This Defaults to the ${major.version}.${minor.version} combo and is available so that 1 number can be used (dot can be removed)
       
   110             @type string
       
   111             -->
       
   112             <property name="core.build.version" value="${major.version}.${minor.version}"/>
       
   113         </then>
       
   114         <else>
       
   115             <!-- This Defaults to the ${major.version}.${minor.version} combo and is available so that 1 number can be used (dot can be removed)
       
   116             @type string
       
   117             -->
       
   118             <property name="core.build.version" value="${env.USERNAME}"/>
       
   119         </else>
       
   120     </if>
       
   121     
       
   122     <if>
       
   123         <and>
       
   124             <isset property="read.build.int"/>
       
   125             <not>
       
   126                 <isset property="build.number"/>
       
   127             </not>
       
   128         </and>
       
   129         <then>
       
   130             <if>
       
   131                 <isset property="build.tag"/>
       
   132                 <then>
       
   133                     <property name="build.tag.ext" value="${build.tag}."/>
       
   134                 </then>
       
   135                 <else>
       
   136                     <property name="build.tag.ext" value=""/>
       
   137                     <property name="build.tag" value=""/>
       
   138                 </else>
       
   139             </if>
       
   140             <!-- Use an internal directory to store text files for assigning build number information. -->
       
   141             <!-- The directory where the build integer database text files are stored.
       
   142             @type string
       
   143             @scope private
       
   144             -->
       
   145             <property name="build.int.db.dir" location="${publish.root.dir}/internal/build_int_db"/>
       
   146             <mkdir dir="${build.int.db.dir}"/>
       
   147             <property name="build.int.db.file" value="${build.int.db.dir}/${build.name}_${core.build.version}_${build.tag}_build_int_db.txt"/>
       
   148             <if>
       
   149                 <available file="${build.int.db.file}"/>
       
   150                 <then>
       
   151                     <echo>Reading from existing build number property file.</echo>
       
   152                     <property file="${build.int.db.file}"/>
       
   153                     <echo>Build int = ${build.int}</echo>
       
   154                     <!-- Read the comments in the file too, for history information. -->
       
   155                     <loadfile property="build.int.db.file.comments" srcFile="${build.int.db.file}">
       
   156                         <filterchain>
       
   157                             <linecontains>
       
   158                                 <contains value="# history: "/>
       
   159                             </linecontains>
       
   160                         </filterchain>
       
   161                     </loadfile>
       
   162                     <!-- Set the property in case nothing was found. -->
       
   163                     <property name="build.int.db.file.comments" value=""/>
       
   164                     <echo>History comments:
       
   165 ${build.int.db.file.comments}</echo>
       
   166                     <!-- Build number
       
   167                     @type integer
       
   168                     @scope public
       
   169                     -->
       
   170                     <property name="build.number" value="${build.tag.ext}${build.int}"/>
       
   171                     <echo>Writing incremented build int back to file.</echo>
       
   172                     <propertyfile file="${build.int.db.file}" comment="build.int database file">
       
   173                         <entry key="build.int" type="int" default="001" operation="+" pattern="000"/>
       
   174                     </propertyfile>
       
   175                     <tstamp>
       
   176                         <format property="build.int.db.file.tstamp" pattern="dd/MM/yyyy-HH:mm:ss"/>
       
   177                     </tstamp>
       
   178                     <concat destfile="${build.int.db.file}" append="true">
       
   179 ${build.int.db.file.comments}
       
   180 # history: ${env.COMPUTERNAME};${env.USERNAME};${build.int.db.file.tstamp};${build.int}
       
   181                     </concat>
       
   182                 </then>
       
   183                 <else>
       
   184                     <echo>Build number property file not found. Creating a new one.</echo>
       
   185                     <property name="new.build.int" value="001"/>
       
   186                     <!-- Build number
       
   187                     @type integer
       
   188                     @scope public
       
   189                     -->
       
   190                     <property name="build.number" value="${build.tag.ext}${new.build.int}"/>
       
   191                     <echo>Build number = ${build.number}</echo>
       
   192                     <propertyfile file="${build.int.db.file}" comment="build.int database file">
       
   193                         <entry key="build.int" type="int" default="001" operation="+" pattern="000"/>
       
   194                     </propertyfile>
       
   195                 </else>
       
   196             </if>
       
   197         </then>
       
   198     </if>
       
   199 
       
   200 
       
   201     <!-- Define a number of properties that should be consistent amongst all builds. They can be overridden
       
   202     within any config or team Ant file though. -->
       
   203     <!-- A general label for this type of build. Currently if not defined, product.name will be used to set this property, but this will likely be removed in future.
       
   204     @type string
       
   205     @editable required
       
   206     -->
       
   207     <property name="build.name" value="helium"/>
       
   208     <if>
       
   209         <and>
       
   210             <isset property="core.build.version"/>
       
   211             <isset property="build.number"/>
       
   212         </and>
       
   213         <then>
       
   214             <!-- Version of the build.
       
   215             @type string
       
   216             @scope private
       
   217             -->
       
   218             <property name="build.version" value="${core.build.version}.${build.number}"/>
       
   219         </then>
       
   220         <else>
       
   221             <!-- Version of the build.
       
   222             @type string
       
   223             @scope private
       
   224             -->
       
   225             <property name="build.version" value="${env.USERNAME}"/>
       
   226         </else>
       
   227     </if>
       
   228     
       
   229     <!-- A unique ID for the build.
       
   230     @type string
       
   231     @scope private
       
   232     -->
       
   233     <property name="build.id" value="${build.name}_${build.version}"/>
       
   234     <!-- The general type of the build. This is used for checking the tools environment. Potential values include core, ido, product.
       
   235     @type string
       
   236     -->
       
   237     <property name="build.type" value="core"/>
       
   238     <condition property="epocroot" value="${env.EPOCROOT}" else="${env.EPOCROOT}/">
       
   239         <matches pattern="^.*[\\/]$" string="${env.EPOCROOT}" />
       
   240     </condition>
       
   241     <!-- The data model XML file for the Ant configuration.
       
   242     @type string
       
   243     @scope private
       
   244     -->
       
   245     <property name="data.model.file" location="${helium.dir}/config/helium_data_model.xml"/>
       
   246     <!-- The data model XML file for the Ant configuration parsed.
       
   247     @type string
       
   248     @scope private
       
   249     -->
       
   250     <property name="data.model.parsed" location="${helium.build.dir}/datamodel.out"/>
       
   251     <condition property="data.model.xsl" value="${helium.dir}/extensions/nokia/config/helium_nokia_data_model.xsl" else="${helium.dir}/config/helium_data_model.xsl">
       
   252         <available file="${helium.dir}/extensions/nokia/config/helium_nokia_data_model.xsl"/>
       
   253     </condition>
       
   254     <!-- Location of helium database
       
   255     @type string
       
   256     @scope private
       
   257     -->
       
   258     <property name="database.file" location="${basedir}/build/database.xml"/>
       
   259     <!-- Directory where CCM operations will be performed.
       
   260     @type string
       
   261     -->
       
   262     <property name="ccm.base.dir" location="${ccm.home.dir}\${minor.version}"/>
       
   263     <!-- This is the directory where the build area is prepared. Once created it is substed to the build.drive.
       
   264     @type string
       
   265     @scope private
       
   266     -->
       
   267     <property name="prep.build.dir" location="${prep.root.dir}/${build.id}"/>
       
   268     <!-- This is the directory where build output is placed.
       
   269     @type string
       
   270     @scope private
       
   271     -->
       
   272     <property name="build.output.dir" location="${build.drive}/output"/>
       
   273     <!-- This is where the diamonds output XML files are stored.
       
   274     @type string
       
   275     @scope private
       
   276     -->
       
   277     <property name="diamonds.build.output.dir" location="${build.output.dir}/diamonds"/>
       
   278     <!-- This is the directory where sisfiles are placed.
       
   279     @type string
       
   280     @scope private
       
   281     -->
       
   282     <property name="build.sisfiles.dir" location="${build.output.dir}/sisfiles"/>
       
   283     <!-- This is the directory where build area is archived after the build has finished.
       
   284     @type string
       
   285     @scope private
       
   286     -->
       
   287     <property name="zips.build.dir" location="${build.output.dir}/build_area/engineering_english"/>
       
   288     <!-- This is the directory where build area is archived after the localisation.
       
   289     @type string
       
   290     @scope private
       
   291     -->
       
   292     <property name="zips.loc.dir" location="${build.output.dir}/build_area/localised"/>
       
   293     <!-- The directory where subcon zips are stored.
       
   294     @type string
       
   295     @scope private
       
   296     -->
       
   297     <property name="subcon.zips.dir" location="${build.output.dir}/build_area/subcon"/>
       
   298     <!-- This is the directory where flash files are archived.
       
   299     @type string
       
   300     @scope private
       
   301     -->
       
   302     <property name="zips.flashfiles.dir" location="${build.output.dir}/zips_flashfiles"/>
       
   303     <!-- This is where the build logs are stored.
       
   304     @type string
       
   305     @scope private
       
   306     -->
       
   307     <property name="build.log.dir" location="${build.output.dir}/logs"/>
       
   308     <!-- This is where the signal related files are stored.
       
   309     @type string
       
   310     @scope private
       
   311     -->
       
   312     <property name="build.signal.status.dir" location="${build.log.dir}/signals"/>
       
   313     <!-- This is the email template path where it updates the build status based on metadata database contents. The default file could (email_status_orm.html.ftl under tools\common\template\log)be used as the base and any additional info could be added
       
   314     @type string
       
   315     -->
       
   316     <property name="build.status.email.template" location="${helium.dir}/tools/common/templates/log/email_status_orm.html.ftl" />
       
   317     <!-- Location of build metadata database.
       
   318     @type string
       
   319     @scope private
       
   320     -->
       
   321     <condition property="metadata.dbfile" value="${build.log.dir}/${build.id}_metadata_db" else="${build.log.dir}/${build.id}${env.PID}_metadata_db">
       
   322         <isset property="build.number"/>
       
   323     </condition>
       
   324     
       
   325     <!-- Directory to store temporary files generated during the process.
       
   326     @type string
       
   327     @scope private
       
   328     -->
       
   329     <property name="temp.build.dir" location="${build.output.dir}/temp_build_files"/>
       
   330     <!-- failonerror attribute for exec
       
   331     @type boolean
       
   332     @scope private
       
   333     -->
       
   334     <property name="failonerror" value="false"/>
       
   335     <!-- Maximum allowable errors in a build.
       
   336     @type number
       
   337     -->
       
   338     <property name="build.errors.limit" value="0"/>
       
   339     <!-- Unsubsted drive after build finished. If not defined then helium should left the drive as subst. Set the value as "yes" if you want to unsubst after build finished.
       
   340     @type string
       
   341     -->
       
   342     <property name="unsubst.after.build" value="no"/>
       
   343     <!-- display warnings at build startup if required properties are not defined.
       
   344     @type string
       
   345     @scope private
       
   346     -->
       
   347     <property name="validate.properties.at.startup" value="yes"/>
       
   348     <!-- A unique name for the WA Sources ZIP file.
       
   349     @type string
       
   350     @scope private
       
   351     -->
       
   352     <property name="zip.wa.file" value="${build.drive}/output/src/${build.id}_sources.zip"/>
       
   353     <!-- The location and name of the target times log file. Default value is: ${build.log.dir}/${build.id}_targetTimesLog.csv
       
   354     @type string
       
   355     -->
       
   356     <property name="target.times.log.file" value="${build.log.dir}/${build.id}_targetTimesLog.csv"/>
       
   357 
       
   358     <!-- Cache related properties. -->
       
   359     <!-- Directory where Helium can store files on a temporary basis for a user per build.
       
   360     @type string
       
   361     @scope private
       
   362     -->
       
   363     <property name="build.cache.dir" location="${cache.dir}/${build.id}"/>
       
   364     <!-- Directory where Helium can store log files on a temporary basis for a user per build.
       
   365     @type string
       
   366     @scope private
       
   367     -->
       
   368     <property name="build.cache.log.dir" location="${build.cache.dir}/logs"/>
       
   369     <mkdir dir="${build.cache.log.dir}"/>
       
   370     
       
   371     <!-- Path location for the memory tracing data captured by the TracingLogger.
       
   372     @type string
       
   373     @scope private
       
   374     -->
       
   375     <property name="tracing.csv.file" location="${build.cache.dir}/logs/${build.id}_traces.csv"/>
       
   376     
       
   377     <!-- Publish dir configuration. Defines subdir first and next toplevel properties. -->
       
   378     <!-- Subdir part of the publish dir, relative to publish.root.dir
       
   379     @type string
       
   380     -->
       
   381     <property name="publish.subdir" value="${build.name}/builds/${core.build.version}/${build.id}"/>
       
   382     <!-- Subdir part of the publish release dir, relative to publish.root.dir
       
   383     @type string
       
   384     @scope private
       
   385     -->
       
   386     <property name="publish.release.subdir" value="${build.name}/releases/${core.build.version}/${build.id}"/>
       
   387     <!-- Directory where the build is published (includes build.id)
       
   388     @type string
       
   389     -->
       
   390     <property name="publish.dir" location="${publish.root.dir}/${publish.subdir}"/>
       
   391     <!-- The directory where the release of this build is published to on the local network.
       
   392     @type string
       
   393     @scope private
       
   394     -->
       
   395     <property name="publish.release.dir" location="${publish.root.dir}/${publish.release.subdir}"/>
       
   396     <condition property="is.published" else="false">
       
   397         <isset property="publish"/>
       
   398     </condition>
       
   399     
       
   400     <!-- The directory where flash images of build can be found
       
   401     @type string
       
   402     @scope private
       
   403     -->
       
   404     <property name="release.images.dir" value="${build.output.dir}/release_flash_images"/>
       
   405     <!-- Defines location of binaries created in build. Used in check-capability target while generating capability scan report.
       
   406     @type string
       
   407     @scope private
       
   408     -->
       
   409     <property name="binary.root" value="${build.drive}/epoc32/release/armv5/urel" />
       
   410     <!-- Location of python library
       
   411     @type string
       
   412     @scope private
       
   413     -->
       
   414     <property name="python.dir" value="${helium.dir}/external/python/lib"/>
       
   415     <!-- @type string
       
   416     @scope private
       
   417     -->
       
   418     <property name="python.tools" value="${helium.dir}/external/python/bin"/>
       
   419 
       
   420     <!-- EBS is selected as the default build system, but ec for Electric Cloud could be used. -->
       
   421     <!-- This specifies which build system is used. Default for this is ebs You can use ec for Electric Cloud..
       
   422     @type string
       
   423     -->
       
   424     <property name="build.system" value="ebs"/>
       
   425     <!-- Path for the output XML file generated by genxml used as input to EBS or EC.
       
   426     @type string
       
   427     @scope private
       
   428     -->
       
   429     <property name="genxml.output.file" location="${temp.build.dir}/${build.id}.${sysdef.configuration}.xml" />
       
   430     <!-- The path of the generated canonical System Definition file that contains all the input System Definition file content.
       
   431     @type string
       
   432     @scope private
       
   433     -->
       
   434     <property name="canonical.sysdef.file" value="${build.output.dir}/build/canonical_system_definition.xml"/>
       
   435     <!-- @type string
       
   436     @scope private
       
   437     -->
       
   438     <property name="build.system.${build.system}" value="Not used"/>
       
   439     <!-- This is the file where build summary is stored.
       
   440     @type string
       
   441     @scope private
       
   442     -->
       
   443     <property name="build.summary.file" location="${build.log.dir}/summary/${build.id}_summary.log.xml"/>
       
   444     <property name="error.summary.file" location="${build.log.dir}/summary/${build.id}_error_summary.log.xml"/>
       
   445     <!-- Defines name of the log file.
       
   446     @type string
       
   447     @scope private
       
   448     -->
       
   449     <property name="build.log" value="${build.log.dir}/${build.id}_main.ant.log"/>
       
   450     <!-- Diamonds Configuration file with full path used for diamonds listener.
       
   451     @type string
       
   452     -->
       
   453     <property name="diamonds.listener.configuration.file" location="${helium.dir}/config/diamonds_config.xml.ftl"/>
       
   454     <!-- Path where ant XML files dynamically downloaded from jar file.
       
   455     @type string
       
   456     @scope private
       
   457     -->
       
   458     <property name="antlib.import.module.path" location="${helium.dir}/tools/hlm-antlib-imports"/>
       
   459     
       
   460     <!-- Following are temporarily defined here until global tools available-->
       
   461     <!-- This specifies the directory where Electric Cloud history files are stored. Currently defined in helium.ant.xml and mapped related to publish.root.dir
       
   462     @type string
       
   463     @scope private
       
   464     -->
       
   465     <property name="ec.history.dir" location="${publish.root.dir}\${product.family}\ec_history"/>
       
   466     <!-- Version of build
       
   467     @type string
       
   468     -->
       
   469     <property name="release.label" value="${build.version}"/>
       
   470     <!-- mode is either serial / parallel - default is parallel
       
   471     @type string
       
   472     -->
       
   473     <property name="ec.mode" value="parallel" />
       
   474     <!-- Setting this to "1" will force xml2mak to generate only warnings (instead of errors) for duplicate components in the component list
       
   475     @type string
       
   476     @scope private
       
   477     -->
       
   478     <property name="ec.allow.duplicates" value="0" />
       
   479     <!-- Defines log file where to record archiving of engineering english area.
       
   480     @type string
       
   481     @scope private
       
   482     -->
       
   483     <property name="zip.ee.log.file" location="${build.log.dir}/${build.id}_ee_zip.log" />
       
   484     <!-- The path to the localization zipping log file.
       
   485     @type string
       
   486     @scope private
       
   487     -->
       
   488     <property name="zip.localised.log.file" location="${build.log.dir}/${build.id}_localised_zip.log" />
       
   489     <!-- Defines log file where to record archiving of subcon environment.
       
   490     @type string
       
   491     @scope private
       
   492     -->
       
   493     <property name="zip.subcon.log.file" value="${build.log.dir}/${build.id}_subcon_zip.log" />
       
   494     <!-- The log file name for zipping subcon_roms.
       
   495     @type string
       
   496     @scope private
       
   497     -->
       
   498     <property name="zip.subcon_roms.log.file" location="${build.log.dir}/${build.id}_subcon_roms_zip.log" />
       
   499     <!-- The log file name for zipping trace_roms.
       
   500     @type string
       
   501     @scope private
       
   502     -->
       
   503     <property name="zip.trace_roms.log.file" location="${build.log.dir}/${build.id}_trace_roms_zip.log" />
       
   504     <!-- target to be executed in case of exceptions (mainly to generate the summary and raise signal).
       
   505     @type string
       
   506     @scope private
       
   507     -->
       
   508     <property name="exceptions.target" value="hlm-exception-handler"/>
       
   509     <!-- The tools dependencies Ivy settings configuration file.
       
   510     @type string
       
   511     -->
       
   512     <property name="tools.ivy.config.file" location="${helium.dir}/config/ivy/tools_ivy_settings.xml" />
       
   513     
       
   514     <!-- A file where persistent properties for a build should be stored.
       
   515     @type string
       
   516     @scope private
       
   517     -->
       
   518     <property name="build.property.cache.file" location="${diamonds.build.output.dir}/build_properties_cache.txt" />
       
   519     <!-- The path for the Python script to handle the ccm task bridge to the ccm.py module.
       
   520     @type string
       
   521     @scope private
       
   522     -->
       
   523     <property name="ccmtask.python.script.file" location="${helium.dir}/tools/preparation/synergy/ccmtask.jep" />
       
   524     <!-- Level of ant logging.
       
   525     @type string
       
   526     -->
       
   527     <property name="ant.loglevel" value="verbose"/>
       
   528 
       
   529     <if>
       
   530         <available file="${build.property.cache.file}"/>
       
   531         <then>
       
   532             <property file="${build.property.cache.file}"/>
       
   533         </then>
       
   534     </if>
       
   535 
       
   536 
       
   537     <!-- Default number of threads is 2 * NUMBER_OF_PROCESSORS, but this can be overridden by defining the
       
   538     property manually. -->
       
   539     <if>
       
   540         <not>
       
   541             <isset property="number.of.threads"/>
       
   542         </not>
       
   543         <then>
       
   544             <if>
       
   545                 <isset property="env.NUMBER_OF_PROCESSORS"/>
       
   546                 <then>
       
   547                     <math result="number.of.threads" operand1="${env.NUMBER_OF_PROCESSORS}" operation="*" operand2="2" datatype="int"/>
       
   548                 </then>
       
   549                 <else>
       
   550                     <!-- how many parallel threads can run
       
   551                     @type string
       
   552                     @scope public
       
   553                     -->
       
   554                     <property name="number.of.threads" value="2"/>
       
   555                 </else>
       
   556             </if>
       
   557         </then>
       
   558     </if>
       
   559     
       
   560     <!--* @property product.family
       
   561     In product builds defines the product family that the build product belong to.
       
   562     @type string
       
   563     @editable required
       
   564     @scope public
       
   565     -->
       
   566     
       
   567     <!--* @property product.list
       
   568     In product builds defines the list of products that are build in the configuration. Property is used in rom image creation, localisation release notes creation and data packaging.
       
   569     @type string
       
   570     @editable required
       
   571     @scope public
       
   572     -->
       
   573      
       
   574 
       
   575     <!-- Import basic targets.
       
   576         
       
   577     The intention would be to split the targets into separate files somewhat
       
   578     matching the build phases located inside \nbuild and import each one here.
       
   579     -->
       
   580     <import file="extensions/nokia/build.xml" optional="true"/>
       
   581     <import file="tools/preparation/preparation.ant.xml"/>
       
   582     <import file="tools/common/common.ant.xml"/>
       
   583     <import file="tools/common/testing.ant.xml"/>
       
   584     <import file="tools/compile/compile.ant.xml"/>
       
   585     <import file="tools/common/docs.ant.xml"/>
       
   586     <import file="tools/common/helium_docs.ant.xml"/>
       
   587     <import file="tools/localisation/localisation.ant.xml"/>
       
   588     <import file="tools/logging/logging.ant.xml"/>
       
   589     <import file="tools/publish/publish.ant.xml"/>
       
   590     <import file="tools/metadata/metadata.ant.xml"/>
       
   591     <import file="tools/release/release.ant.xml"/>
       
   592     <import file="tools/rombuild/rombuild.ant.xml"/>
       
   593     <import file="tools/quality/quality.ant.xml"/>
       
   594     <import file="tools/relnotes/relnotes.ant.xml"/>
       
   595     <import file="tools/integration/integration.ant.xml"/>
       
   596     <import file="tools/startup/antserver/remote.ant.xml" />
       
   597     <import file="tools/testing/testing.ant.xml" />
       
   598     <import file="tools/startup/bootstrap/bootstrap.ant.xml"/>
       
   599     <import file="tools/iad/iad.ant.xml"/>
       
   600     <import file="config/signaling_config_default.ant.xml"/>
       
   601     <import file="config/stages_config_default.ant.xml"/>
       
   602     <import file="config/metadata_filter_config_default.ant.xml"/>
       
   603 
       
   604     
       
   605     <!-- Top level build execution targets.
       
   606         
       
   607     All of these should simply depend on other targets. They should not contain any tasks.
       
   608     -->
       
   609     
       
   610     <!-- Top-level target for platform builds. -->
       
   611     <target name="platform-build"
       
   612             depends="prep,prebuild,compile-main,postbuild,build-roms,zip-ee,publish-generic,
       
   613                      report,final"
       
   614             description="The default platform build"/>
       
   615     
       
   616     <!-- Top-level target for IBUSAL builds. -->
       
   617     <target name="ibusal-build"
       
   618             depends="prep-drive,init-build-area,prebuild,build-info,log-build-env,
       
   619                      check-env-prep,diamonds,prep-copy,set-arm-version,
       
   620                      create-canonical-sysdef-file,compile-main,zip-ee"
       
   621             description="The default IBUSAL build"/>
       
   622 
       
   623     <!-- Top-level target for IDO builds. -->
       
   624     <target name="ido-build"
       
   625             depends="diamonds,compile-clean,compile-main,build-roms"
       
   626             description="IDO build"/>
       
   627 </project>