Pre-emptive performance fix - avoid having to read the complete log file into memory at the same time before processing it.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE HTML PUBLIC "-//w3c//dtd xhtml 1.0 strict//en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="helium"/>
<meta http-equiv="content-type" content="text/html+xml; charset=iso-8859-1"/>
<link rel="stylesheet" href="stylesheet.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/interface.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<title>Target sf-run-analysis-yarp</title>
</head>
<body>
<!-- ========= start of top navbar ======= -->
<a name="navbar_top"><!-- --></a>
<a href="#skip-navbar_top" title="skip navigation links"></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0" summary="">
<tr>
<td colspan="2" bgcolor="#eeeeff" class="navbarcell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3" summary="">
<tr align="center" valign="top">
<td bgcolor="#ffffff" class="navbarcell1">  <a href="overview-summary.html"><font class="navbarfont1"><b>overview</b></font> </a></td>
<td bgcolor="#ffffff" class="navbarcell1"> <a href="deprecated-list.html"><font class="navbarfont1"><b>deprecated</b></font></a> </td>
<td bgcolor="#eeeeff" class="navbarcell1"> <a href="properties-table.html"><font class="navbarfont1"><b>properties-table</b></font></a> </td>
<td bgcolor="#eeeeff" class="navbarcell1"> <a href="index-1.html"><font class="navbarfont1"><b>index</b></font></a> </td>
<td bgcolor="#eeeeff" class="navbarcell1"> <a href="help.html"><font class="navbarfont1"><b>help</b></font></a> </td>
</tr>
</table>
</td>
<td align="right" valign="top" rowspan="3"><em>
<b>Helium API</b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="navbarcell2"><font size="-2">
 prev 
 next</font></td>
<td bgcolor="white" class="navbarcell2"><font size="-2">
<a href="index.html?overview-summary.html" target="_top"><b>frames</b></a>  
 <a href="overview-summary.html" target="_top"><b>no frames</b></a>  
 <script type="text/javascript">
