buildframework/helium/tools/compile/compile.antlib.xml
changeset 217 0f5e3a7fb6af
parent 179 d8ac696cc51f
child 587 85df38eb4012
--- a/buildframework/helium/tools/compile/compile.antlib.xml	Fri Feb 05 11:59:41 2010 +0000
+++ b/buildframework/helium/tools/compile/compile.antlib.xml	Thu Mar 04 15:10:37 2010 +0200
@@ -20,6 +20,7 @@
 
 ============================================================================
 -->
+<!--* @package compile -->
 <antlib xmlns:hlm="http://www.nokia.com/helium">
     <!-- This task transfer the log file into html format -->
     <macrodef name="compileHtmlscanlogMacro" uri="http://www.nokia.com/helium">
@@ -47,7 +48,7 @@
                     <isset property="skip.diamonds"/>
                 </not>
                 <then>
-                    <fmpp sourceFile="${helium.dir}/tools/common/templates/diamonds/faults_metadata.ftl"
+                    <fmpp sourceFile="${helium.dir}/tools/common/templates/diamonds/faults_metadata_orm.ftl"
                                  outputfile="${diamonds.build.output.dir}/compile-main.xml">
                         <data expandProperties="yes">
                             dbPath: ${metadata.dbfile}
@@ -65,6 +66,7 @@
         <attribute name="error.limit"/>
         <attribute name="phase" default="compile"/>
         <sequential>
+            <hlm:calculateErrorsFromLog logfile="@{compile.summary.file}" />
             <hlm:metadataCountSeverity severity="ERROR" log="@{compile.summary.file}" 
                 db="${metadata.dbfile}" 
                 property="build.errors.total"/>
@@ -151,6 +153,8 @@
         <attribute name="output"/>
         <attribute name="logfile"/>
         <sequential>
+            <basename property="base.merge.log" file="@{logfile}"/>
+            <hlm:tempRecordStartMacro name="${base.merge.log}"/>
             <echo message="input:@{input}" />
             <echo message="output:@{output}" />
             <mkdir dir="${compile.log.dir}"/>
@@ -158,7 +162,7 @@
             <copy todir="${build.drive}/" verbose="true">
                 <fileset dir="${helium.dir}/tools/common/dtd" includes="*.dtd"/>
             </copy>
-            <preset.exec executable="perl" dir="${build.drive}/" failonerror="${failonerror}" output="@{logfile}">
+            <preset.exec executable="perl" dir="${build.drive}/" failonerror="${failonerror}">
                 <arg value="${epocroot}epoc32/tools/build/genxml.pl"/>
                 <arg value="-s"/>
                 <arg value="${epocroot}"/>
@@ -166,35 +170,11 @@
                 <arg value="@{output}"/>              
                 <arg line="@{input}"/>
             </preset.exec>
-            <if>
-                <not>
-                    <available file="@{output}"/>
-                </not>
-                <then>
-                    <echo file="@{logfile}" message="ERROR: Check @{input}" append="true"/>
-                    <!-- Todo: metadata: Make sure that logfilter is added to the filterset -->
-                    <hlm:metadatarecord database="${metadata.dbfile}">
-                        <hlm:textmetadatainput>
-                            <fileset casesensitive="false" file="@{logfile}" />
-                            <metadatafilterset refid="filterset.genxml.merge" />
-                        </hlm:textmetadatainput>
-                    </hlm:metadatarecord>
-                    <hlm:generateBuildStatus file="${build.id}.sysdef_GenxmlMerge.log" />
-                    <hlm:signal name="canonicalSysDefFailSignal" result="1" >
-                        <signalNotifierInput>
-                            <signalInput refid="canonicalSysDefFailSignalInput" >
-                                <notifierInput>
-                                    <fileset dir="${build.log.dir}" >
-                                        <include name="**/${build.id}.sysdef_GenxmlMerge.log*" />
-                                    </fileset>
-                                </notifierInput>
-                            </signalInput>
-                        </signalNotifierInput>
-                    </hlm:signal>
-                </then>
-            </if>
-
-            <hlm:assertFileExists file="@{output}"/>
+            <hlm:tempRecordStopMacro name="${base.merge.log}" phase="compile" filterref="filterset.genxml.merge"/>
+            <hlm:signalMacro
+                logfile="${build.cache.log.dir}/${base.merge.log}"
+                phase="compile" 
+                signal.input="canonicalSysDefFailSignalInput" />
         </sequential>
     </macrodef>