doc/api/python/integration.ant-pysrc.html
author Simon Howkins <simonh@symbian.org>
Tue, 30 Mar 2010 13:57:59 +0100
changeset 952 ea541face66b
parent 432 f2ddfa555b0f
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="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>integration.ant</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="integration-module.html">Package&nbsp;integration</a> ::
        Module&nbsp;ant
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="integration.ant-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="integration.ant-module.html">Module integration.ant</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#============================================================================ </tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Name        : ant.py </tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Part of     : Helium </tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment">#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#All rights reserved.</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#This component and the accompanying materials are made available</tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#under the terms of the License "Eclipse Public License v1.0"</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#which accompanies this distribution, and is available</tt> </tt>
<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#at the URL "http://www.eclipse.org/legal/epl-v10.html".</tt> </tt>
<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Initial Contributors:</tt> </tt>
<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Nokia Corporation - initial contribution.</tt> </tt>
<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Contributors:</tt> </tt>
<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Description:</tt> </tt>
<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#===============================================================================</tt> </tt>
<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">""" Quality Ant task implementation. """</tt> </tt>
<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package integration=integration-module.html"><a title="integration" class="py-name" href="#" onclick="return doclink('link-0', 'integration', 'link-0');">integration</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module integration.quality=integration.quality-module.html"><a title="integration.quality" class="py-name" href="#" onclick="return doclink('link-1', 'quality', 'link-1');">quality</a></tt> </tt>
<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">traceback</tt> </tt>
<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
<a name="check_build_duplicates_task"></a><div id="check_build_duplicates_task-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="check_build_duplicates_task-toggle" onclick="return toggle('check_build_duplicates_task');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="integration.ant-module.html#check_build_duplicates_task">check_build_duplicates_task</a><tt class="py-op">(</tt><tt class="py-param">project</tt><tt class="py-op">,</tt> <tt class="py-param">task</tt><tt class="py-op">,</tt> <tt class="py-param">attributes</tt><tt class="py-op">,</tt> <tt class="py-param">elements</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="check_build_duplicates_task-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="check_build_duplicates_task-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-docstring">""" This is the implementation of the checkBuildDuplicatesMacro Ant task."""</tt> </tt>
<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method ccm.extra.CachedSessionProvider.get()=ccm.extra.CachedSessionProvider-class.html#get,Method ccm.extra.SessionProvider.get()=ccm.extra.SessionProvider-class.html#get,Method configuration.Configuration.get()=configuration.Configuration-class.html#get"><a title="ccm.extra.CachedSessionProvider.get
ccm.extra.SessionProvider.get
configuration.Configuration.get" class="py-name" href="#" onclick="return doclink('link-2', 'get', 'link-2');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'output'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"'output' attribute is not defined."</tt><tt class="py-op">)</tt> </tt>
<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt id="link-3" class="py-name" targets="Variable ccm.Result.output=ccm.Result-class.html#output,Package helium.output=helium.output-module.html"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-3', 'output', 'link-3');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="ccm.extra.CachedSessionProvider.get
ccm.extra.SessionProvider.get
configuration.Configuration.get" class="py-name" href="#" onclick="return doclink('link-4', 'get', 'link-2');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'output'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt id="link-5" class="py-name" targets="Method build.io.AbldLogWhatReader.task()=build.io.AbldLogWhatReader-class.html#task,Method integration.quality.AbldWhatParser.task()=integration.quality.AbldWhatParser-class.html#task,Method integration.quality.InternalExportParser.task()=integration.quality.InternalExportParser-class.html#task,Method symbian.log.Parser.task()=symbian.log.Parser-class.html#task"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-5', 'task', 'link-5');">task</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method configuration_model.Item.log()=configuration_model.Item-class.html#log,Module symbian.log=symbian.log-module.html"><a title="configuration_model.Item.log
symbian.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-6');">log</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating %s"</tt> <tt class="py-op">%</tt> <tt id="link-7" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-7', 'output', 'link-3');">output</a></tt><tt class="py-op">)</tt> </tt>
<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt id="link-8" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-8', 'output', 'link-3');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-9', 'output', 'link-3');">output</a></tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt id="link-10" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-10', 'output', 'link-3');">output</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method archive.builders.ArchivePreBuilder.write()=archive.builders.ArchivePreBuilder-class.html#write,Method build.model.BOMDeltaXMLWriter.write()=build.model.BOMDeltaXMLWriter-class.html#write,Method build.model.BOMXMLWriter.write()=build.model.BOMXMLWriter-class.html#write,Method buildtools.AbstractOutputWriter.write()=buildtools.AbstractOutputWriter-class.html#write,Method buildtools.AntWriter.write()=buildtools.AntWriter-class.html#write,Method buildtools.EBSWriter.write()=buildtools.EBSWriter-class.html#write,Method buildtools.MakeWriter.write()=buildtools.MakeWriter-class.html#write,Method buildtools.StringWriter.write()=buildtools.StringWriter-class.html#write,Method flash_config.FlashConfigurationWriter.write()=flash_config.FlashConfigurationWriter-class.html#write,Method helium.documentation.APIDeltaWriter.write()=helium.documentation.APIDeltaWriter-class.html#write,Method sis.SisPreBuilder.write()=sis.SisPreBuilder-class.html#write,Method sysdef.io.FlashImageSizeWriter.write()=sysdef.io.FlashImageSizeWriter-class.html#write,Method sysdef.io.MakeWriter.write()=sysdef.io.MakeWriter-class.html#write,Method sysdef.io.MakeWriter2.write()=sysdef.io.MakeWriter2-class.html#write,Method sysdef.io.MakeWriter3.write()=sysdef.io.MakeWriter3-class.html#write,Method version.Version.write()=version.Version-class.html#write"><a title="archive.builders.ArchivePreBuilder.write
build.model.BOMDeltaXMLWriter.write
build.model.BOMXMLWriter.write
buildtools.AbstractOutputWriter.write
buildtools.AntWriter.write
buildtools.EBSWriter.write
buildtools.MakeWriter.write
buildtools.StringWriter.write
flash_config.FlashConfigurationWriter.write
helium.documentation.APIDeltaWriter.write
sis.SisPreBuilder.write
sysdef.io.FlashImageSizeWriter.write
sysdef.io.MakeWriter.write
sysdef.io.MakeWriter2.write
sysdef.io.MakeWriter3.write
version.Version.write" class="py-name" href="#" onclick="return doclink('link-11', 'write', 'link-11');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;?xml version=\"1.0\"?&gt;\n&lt;buildconflicts&gt;\n"</tt><tt class="py-op">)</tt> </tt>
<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-name">components_per_file</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">eid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">elements</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="ccm.extra.CachedSessionProvider.get
ccm.extra.SessionProvider.get
configuration.Configuration.get" class="py-name" href="#" onclick="return doclink('link-12', 'get', 'link-2');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"fileset"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Variable ccm.SessionPool.size=ccm.SessionPool-class.html#size"><a title="ccm.SessionPool.size" class="py-name" href="#" onclick="return doclink('link-13', 'size', 'link-13');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">            <tt class="py-name">dirscanner</tt> <tt class="py-op">=</tt> <tt class="py-name">elements</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="ccm.extra.CachedSessionProvider.get
ccm.extra.SessionProvider.get
configuration.Configuration.get" class="py-name" href="#" onclick="return doclink('link-14', 'get', 'link-2');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"fileset"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="ccm.extra.CachedSessionProvider.get
ccm.extra.SessionProvider.get
configuration.Configuration.get" class="py-name" href="#" onclick="return doclink('link-15', 'get', 'link-2');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">eid</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">getDirectoryScanner</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name" targets="Method ccm.ProjectCheckoutResult.project()=ccm.ProjectCheckoutResult-class.html#project"><a title="ccm.ProjectCheckoutResult.project" class="py-name" href="#" onclick="return doclink('link-16', 'project', 'link-16');">project</a></tt><tt class="py-op">)</tt> </tt>
<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">            <tt class="py-name">dirscanner</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method archive.scanners.AbldWhatScanner.scan()=archive.scanners.AbldWhatScanner-class.html#scan,Method archive.scanners.FileSystemScanner.scan()=archive.scanners.FileSystemScanner-class.html#scan,Method archive.scanners.InputFileScanner.scan()=archive.scanners.InputFileScanner-class.html#scan,Method archive.scanners.Scanner.scan()=archive.scanners.Scanner-class.html#scan,Method comments.CommentParser.scan()=comments.CommentParser-class.html#scan,Method fileutils.AbstractScanner.scan()=fileutils.AbstractScanner-class.html#scan,Method fileutils.FileScanner.scan()=fileutils.FileScanner-class.html#scan,Method imaker.api.IMakerConfigScanner.scan()=imaker.api.IMakerConfigScanner-class.html#scan"><a title="archive.scanners.AbldWhatScanner.scan
archive.scanners.FileSystemScanner.scan
archive.scanners.InputFileScanner.scan
archive.scanners.Scanner.scan
comments.CommentParser.scan
fileutils.AbstractScanner.scan
fileutils.FileScanner.scan
imaker.api.IMakerConfigScanner.scan" class="py-name" href="#" onclick="return doclink('link-17', 'scan', 'link-17');">scan</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">jfilename</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dirscanner</tt><tt class="py-op">.</tt><tt class="py-name">getIncludedFiles</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">                <tt id="link-18" class="py-name" targets="Variable symrec.ReleaseMetadata.filename=symrec.ReleaseMetadata-class.html#filename"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-18', 'filename', 'link-18');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">jfilename</tt><tt class="py-op">)</tt> </tt>
<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">                <tt id="link-19" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-19', 'task', 'link-5');">task</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="configuration_model.Item.log
symbian.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-6');">log</a></tt><tt class="py-op">(</tt><tt class="py-string">"Parsing %s"</tt> <tt class="py-op">%</tt> <tt id="link-21" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-21', 'filename', 'link-18');">filename</a></tt><tt class="py-op">)</tt> </tt>
<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">                <tt id="link-22" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-22', 'filename', 'link-18');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method buildtools.Command.path()=buildtools.Command-class.html#path,Method sysdef.api.SpecialInstruction.path()=sysdef.api.SpecialInstruction-class.html#path,Method sysdef.api.Unit.path()=sysdef.api.Unit-class.html#path"><a title="buildtools.Command.path
sysdef.api.SpecialInstruction.path
sysdef.api.Unit.path" class="py-name" href="#" onclick="return doclink('link-23', 'path', 'link-23');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">dirscanner</tt><tt class="py-op">.</tt><tt class="py-name">getBasedir</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-24', 'filename', 'link-18');">filename</a></tt><tt class="py-op">)</tt> </tt>
<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">                <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="integration" class="py-name" href="#" onclick="return doclink('link-25', 'integration', 'link-0');">integration</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="integration.quality" class="py-name" href="#" onclick="return doclink('link-26', 'quality', 'link-1');">quality</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Class integration.quality.AbldWhatParser=integration.quality.AbldWhatParser-class.html"><a title="integration.quality.AbldWhatParser" class="py-name" href="#" onclick="return doclink('link-27', 'AbldWhatParser', 'link-27');">AbldWhatParser</a></tt><tt class="py-op">(</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-28', 'filename', 'link-18');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">                <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">components_per_file</tt> <tt class="py-op">=</tt> <tt class="py-name">components_per_file</tt> </tt>
<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">                <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method bsf.BSF.parse()=bsf.BSF-class.html#parse,Method symbian.log.Parser.parse()=symbian.log.Parser-class.html#parse"><a title="bsf.BSF.parse
symbian.log.Parser.parse" class="py-name" href="#" onclick="return doclink('link-29', 'parse', 'link-29');">parse</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">             </tt>
<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-30" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-30', 'filename', 'link-18');">filename</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">components_per_file</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method ccm.CCMObject.keys()=ccm.CCMObject-class.html#keys,Method configuration.Configuration.keys()=configuration.Configuration-class.html#keys,Method configuration.NestedConfiguration.keys()=configuration.NestedConfiguration-class.html#keys,Method symrec.ReleaseMetadata.keys()=symrec.ReleaseMetadata-class.html#keys"><a title="ccm.CCMObject.keys
configuration.Configuration.keys
configuration.NestedConfiguration.keys
symrec.ReleaseMetadata.keys" class="py-name" href="#" onclick="return doclink('link-31', 'keys', 'link-31');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">components_per_file</tt><tt class="py-op">[</tt><tt id="link-32" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-32', 'filename', 'link-18');">filename</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">                <tt id="link-33" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-33', 'output', 'link-3');">output</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="archive.builders.ArchivePreBuilder.write
build.model.BOMDeltaXMLWriter.write
build.model.BOMXMLWriter.write
buildtools.AbstractOutputWriter.write
buildtools.AntWriter.write
buildtools.EBSWriter.write
buildtools.MakeWriter.write
buildtools.StringWriter.write
flash_config.FlashConfigurationWriter.write
helium.documentation.APIDeltaWriter.write
sis.SisPreBuilder.write
sysdef.io.FlashImageSizeWriter.write
sysdef.io.MakeWriter.write
sysdef.io.MakeWriter2.write
sysdef.io.MakeWriter3.write
version.Version.write" class="py-name" href="#" onclick="return doclink('link-34', 'write', 'link-11');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">"    &lt;file name=\"%s\"&gt;\n"</tt> <tt class="py-op">%</tt> <tt id="link-35" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-35', 'filename', 'link-18');">filename</a></tt><tt class="py-op">)</tt> </tt>
<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">                <tt id="link-36" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-36', 'output', 'link-3');">output</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="archive.builders.ArchivePreBuilder.write
build.model.BOMDeltaXMLWriter.write
build.model.BOMXMLWriter.write
buildtools.AbstractOutputWriter.write
buildtools.AntWriter.write
buildtools.EBSWriter.write
buildtools.MakeWriter.write
buildtools.StringWriter.write
flash_config.FlashConfigurationWriter.write
helium.documentation.APIDeltaWriter.write
sis.SisPreBuilder.write
sysdef.io.FlashImageSizeWriter.write
sysdef.io.MakeWriter.write
sysdef.io.MakeWriter2.write
sysdef.io.MakeWriter3.write
version.Version.write" class="py-name" href="#" onclick="return doclink('link-37', 'write', 'link-11');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> <tt class="py-string">"        &lt;component name=\"%s\"/&gt;\n"</tt> <tt class="py-op">%</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">components_per_file</tt><tt class="py-op">[</tt><tt id="link-38" class="py-name"><a title="symrec.ReleaseMetadata.filename" class="py-name" href="#" onclick="return doclink('link-38', 'filename', 'link-18');">filename</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">                <tt id="link-39" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-39', 'output', 'link-3');">output</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="archive.builders.ArchivePreBuilder.write
build.model.BOMDeltaXMLWriter.write
build.model.BOMXMLWriter.write
buildtools.AbstractOutputWriter.write
buildtools.AntWriter.write
buildtools.EBSWriter.write
buildtools.MakeWriter.write
buildtools.StringWriter.write
flash_config.FlashConfigurationWriter.write
helium.documentation.APIDeltaWriter.write
sis.SisPreBuilder.write
sysdef.io.FlashImageSizeWriter.write
sysdef.io.MakeWriter.write
sysdef.io.MakeWriter2.write
sysdef.io.MakeWriter3.write
version.Version.write" class="py-name" href="#" onclick="return doclink('link-40', 'write', 'link-11');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">"    &lt;/file&gt;\n"</tt><tt class="py-op">)</tt> </tt>
<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt id="link-41" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-41', 'output', 'link-3');">output</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="archive.builders.ArchivePreBuilder.write
build.model.BOMDeltaXMLWriter.write
build.model.BOMXMLWriter.write
buildtools.AbstractOutputWriter.write
buildtools.AntWriter.write
buildtools.EBSWriter.write
buildtools.MakeWriter.write
buildtools.StringWriter.write
flash_config.FlashConfigurationWriter.write
helium.documentation.APIDeltaWriter.write
sis.SisPreBuilder.write
sysdef.io.FlashImageSizeWriter.write
sysdef.io.MakeWriter.write
sysdef.io.MakeWriter2.write
sysdef.io.MakeWriter3.write
version.Version.write" class="py-name" href="#" onclick="return doclink('link-42', 'write', 'link-11');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;/buildconflicts&gt;\n"</tt><tt class="py-op">)</tt> </tt>
<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt id="link-43" class="py-name"><a title="ccm.Result.output
helium.output" class="py-name" href="#" onclick="return doclink('link-43', 'output', 'link-3');">output</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method build.model.BOM.close()=build.model.BOM-class.html#close,Method build.model.SessionCreator.close()=build.model.SessionCreator-class.html#close,Method buildtools.AbstractOutputWriter.close()=buildtools.AbstractOutputWriter-class.html#close,Method ccm.AbstractSession.close()=ccm.AbstractSession-class.html#close,Method ccm.Session.close()=ccm.Session-class.html#close,Method ccm.SessionPool.close()=ccm.SessionPool-class.html#close,Method ccm.extra.CachedSessionProvider.close()=ccm.extra.CachedSessionProvider-class.html#close,Method ccm.extra.SessionProvider.close()=ccm.extra.SessionProvider-class.html#close,Method log2xml.LogWriter.close()=log2xml.LogWriter-class.html#close,Method preparation.PreparationBuilder.close()=preparation.PreparationBuilder-class.html#close,Method sysdef.io.FlashImageSizeWriter.close()=sysdef.io.FlashImageSizeWriter-class.html#close"><a title="build.model.BOM.close
build.model.SessionCreator.close
buildtools.AbstractOutputWriter.close
ccm.AbstractSession.close
ccm.Session.close
ccm.SessionPool.close
ccm.extra.CachedSessionProvider.close
ccm.extra.SessionProvider.close
log2xml.LogWriter.close
preparation.PreparationBuilder.close
sysdef.io.FlashImageSizeWriter.close" class="py-name" href="#" onclick="return doclink('link-44', 'close', 'link-44');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">exc</tt><tt class="py-op">:</tt> </tt>
<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt id="link-45" class="py-name"><a title="build.io.AbldLogWhatReader.task
integration.quality.AbldWhatParser.task
integration.quality.InternalExportParser.task
symbian.log.Parser.task" class="py-name" href="#" onclick="return doclink('link-45', 'task', 'link-5');">task</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="configuration_model.Item.log
symbian.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-6');">log</a></tt><tt class="py-op">(</tt><tt class="py-string">'ERROR: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">exc</tt><tt class="py-op">)</tt> </tt>
<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-name">traceback</tt><tt class="py-op">.</tt><tt class="py-name">print_exc</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">exc</tt> </tt>
</div><a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0beta1 on Wed Sep 09 13:44:25 2009
    </td>
    <td align="right" class="footer">
      <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie()
  // -->
</script>
  
</body>
</html>