<!--
if(window==top) {
document.writeln('<a href="allclasses-noframe.html"><b>all classes</b></a>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html"><b>all classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<a name="skip-navbar_top"></a>
<!-- ========= end of top navbar ========= -->
<hr/>
<h2>Target sf-run-analysis-yarp</h2>
<p><b>Location</b></p>
<p> <tt class="docutils literal"><a href="/D:/maintools/sf-config/common/build.postbuild.xml#L379">D:\maintools\sf-config\common\build.postbuild.xml:379:</a></tt>
</p>
<p><b>Conditional execution</b></p>
<p>No conditions on target execution.</p>
<hr/>
<h3>Description</h3>
<p>
</p>
<p/>
<hr/>
<h3>Target external Dependency</h3>
<p>
<table class="docutils" width="50%">
<tr>
<th class="head">Name</th>
</tr>
<tr>
<td>cmd</td>
</tr>
<tr>
<td>perl</td>
</tr>
<tr>
<td>perl</td>
</tr>
</table>
</p>
<h3>Property dependencies</h3>
<p>
<table class="docutils" width="50%">
<tr>
<th class="head">Name</th><th class="head">Edit status</th>
</tr>
<tr>
<td colspan="2">User editable properties</td>
</tr>
<tr>
<td><a href="property-build.drive.html" title="<p>Substed drive where the build is performed. if not defined then helium should search next available build drive letter and subst autometically</p>" target="classframe"><tt class="docutils literal">build.drive</tt></a></td><td><a href="help.html" title="Help" target="classframe">recommended</a></td>
</tr>
<tr>
<td colspan="2">Internal properties</td>
</tr>
<tr>
<td><a href="property-build.id.html" title="<p>A unique ID for the build.</p>" target="classframe"><tt class="docutils literal">build.id</tt></a></td><td><a href="help.html" title="Help" target="classframe">discouraged</a></td>
</tr>
<tr>
<td><a href="property-build.log.dir.html" title="<p>This is where the build logs are stored.</p>" target="classframe"><tt class="docutils literal">build.log.dir</tt></a></td><td><a href="help.html" title="Help" target="classframe">discouraged</a></td>
</tr>
</table>
</p>
<hr/>
<h3>Target dependencies</h3>
<p align="center">
<img src="target-sf-run-analysis-yarp.dot.png" alt="sf-run-analysis-yarp dependencies" usemap="#dependencies"
style="border-style: none"/>
<map name="dependencies" id="dependencies">
<area shape="rect" id="node1" href="target-sf-run-analysis-yarp.html" title="sf-run-analysis-yarp" alt="" coords="175,5,329,53">
<area shape="rect" id="node2" href="target-sf-run-analysis.html" title="sf-run-analysis" alt="" coords="5,5,125,53">
</map>
</p>
<hr/>
<h3>Source code</h3>
<pre>
<target name="sf-run-analysis-yarp">
<echo message="Running yarp over *_compile.log files"/>
<for param="logfile">
<path>
<fileset dir="${build.log.dir}">
<include name="*_compile.log"/>
<exclude name="*build_check_compile.log"/>
</fileset>
</path>
<sequential>
<propertyregex override="yes" property="yarpfile" input="@{logfile}" regexp=".*[\\|\/](.*)_compile\.log" replace="\1_yarp.csv"/>
<propertyregex override="yes" property="yarpfile_short" input="${yarpfile}" regexp="[^_]*_[^_]*_[^_]*_(.+)_[^_]*_yarp\.csv" replace="YARP_\1"/>
<echo message="Yarping @{logfile}..."/>
<exec executable="perl" dir="${build.drive}" failonerror="false" output="${build.log.dir}/analysis/${yarpfile}.log" append="true">
<arg value="${sf.common.config.dir}/tools/analysis/yarp.pl"/>
<arg value="@{logfile}"/>
<arg value="${build.log.dir}/analysis/${yarpfile}"/>
</exec>
<exec executable="cmd" output="${build.drive}/output/logs/analysis/tmp_yarp_files.csv" append="true">
<arg value="/c"/>
<arg value="echo"/>
<arg value="${yarpfile_short},${sf.spec.publish.networkdrive}\${sf.spec.job.name}\builds\${sf.spec.job.codeline}\${build.id}\logs\analysis\${yarpfile},${build.drive}\output\logs\analysis\${yarpfile}"/>
</exec>
</sequential>
</for>
<exec executable="perl" dir="${build.drive}" failonerror="false" outputproperty="sf.job.totalyarperrors">
<arg value="${sf.common.config.dir}/tools/analysis/parse_yarp_files.pl"/>
<arg value="${build.drive}/output/logs/analysis/tmp_yarp_files.csv"/>
</exec>
<echo message="Total yarp errors: ${sf.job.totalyarperrors}"/>
</target>
</pre>
<hr/>
<!-- ========= start of top navbar ======= -->
<a name="navbar_top"><!-- --></a>
<a href="#skip-navbar_top" title="skip navigation links"></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0" summary="">
<tr>
<td colspan="2" bgcolor="#eeeeff" class="navbarcell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3" summary="">
<tr align="center" valign="top">
<td bgcolor="#ffffff" class="navbarcell1">  <a href="overview-summary.html"><font class="navbarfont1"><b>overview</b></font> </a></td>
<td bgcolor="#ffffff" class="navbarcell1"> <a href="deprecated-list.html"><font class="navbarfont1"><b>deprecated</b></font></a> </td>
<td bgcolor="#eeeeff" class="navbarcell1"> <a href="properties-table.html"><font class="navbarfont1"><b>properties-table</b></font></a> </td>
<td bgcolor="#eeeeff" class="navbarcell1"> <a href="index-1.html"><font class="navbarfont1"><b>index</b></font></a> </td>
<td bgcolor="#eeeeff" class="navbarcell1"> <a href="help.html"><font class="navbarfont1"><b>help</b></font></a> </td>
</tr>
</table>
</td>
<td align="right" valign="top" rowspan="3"><em>
<b>Helium API</b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="navbarcell2"><font size="-2">
 prev 
 next</font></td>
<td bgcolor="white" class="navbarcell2"><font size="-2">
<a href="index.html?overview-summary.html" target="_top"><b>frames</b></a>  
 <a href="overview-summary.html" target="_top"><b>no frames</b></a>  
 <script type="text/javascript">
<!--
if(window==top) {
document.writeln('<a href="allclasses-noframe.html"><b>all classes</b></a>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html"><b>all classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<a name="skip-navbar_top"></a>
<!-- ========= end of top navbar ========= -->
<font size="-2">Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: http://www.eclipse.org/legal/epl-v10.html</font>
</body>
</html>