doc/api/helium/target-create-canonical-sysdef-file.html
author MattD <mattd@symbian.org>
Fri, 16 Oct 2009 14:57:32 +0100
changeset 684 6d65abb8bba1
parent 627 56a1d97e7c73
permissions -rw-r--r--
sf-run-evalid - minor change to make sure that evalid is run at the root of the build drive, which can stop the MD5s from being generated. (evalid requires dirs to be relative and not absolute)


<?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>