--- a/buildframework/helium/tools/compile/ec/ec.ant.xml Tue Mar 16 17:16:51 2010 +0000
+++ b/buildframework/helium/tools/compile/ec/ec.ant.xml Thu Mar 18 15:06:42 2010 +0000
@@ -20,33 +20,62 @@
============================================================================
-->
+<!--* @package compile -->
<project name="compile.ec" xmlns:hlm="http://www.nokia.com/helium">
<description>
EC compilation targets.
</description>
+ <!-- Location of emake tool.
+ @type string
+ @scope private
+ -->
<property name="ec.emake" value="emake"/>
+ <!-- Location of the Makefile generated to run the EC build.
+ @type string
+ @scope private
+ -->
<property name="ec.makefile.file" location="${build.drive}/Makefile"/>
+ <!-- Location of sysdef2make.pl file, which is used to translate system definition files to make files. Internal property that normally does not require changes.
+ @type string
+ @scope private
+ -->
<property name="ec.sysdef2make" location="${helium.dir}/tools/compile/ec/sysdef2make.pl"/>
+ <!-- Extra command line parameters for the sysdef2make call.
+ @type string
+ -->
+ <property name="ec.sysdef2make.cmdline" value="-forcemake ((abld.*\-(w|what|c|check))|(abld.*resource))" />
+ <!-- Temporary location of the EC history file used by the current build.
+ @type string
+ @scope private
+ -->
<property name="ec.historyfile" value="${build.drive}/emake.data"/>
+ <!-- memory limit for EC execution. See user guide for more details
+ @type string
+ @scope private
+ -->
<property name="ec.mem.limit" value="1000000000"/>
<!-- This can be used to query cluster manager to find information about the build. Set
to default as all the clusture supports default class id.-->
+ <!-- Build class for Electric Cloud. No default value.
+ @type string
+ @scope private
+ -->
<property name="ec.build.class" value="default"/>
<!-- Converting cononical SDF into a Makefile. -->
<target name="compile-genxml-ec" if="build.system.ec-helium">
<!-- Using now the official script for GTI. -->
- <exec executable="perl" dir="${build.drive}/" error="${build.log.dir}/${build.id}.${sysdef.configuration}.sysdef2make.log" failonerror="${failonerror}">
- <arg line="${ec.sysdef2make} -n ${sysdef.configuration} -s ${env.EPOCROOT} -forcemake ((abld.*\-(w|what|c|check))|(abld.*resource)) ${canonical.sysdef.file}"/>
+ <exec executable="perl" dir="${build.drive}/" error="${compile.log.dir}/${build.id}.${sysdef.configuration}.sysdef2make.log" failonerror="${failonerror}">
+ <arg line="${ec.sysdef2make} -n ${sysdef.configuration} -s ${env.EPOCROOT} ${ec.sysdef2make.cmdline} ${canonical.sysdef.file}"/>
</exec>
<hlm:metadatarecord database="${metadata.dbfile}">
<hlm:textmetadatainput>
- <fileset casesensitive="false" file="${build.log.dir}/${build.id}.${sysdef.configuration}.sysdef2make.log"/>
+ <fileset casesensitive="false" file="${compile.log.dir}/${build.id}.${sysdef.configuration}.sysdef2make.log"/>
<metadatafilterset refid="filterset.genxml.ec" />
</hlm:textmetadatainput>
</hlm:metadatarecord>
@@ -150,7 +179,14 @@
<var name="ec.history.option" value="create"/>
</then>
<else>
+ <!-- Maximum number of agent to be used
+ @type string
+ -->
<property name="ec.maxagents" value="0"/>
+ <!-- Should be create for single node build and merge for multi node build.
+ @type string
+ @scope private
+ -->
<property name="ec.history.option" value="merge"/>
<if>
<isset property="week.number"/>
@@ -283,8 +319,8 @@
<echo>Cleaning up the logs....</echo>
<exec executable="perl" dir="${build.drive}/" failonerror="${failonerror}">
<arg line="${helium.dir}/tools/compile/ec/ec_whatcheck.pl"/>
- <redirector input="${build.log.dir}/${build.id}.${sysdef.configuration}_build_output.log"
- output="${build.log.dir}/${build.id}.${sysdef.configuration}_compile.log"/>
+ <redirector input="${compile.log.dir}/${build.id}.${sysdef.configuration}_build_output.log"
+ output="${compile.log.dir}/${build.id}.${sysdef.configuration}_compile.log"/>
</exec>
</target>
@@ -308,13 +344,13 @@
<echo>emake debug flag: ${emake_debug_flag}</echo>
<echo>Building ${sysdef.configuration}....</echo>
- <echo file="${build.log.dir}/${build.id}.${sysdef.configuration}_run_emake.bat" level="info">
+ <echo file="${temp.build.dir}/${build.id}.${sysdef.configuration}_run_emake.bat" level="info">
set
-${ec.emake} --emake-build-label=${build.id}.${sysdef.configuration} --emake-class=${ec.build.class} --emake-priority=normal --emake-maxagents=${ec.maxagents} --emake-job-limit=0 --emake-mem-limit=${ec.mem.limit} --emake-history=${ec.history.option} --emake-annodetail=basic,history,file,waiting --emake-annofile=${build.log.dir}\${build.id}.${sysdef.configuration}.emake.anno.xml --emake-historyfile=${ec.historyfile} --emake-debug=${emake_debug_flag} --emake-logfile=${build.log.dir}\${build.id}.${sysdef.configuration}.emake.g.dlog --emake-root=%EMAKE_ROOT%;${helium.dir} --emake-autodepend=1 -k -i -f ${build.drive}/${sysdef.configuration}.make LOGBUILDTIME="" VERBOSE="" SAVESPACE="" ${sysdef.configuration}
+${ec.emake} --emake-build-label=${build.id}.${sysdef.configuration} --emake-class=${ec.build.class} --emake-priority=normal --emake-maxagents=${ec.maxagents} --emake-job-limit=0 --emake-mem-limit=${ec.mem.limit} --emake-history=${ec.history.option} --emake-annodetail=basic,history,file,waiting --emake-annofile=${compile.log.dir}\${build.id}.${sysdef.configuration}.emake.anno.xml --emake-historyfile=${ec.historyfile} --emake-debug=${emake_debug_flag} --emake-logfile=${compile.log.dir}\${build.id}.${sysdef.configuration}.emake.g.dlog --emake-root=%EMAKE_ROOT%;${helium.dir} --emake-autodepend=1 -k -i -f ${build.drive}/${sysdef.configuration}.make LOGBUILDTIME="" VERBOSE="" SAVESPACE="" ${sysdef.configuration}
</echo>
- <exec executable="${build.log.dir}/${build.id}.${sysdef.configuration}_run_emake.bat"
- dir="${build.drive}/" output="${build.log.dir}/${build.id}.${sysdef.configuration}_build_output.log"
+ <exec executable="${temp.build.dir}/${build.id}.${sysdef.configuration}_run_emake.bat"
+ dir="${build.drive}/" output="${compile.log.dir}/${build.id}.${sysdef.configuration}_build_output.log"
failonerror="${failonerror}">
<env key="SYMBIANBUILD_DEPENDENCYOFF" value="1" />
</exec>
@@ -323,9 +359,8 @@
<antcall target="compile-ec-logs"/>
<!-- Testing everything happens correctly. -->
- <hlm:assertFileExists file="${build.log.dir}/${build.id}.${sysdef.configuration}_run_emake.bat"/>
- <hlm:assertFileExists file="${build.log.dir}/${build.id}.${sysdef.configuration}_build_output.log"/>
- <hlm:assertFileExists file="${build.log.dir}/${build.id}.${sysdef.configuration}_compile.log"/>
- <hlm:calculateErrorsFromLog logfile="${build.log.dir}/${build.id}.${sysdef.configuration}_compile.log" />
+ <hlm:assertFileExists file="${temp.build.dir}/${build.id}.${sysdef.configuration}_run_emake.bat"/>
+ <hlm:assertFileExists file="${compile.log.dir}/${build.id}.${sysdef.configuration}_build_output.log"/>
+ <hlm:assertFileExists file="${compile.log.dir}/${build.id}.${sysdef.configuration}_compile.log"/>
</target>
</project>