Bug 1661: Improve build speed with better caching strategy
Changed the way that the cache is located, so the same code can run on any build machine without any configuration.
Made work around for Bug 419 the only option, as we're not using the alternative anyway, and I don't want to commit completely untested code!
Changed caching algorithm, to improve build times.
<?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>ats3.parsers.BldFileParser</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> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </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="ats3-module.html">Package ats3</a> ::
<a href="ats3.parsers-module.html">Module parsers</a> ::
Class BldFileParser
</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 private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>] | <a href="ats3.parsers.BldFileParser-class.html"
target="_top">no frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class BldFileParser</h1><span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser">source code</a></span><br /><br />
<pre class="base-tree">
object --+
|
<strong class="uidshort">BldFileParser</strong>
</pre>
<hr />
Parser for bld.inf files. Returns MACRO values.
Parsing Paths can be done using CPP parser<br /><br />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="ats3.parsers.BldFileParser-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser.__init__">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="ats3.parsers.BldFileParser-class.html#get_test_mmp_files" class="summary-sig-name">get_test_mmp_files</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">bld_file_path</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">with_full_path</span>=<span class="summary-sig-default">True</span>)</span><br />
returns a list of test mmp files
Usage: if "x:bcldfile", "PRJ_TESTMMPFILES".</td>
<td align="right" valign="top">
<span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser.get_test_mmp_files">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_files"></a><span class="summary-sig-name">get_files</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">bld_inf_path</span>,
<span class="summary-sig-arg">bld_macro</span>,
<span class="summary-sig-arg">with_full_path</span>=<span class="summary-sig-default">True</span>)</span><br />
Component's MMP files, as stored in BLD.INF.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser.get_files">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="ats3.parsers.BldFileParser-class.html#ignore_comments_from_input" class="summary-sig-name">ignore_comments_from_input</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">input_str</span>=<span class="summary-sig-default">""</span>)</span><br />
Removes comments from the input string.</td>
<td align="right" valign="top">
<span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser.ignore_comments_from_input">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser.__init__">source code</a></span>
</td>
</table>
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="get_test_mmp_files"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">get_test_mmp_files</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">bld_file_path</span>=<span class="sig-default">None</span>,
<span class="sig-arg">with_full_path</span>=<span class="sig-default">True</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser.get_test_mmp_files">source code</a></span>
</td>
</table>
<p>returns a list of test mmp files
Usage: if "x:bcldfile", "PRJ_TESTMMPFILES".
1. get_test_mmp_files("x:bcldfile") - with full paths e.g. ["x:bcbc.mmp"]
2. get_test_mmp_files("x:bcldfile", False) - without full paths e.g. ["abc.mmp"]</p>
<p>if bld file is not given, the function will try to find the file(s) on the given location with extension ".inf"</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="ignore_comments_from_input"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">ignore_comments_from_input</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">input_str</span>=<span class="sig-default">""</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="ats3.parsers-pysrc.html#BldFileParser.ignore_comments_from_input">source code</a></span>
</td>
</table>
Removes comments from the input string. Enables the use of examples
in bld.inf.
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Tree link -->
<th> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </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:17 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>