Re-apply changes to allow sources.csv to specify a revision by a *local* tag in the web repository.
Uses "hg id" instead of "hg in", so not affected by the aborts we had previously. And no need for an empty repo this time either.
<?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-raptor</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-raptor</h2>
<p><b>Location</b></p>
<p> <tt class="docutils literal"><a href="/d:/maintools/sf-config/common/build.postbuild.xml#L303">d:\maintools\sf-config\common\build.postbuild.xml:303:</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>perl</td>
</tr>
<tr>
<td>perl</td>
</tr>
<tr>
<td>perl</td>
</tr>
<tr>
<td>perl</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 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-raptor.dot.png" alt="sf-run-analysis-raptor dependencies" usemap="#dependencies"
style="border-style: none"/>
<map name="dependencies" id="dependencies">
<area shape="rect" id="node1" href="target-sf-run-analysis-raptor.html" title="sf-run-analysis-raptor" alt="" coords="175,5,340,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-raptor">
<echo message="Preprocessing *_compile.log files"/>
<delete file="${build.log.dir}/analysis/${build.id}_preprocess.log"/>
<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="preprocessedlogfile" input="@{logfile}" regexp=".*[\\/](.*)_compile\.log" replace="\1_compile_preprocessed.log"/>
<echo message="Preprocessing @{logfile}..."/>
<exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" input="@{logfile}" output="${build.log.dir}/analysis/${preprocessedlogfile}" errorProperty="@{logfile}">
<arg value="${sf.common.config.dir}/tools/raptor/preprocess_log.pl"/>
</exec>
<echo file="${build.log.dir}/analysis/${build.id}_preprocess.log" append="true" message="${@{logfile}}${line.separator}"/>
</sequential>
</for>
<echo message="Extracting whatlog information from *whatlog*_compile_preprocessed.log files"/>
<for param="whatlogfile">
<path>
<fileset dir="${build.log.dir}/analysis">
<include name="*whatlog*_compile_preprocessed.log"/>
</fileset>
</path>
<sequential>
<echo message="Extracting whatlog info from @{whatlogfile}..."/>
<exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" output="${build.log.dir}/analysis/${build.id}_whatlog.log" append="true">
<arg value="${sf.common.config.dir}/tools/raptor/parse.pl"/>
<arg value="--releaseable"/>
<arg value="--log=@{whatlogfile}"/>
<arg value="--basedir=${build.log.dir}"/>
<arg value="--append"/>
</exec>
</sequential>
</for>
<echo message="Extracting error information from *_compile_preprocessed.log files"/>
<for param="raptorlogfile">
<path>
<fileset dir="${build.log.dir}/analysis">
<include name="*_compile_preprocessed.log"/>
</fileset>
</path>
<sequential>
<echo message="Extracting error info from @{raptorlogfile}..."/>
<propertyregex override="yes" property="raptorconfig" input="@{raptorlogfile}" regexp=".*[\\/].*__(.*)\.whatlog_(single|multiple)_thread.*" replace="\1" casesensitive="false" defaultValue="noconfig"/>
<exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" output="${build.log.dir}/analysis/${build.id}_raptorparse.log" append="true">
<arg value="${sf.common.config.dir}/tools/raptor/parse.pl"/>
<arg value="--error"/>
<arg value="--warning"/>
<arg value="--unreciped"/>
<arg value="--recipe"/>
<arg value="--config=${raptorconfig}"/>
<arg value="--log=@{raptorlogfile}"/>
<arg value="--basedir=${build.log.dir}/raptorbits"/>
</exec>
</sequential>
</for>
<echo message="Summarizing Raptor data"/>
<exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" output="${build.log.dir}/analysis/${build.id}_raptorparse.log" append="true">
<arg value="${sf.common.config.dir}/tools/raptor/summarize.pl"/>
<arg value="--raptorbitsdir=${build.log.dir}/raptorbits"/>
<arg value="--outputdir=${build.log.dir}"/>
</exec>
<!-- Now iterate through the generated TSVs to sort them and remove duplicates -->
<for param="tsv">
<path>
<fileset dir="${build.log.dir}">
<include name="releaseables/**/*.tsv"/>
</fileset>
</path>
<sequential>
<exec executable="perl" input="@{tsv}" output="@{tsv}">
<arg value="${sf.common.config.dir}/tools/sortUnique.pl"/>
</exec>
</sequential>
</for>
<!-- Cook the raptor analysis further to produce something in the right format for the BRAG system -->
<exec executable="perl" output="${build.log.dir}/summary/Raptor_BRAG.xml" logError="yes">
<arg value="${sf.common.config.dir}/tools/brag/raptorToBRAG.pl"/>
<arg value="--raptorsummary"/>
<arg value="${build.log.dir}/raptorbits/summary.csv"/>
</exec>
<!-- And copy the XSL so the output can be transformed by a browser -->
<copy file="${sf.common.config.dir}/tools/brag/brag.xsl" toDir="${build.log.dir}/summary/"/>
</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>