doc/api/helium/target-sf-bc-check.html
author Simon Howkins <simonh@symbian.org>
Fri, 02 Oct 2009 12:25:56 +0100
changeset 570 e5e6ae6bf38f
parent 432 f2ddfa555b0f
child 627 56a1d97e7c73
permissions -rw-r--r--
Script to merge multiple MXL files together, according to a merge specification string


<?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#L31">D:\maintools\sf-config\common\build.test.xml:31:</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="157,5,259,53">
<area shape="rect" id="node4" href="target-sf-send-testpkg.html" title="sf&#45;send&#45;testpkg" alt="" coords="309,5,437,53">
<area shape="rect" id="node2" href="target-sf-postbuild.html" title="sf&#45;postbuild" alt="" coords="5,5,107,53">
<area shape="rect" id="node7" href="target-sf-find-ATS-worker-root.html" title="sf&#45;find&#45;ATS&#45;worker&#45;root" alt="" coords="683,12,867,60">
<area shape="rect" id="node9" href="target-sf-make-junction.html" title="sf&#45;make&#45;junction" alt="" coords="497,57,631,105">
</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;--device-name=GENERIC EMULATOR on ${env.COMPUTERNAME}&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>