Modified sf-check-missing-os-files to deal with 'sf.os.compile.iterate' property. Added new target 'sf-compile-options' for setting the gmake sbs compile option, and added it as a dep for the compile targets.
<?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>