doc/api/helium/target-create-canonical-sysdef-file.html
author MattD <mattd@symbian.org>
Tue, 02 Feb 2010 14:28:49 +0000
changeset 871 ef25bf39d67c
parent 627 56a1d97e7c73
permissions -rw-r--r--
sf-run-analysis-missing-files - changed to depend on a new undefined parameter 'sf.spec.checkbuild' so that it can be turned on and off


<?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 create-canonical-sysdef-file</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 create-canonical-sysdef-file</h2>

<p><b>Location</b></p>
<p>    <tt class="docutils literal"><a href="/d:/maintools/sf-config/sf-platform/build.xml#L84">d:\maintools\sf-config\sf-platform\build.xml:84:</a></tt>  
</p>

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

<h3>Description</h3>
<p>
<p>This target is effectively a callback, called from compile-main. Its responsibility is to convert the set of peices in ref "system.definition.files" into one sys def with absolute paths</p><p>However, in our builds, we know that there will only be one sysdef peice passed in, so that makes things a lot simpler</p></p>
<p/>
<hr/>




<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-canonical.sysdef.file.html" title="<p>The path of the generated canonical System Definition file that contains all the input System Definition file content.</p>" target="classframe"><tt class="docutils literal">canonical.sysdef.file</tt></a></td><td><a href="help.html" title="Help" target="classframe">never</a></td>
                    </tr>
</table>
</p>

<hr/>


<h3>Target dependencies</h3>
<p align="center">
<img src="target-create-canonical-sysdef-file.dot.png" alt="create-canonical-sysdef-file dependencies" usemap="#dependencies"
     style="border-style: none"/>
<map name="dependencies" id="dependencies">
<area shape="rect" id="node1" href="target-create-canonical-sysdef-file.html" title="create&#45;canonical&#45;sysdef&#45;file" alt="" coords="7,5,217,53">
</map>
</p>
<hr/>


<h3>Source code</h3>
<pre>
    &lt;target name=&quot;create-canonical-sysdef-file&quot;&gt;
    &lt;fail message=&quot;Symbian builds create a canonical system definition from exactly one peice&quot;&gt;
      &lt;condition&gt;
        &lt;resourcecount refid=&quot;system.definition.files&quot; when=&quot;ne&quot; count=&quot;1&quot;/&gt;
      &lt;/condition&gt;
    &lt;/fail&gt;

    &lt;!-- Locate the first/only item referenced --&gt;
    &lt;for param=&quot;file&quot;&gt;
      &lt;resources refid=&quot;system.definition.files&quot;/&gt;
      &lt;sequential&gt;
        &lt;echo message=&quot;@{file}&quot;/&gt;
        &lt;!-- Once a property is set, it stays set - bingo! --&gt;
        &lt;property name=&quot;sf.first.system.definition&quot; value=&quot;@{file}&quot;/&gt;
      &lt;/sequential&gt;
    &lt;/for&gt;

    &lt;!-- Having located the file, copy it to the final desired location, absoluting tha paths as we go --&gt;
    &lt;copy tofile=&quot;${canonical.sysdef.file}&quot; file=&quot;${sf.first.system.definition}&quot; overwrite=&quot;true&quot; verbose=&quot;true&quot;&gt;
      &lt;filterchain&gt;
        &lt;replaceregex pattern=&quot;bldFile=&amp;quot;os&quot; replace=&quot;bldFile=&amp;quot;/sf/os&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;mrp=&amp;quot;os&quot; replace=&quot;mrp=&amp;quot;/sf/os&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;bldFile=&amp;quot;mw&quot; replace=&quot;bldFile=&amp;quot;/sf/mw&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;mrp=&amp;quot;mw&quot; replace=&quot;mrp=&amp;quot;/sf/mw&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;bldFile=&amp;quot;app&quot; replace=&quot;bldFile=&amp;quot;/sf/app&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;mrp=&amp;quot;app&quot; replace=&quot;mrp=&amp;quot;/sf/app&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;bldFile=&amp;quot;tools&quot; replace=&quot;bldFile=&amp;quot;/sf/tools&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;mrp=&amp;quot;tools&quot; replace=&quot;mrp=&amp;quot;/sf/tools&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;bldFile=&amp;quot;adaptation&quot; replace=&quot;bldFile=&amp;quot;/sf/adaptation&quot; flags=&quot;gi&quot;/&gt;
        &lt;replaceregex pattern=&quot;mrp=&amp;quot;adaptation&quot; replace=&quot;mrp=&amp;quot;/sf/adaptation&quot; flags=&quot;gi&quot;/&gt;
        &lt;expandproperties/&gt;
      &lt;/filterchain&gt;
    &lt;/copy&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>