doc/api/helium/target-sf-bc-check.html
author Simon Howkins <simonh@symbian.org>
Fri, 16 Oct 2009 15:11:28 +0100
changeset 680 81550e87fc91
parent 627 56a1d97e7c73
permissions -rw-r--r--
Moved the generation of the release metadata entry for the MD5 zip outside of the parallel section, so it can't co-incide with the zipping of the binaries. Ensured that any errors generated when merging log files are not just hidden by putting them in the output file (which will render it not well-formed XML).


<?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-bc-check</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"> &#160;<a href="overview-summary.html"><font class="navbarfont1"><b>overview</b></font>&#160;</a></td>

  <td bgcolor="#ffffff" class="navbarcell1">    <a href="deprecated-list.html"><font class="navbarfont1"><b>deprecated</b></font></a>&#160;</td>
    
  <td bgcolor="#eeeeff" class="navbarcell1">    <a href="properties-table.html"><font class="navbarfont1"><b>properties-table</b></font></a>&#160;</td>  
  <td bgcolor="#eeeeff" class="navbarcell1">    <a href="index-1.html"><font class="navbarfont1"><b>index</b></font></a>&#160;</td>
  <td bgcolor="#eeeeff" class="navbarcell1">    <a href="help.html"><font class="navbarfont1"><b>help</b></font></a>&#160;</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">
&#160;prev&#160;
&#160;next</font></td>
<td bgcolor="white" class="navbarcell2"><font size="-2">
  <a href="index.html?overview-summary.html" target="_top"><b>frames</b></a>  &#160;
&#160;<a href="overview-summary.html" target="_top"><b>no frames</b></a>  &#160;

&#160;<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-bc-check</h2>

<p><b>Location</b></p>
<p>    <tt class="docutils literal"><a href="/d:/maintools/sf-config/common/build.test.xml#L34">d:\maintools\sf-config\common\build.test.xml:34:</a></tt>  
</p>

<p><b>Conditional execution</b></p>        
<p>No conditions on target execution.</p>
<hr/>

<h3>Description</h3>
<p>
<p>static and dynamic BC Test target</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>cmd</td>
            </tr>
        <tr>
                    <td>cmd</td>
            </tr>
        <tr>
                    <td>cmd</td>
            </tr>
        <tr>
                    <td>cmd</td>
            </tr>
        <tr>
                    <td>cmd</td>
            </tr>
        <tr>
                    <td>perl</td>
            </tr>
        <tr>
                    <td>python</td>
            </tr>
        <tr>
                    <td>python</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-bc-check.dot.png" alt="sf-bc-check dependencies" usemap="#dependencies"
     style="border-style: none"/>
<map name="dependencies" id="dependencies">
<area shape="rect" id="node1" href="target-sf-bc-check.html" title="sf&#45;bc&#45;check" alt="" coords="189,72,291,120">
<area shape="rect" id="node6" href="target-sf-send-testpkg.html" title="sf&#45;send&#45;testpkg" alt="" coords="341,72,469,120">
<area shape="rect" id="node2" href="target-sf-postbuild.html" title="sf&#45;postbuild" alt="" coords="21,36,123,84">
<area shape="rect" id="node4" href="target-sf-test-bc-check.html" title="sf&#45;test&#45;bc&#45;check" alt="" coords="7,108,137,156">
<area shape="rect" id="node9" href="target-sf-start-ats.html" title="sf&#45;start&#45;ats" alt="" coords="549,5,643,53">
<area shape="rect" id="node11" href="target-sf-find-ATS-worker-root.html" title="sf&#45;find&#45;ATS&#45;worker&#45;root" alt="" coords="715,99,899,147">
<area shape="rect" id="node13" href="target-sf-make-junction.html" title="sf&#45;make&#45;junction" alt="" coords="529,144,663,192">
</map>
</p>
<hr/>


