buildframework/helium/tools/compile/ec/ec.ant.xml
branchwip
changeset 380 db59fc762214
parent 217 0f5e3a7fb6af
child 628 7c4a911dc066
--- 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=&quot;&quot; VERBOSE=&quot;&quot; SAVESPACE=&quot;&quot; ${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=&quot;&quot; VERBOSE=&quot;&quot; SAVESPACE=&quot;&quot; ${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>