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