<h3>Source code</h3>
<pre>
    &lt;target name=&quot;sf-bc-check&quot;&gt;
        &lt;if&gt;&lt;isset property=&quot;env.PDT_HOME&quot;/&gt;
        &lt;then&gt;
            &lt;!-- create BC dir --&gt;
            &lt;mkdir dir=&quot;${build.log.dir}/BC&quot;/&gt;
            &lt;delete file=&quot;${build.log.dir}/BC/bc.config&quot; quiet=&quot;true&quot;/&gt;
            &lt;delete file=&quot;${build.log.dir}/BC/BBCResults.xsl&quot; quiet=&quot;true&quot;/&gt;
            &lt;delete file=&quot;${build.log.dir}/BC/libraries.txt&quot; quiet=&quot;true&quot;/&gt;
            &lt;delete file=&quot;${build.log.dir}/BC/libraries_report.xml&quot; quiet=&quot;true&quot;/&gt;
            &lt;delete file=&quot;${build.log.dir}/BC/headers.txt&quot; quiet=&quot;true&quot;/&gt;
            &lt;delete file=&quot;${build.log.dir}/BC/headers_report.xml&quot; quiet=&quot;true&quot;/&gt;

            &lt;exec executable=&quot;cmd&quot; output=&quot;${build.log.dir}/BC/bc.config&quot; append=&quot;true&quot;&gt;
                &lt;arg value=&quot;/c&quot;/&gt;
                &lt;arg value=&quot;echo&quot;/&gt;
                &lt;arg value=&quot;BASELINE_NAME=${sf.spec.bccheck.baseline.name}&quot;/&gt;
            &lt;/exec&gt;
            &lt;exec executable=&quot;cmd&quot; output=&quot;${build.log.dir}/BC/bc.config&quot; append=&quot;true&quot;&gt;
                &lt;arg value=&quot;/c&quot;/&gt;
                &lt;arg value=&quot;echo&quot;/&gt;
                &lt;arg value=&quot;BASELINE_SDK_DIR=${sf.spec.bccheck.baseline.skd.dir}&quot;/&gt;
            &lt;/exec&gt;
            &lt;exec executable=&quot;cmd&quot; output=&quot;${build.log.dir}/BC/bc.config&quot; append=&quot;true&quot;&gt;
                &lt;arg value=&quot;/c&quot;/&gt;
                &lt;arg value=&quot;echo&quot;/&gt;
                &lt;arg value=&quot;BASELINE_SDK_S60_VERSION=${sf.spec.bccheck.baseline.s60.version}&quot;/&gt;
            &lt;/exec&gt;
            &lt;exec executable=&quot;cmd&quot; output=&quot;${build.log.dir}/BC/bc.config&quot; append=&quot;true&quot;&gt;
                &lt;arg value=&quot;/c&quot;/&gt;
                &lt;arg value=&quot;echo&quot;/&gt;
                &lt;arg value=&quot;CURRENT_NAME=${build.id}&quot;/&gt;
            &lt;/exec&gt;
            &lt;exec executable=&quot;cmd&quot; output=&quot;${build.log.dir}/BC/bc.config&quot; append=&quot;true&quot;&gt;
                &lt;arg value=&quot;/c&quot;/&gt;
                &lt;arg value=&quot;echo&quot;/&gt;
                &lt;arg value=&quot;CURRENT_SDK_DIR=${build.drive}&quot;/&gt;
            &lt;/exec&gt;
            &lt;exec executable=&quot;cmd&quot; output=&quot;${build.log.dir}/BC/bc.config&quot; append=&quot;true&quot;&gt;
                &lt;arg value=&quot;/c&quot;/&gt;
                &lt;arg value=&quot;echo&quot;/&gt;
                &lt;arg value=&quot;CURRENT_SDK_S60_VERSION=${sf.spec.bccheck.current.s60.version}&quot;/&gt;
            &lt;/exec&gt;

            &lt;copy file=&quot;${sf.spec.pdt.root}/fts/compatibilityanalyser/reports/BBCResults.xsl&quot; tofile=&quot;${build.log.dir}/BC/BBCResults.xsl&quot; failonerror=&quot;false&quot; verbose=&quot;true&quot;/&gt;

            &lt;if&gt;&lt;istrue value=&quot;${sf.spec.bccheck.enable.la}&quot;/&gt;
                &lt;then&gt;
                    &lt;exec executable=&quot;python&quot; dir=&quot;${sf.spec.pdt.root}/fts/compatibilityanalyser&quot; output=&quot;${build.log.dir}/BC/libraries.txt&quot;&gt;
                        &lt;arg value=&quot;CheckBC.py&quot;/&gt;
                        &lt;arg value=&quot;${build.log.dir}/BC/bc.config&quot;/&gt;
                        &lt;arg value=&quot;-la&quot;/&gt;
                        &lt;arg value=&quot;-f&quot;/&gt;
                        &lt;arg value=&quot;${sf.spec.bccheck.reportid}&quot;/&gt;
                    &lt;/exec&gt;
                    &lt;copy file=&quot;${sf.spec.pdt.root}/fts/compatibilityanalyser/reports/Libraries_CompatibilityReport_${sf.spec.bccheck.reportid}.xml&quot; tofile=&quot;${build.log.dir}/BC/libraries_report.xml&quot; failonerror=&quot;false&quot; verbose=&quot;true&quot;/&gt;
                &lt;/then&gt;
            &lt;/if&gt;

            &lt;if&gt;&lt;istrue value=&quot;${sf.spec.bccheck.enable.ha}&quot;/&gt;
                &lt;then&gt;
                    &lt;exec executable=&quot;python&quot; dir=&quot;${sf.spec.pdt.root}/fts/compatibilityanalyser&quot; output=&quot;${build.log.dir}/BC/headers.txt&quot;&gt;
                        &lt;arg value=&quot;CheckBC.py&quot;/&gt;
                        &lt;arg value=&quot;${build.log.dir}/BC/bc.config&quot;/&gt;
                        &lt;arg value=&quot;-ha&quot;/&gt;
                        &lt;arg value=&quot;-f&quot;/&gt;
                        &lt;arg value=&quot;${sf.spec.bccheck.reportid}&quot;/&gt;
                    &lt;/exec&gt;
                    &lt;copy file=&quot;${sf.spec.pdt.root}/fts/compatibilityanalyser/reports/Headers_CompatibilityReport_${sf.spec.bccheck.reportid}.xml&quot; tofile=&quot;${build.log.dir}/BC/headers_report.xml&quot; failonerror=&quot;false&quot; verbose=&quot;true&quot;/&gt;
                &lt;/then&gt;
            &lt;/if&gt;

            &lt;if&gt;&lt;istrue value=&quot;${sf.spec.bccheck.enable.dynamic}&quot;/&gt;
                &lt;then&gt;
                    &lt;for param=&quot;file&quot;&gt;
						&lt;path&gt;
							&lt;fileset dir=&quot;${sf.spec.test.package.location}/../bctest&quot; includes=&quot;*.zip&quot;/&gt;
						&lt;/path&gt;
						&lt;sequential&gt;
							&lt;propertyregex override=&quot;yes&quot; property=&quot;program&quot; input=&quot;@{file}&quot; regexp=&quot;([^\\/\/]*)$&quot; select=&quot;\1&quot;/&gt;  						
                            &lt;echo message=&quot;INFO Updating bctest package with test info&quot;/&gt;
					        &lt;echo message=&quot;************ Test drop package name:  ${program} &quot;/&gt;
                            &lt;exec executable=&quot;perl&quot; dir=&quot;${sf.common.config.dir}/tools/ats/&quot; failonerror=&quot;false&quot; append=&quot;true&quot; output=&quot;${build.log.dir}/ATS_${build.id}_dynamicbc.log&quot;&gt;
                              &lt;arg value=&quot;ats_specialise_test_drop.pl&quot;/&gt;
                              &lt;arg value=&quot;--test-drop-name=${env.COMPUTERNAME}-bctest-${build.id}_${program}&quot;/&gt; 
                              &lt;arg value=&quot;--host-name=${env.COMPUTERNAME}.ad-sfpd.intra&quot;/&gt;
                              &lt;arg value=&quot;--src=${sf.spec.test.package.location}/../bctest/${program}&quot;/&gt;
                              &lt;arg value=&quot;--dest=${sf.spec.test.package.location}\${env.COMPUTERNAME}-bctest-${build.id}_${program}&quot;/&gt;						 
                            &lt;/exec&gt;
                            &lt;!-- Now ready to send to ATS3 --&gt;  
					      &lt;echo message=&quot;Sending Test drop :  ${program} ............&quot;/&gt;									
					&lt;antcall target=&quot;sf-send-testpkg&quot; inheritAll=&quot;false&quot;&gt;
                        &lt;param name=&quot;sf.spec.test.package.name&quot; value=&quot;${env.COMPUTERNAME}-bctest-${build.id}_${program}&quot;/&gt;
                    &lt;/antcall&gt;					
							
						&lt;/sequential&gt;
  
					&lt;/for&gt;
				&lt;/then&gt;
			&lt;/if&gt;
		&lt;/then&gt;
        &lt;else&gt;
            &lt;echo message=&quot;WARNING: PDT_HOME not set, I dont know where the BC tools are installed so cannot continue&quot;/&gt;
        &lt;/else&gt;
		&lt;/if&gt;	
    &lt;/target&gt;
</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"> &#160;<a href="overview-summary.html"><font class="navbarfont1"><b>overview</b></font>&#160;</a></td>

  <td bgcolor="#ffffff" class="navbarcell1">    <a href="deprecated-list.html"><font class="navbarfont1"><b>deprecated</b></font></a>&#160;</td>
    
  <td bgcolor="#eeeeff" class="navbarcell1">    <a href="properties-table.html"><font class="navbarfont1"><b>properties-table</b></font></a>&#160;</td>  
  <td bgcolor="#eeeeff" class="navbarcell1">    <a href="index-1.html"><font class="navbarfont1"><b>index</b></font></a>&#160;</td>
  <td bgcolor="#eeeeff" class="navbarcell1">    <a href="help.html"><font class="navbarfont1"><b>help</b></font></a>&#160;</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">
&#160;prev&#160;
&#160;next</font></td>
<td bgcolor="white" class="navbarcell2"><font size="-2">
  <a href="index.html?overview-summary.html" target="_top"><b>frames</b></a>  &#160;
&#160;<a href="overview-summary.html" target="_top"><b>no frames</b></a>  &#160;

&#160;<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>