doc/api/helium/target-create-canonical-sysdef-file.html
author Simon Howkins <simonh@symbian.org>
Tue, 30 Mar 2010 13:57:59 +0100
changeset 952 ea541face66b
parent 627 56a1d97e7c73
permissions -rw-r--r--
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 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>