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>Class Hierarchy</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 bgcolor="#70b0f0" class="navbar-select"
> Trees </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%"> </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="class-tree.html"
target="_top">no frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<center><b>
[ <a href="module-tree.html">Module Hierarchy</a>
| <a href="class-tree.html">Class Hierarchy</a> ]
</b></center><br />
<h1 class="epydoc">Class Hierarchy</h1>
<ul class="nomargin-top">
<li> <strong class="uidlink">UserDict.DictMixin</strong>
</li>
<li> <strong class="uidlink">UserDict.UserDict</strong>
</li>
<li> <strong class="uidlink"><a href="archive.selectors.DistributionPolicySelector-class.html">archive.selectors.DistributionPolicySelector</a></strong>:
<em class="summary">A selector that selects files based on other criteria.</em>
</li>
<li> <strong class="uidlink"><a href="archive.selectors.SymbianPolicySelector-class.html">archive.selectors.SymbianPolicySelector</a></strong>:
<em class="summary">A selector that selects files based on other criteria.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.atsconfigparser.ATSConfigParser-class.html">ats3.atsconfigparser.ATSConfigParser</a></strong>
</li>
<li> <strong class="uidlink"><a href="ats3.atsconfigparser.TestXML-class.html">ats3.atsconfigparser.TestXML</a></strong>
</li>
<li> <strong class="uidlink"><a href="build.ec.history.HistoryFileManager-class.html">build.ec.history.HistoryFileManager</a></strong>:
<em class="summary">To manage EC history files.</em>
</li>
<li> <strong class="uidlink"><a href="buildtools.AbstractOutputWriter-class.html">buildtools.AbstractOutputWriter</a></strong>:
<em class="summary">Base class which contains define an AbstractOutputWriter.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.UpdateTemplate-class.html">ccm.UpdateTemplate</a></strong>:
<em class="summary">Allow to access Update Template property using Release and Purpose.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.conflict.Conflict-class.html">ccm.conflict.Conflict</a></strong>
</li>
<li> <strong class="uidlink"><a href="ccm.conflict.ObjectAndTask-class.html">ccm.conflict.ObjectAndTask</a></strong>:
<em class="summary">Wrapper object which link an object to a task.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.conflict.TaskModel-class.html">ccm.conflict.TaskModel</a></strong>:
<em class="summary">Task wrapper object which contains objectandtask object.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.extra.CachedProxySession-class.html">ccm.extra.CachedProxySession</a></strong>:
<em class="summary">Proxy session which will cleanup the session and free it from the provider</em>
</li>
<li> <strong class="uidlink"><a href="ccm.extra.SessionProvider-class.html">ccm.extra.SessionProvider</a></strong>
</li>
<li> <strong class="uidlink"><a href="ccm.extra.__FileSnapshot-class.html">ccm.extra.__FileSnapshot</a></strong>
</li>
<li> <strong class="uidlink"><a href="ccm.extra.__ProjectSnapshot-class.html">ccm.extra.__ProjectSnapshot</a></strong>
</li>
<li> <strong class="uidlink"><a href="dependancygraph.Library-class.html">dependancygraph.Library</a></strong>
</li>
<li> <strong class="uidlink"><a href="dependancygraph.ModuleGroup-class.html">dependancygraph.ModuleGroup</a></strong>
</li>
<li> <strong class="uidlink"><a href="dependancygraph.ReadIvyConfig-class.html">dependancygraph.ReadIvyConfig</a></strong>
</li>
<li> <strong class="uidlink"><a href="fileutils.Lock-class.html">fileutils.Lock</a></strong>
</li>
<li> <strong class="uidlink"><a href="flash_config.FlashConfigurationWriter-class.html">flash_config.FlashConfigurationWriter</a></strong>:
<em class="summary">Builder that creates the flash configuration files</em>
</li>
<li> <strong class="uidlink"><a href="flash_config.ImagePack-class.html">flash_config.ImagePack</a></strong>:
<em class="summary">Local storage of image type</em>
</li>
<li> <strong class="uidlink"><a href="helium.output.widgets.Widget-class.html">helium.output.widgets.Widget</a></strong>
</li>
<li> <strong class="uidlink"><a href="helium.outputer.Configuration-class.html">helium.outputer.Configuration</a></strong>
</li>
<li> <strong class="uidlink"><a href="helium.outputer.XML2XHTML-class.html">helium.outputer.XML2XHTML</a></strong>
</li>
<li> <strong class="uidlink"><a href="integration.templatebuilder.TemplateBuilder-class.html">integration.templatebuilder.TemplateBuilder</a></strong>:
<em class="summary">This class implements a template builder.</em>
</li>
<li> <strong class="uidlink"><a href="localisation.Languages-class.html">localisation.Languages</a></strong>:
<em class="summary">Languages.xml file parser.</em>
</li>
<li> <strong class="uidlink"><a href="log2xml.Stack-class.html">log2xml.Stack</a></strong>:
<em class="summary">Bottomless stack.</em>
</li>
<li> <strong class="uidlink">logging.Filterer</strong>:
<em class="summary">A base class for loggers and handlers which allows them to share
common code.</em>
</li>
<li> <strong class="uidlink">object</strong>:
<em class="summary">The most base type</em>
<ul>
<li> <strong class="uidlink"><a href="build.io.RombuildLogBinarySizeReader-class.html">build.io.RombuildLogBinarySizeReader</a></strong>:
<em class="summary">Reader that parses a Symbian ROM build log and extracts binary sizes.</em>
</li>
<li> <strong class="uidlink"><a href="rtfutils.RTFUtils-class.html">rtfutils.RTFUtils</a></strong>
</li>
<li> <strong class="uidlink"><a href="configuration_model.Item-class.html">configuration_model.Item</a></strong>
</li>
<li> <strong class="uidlink"><a href="preparation.PreparationAction-class.html">preparation.PreparationAction</a></strong>:
<em class="summary">Implements an abstract preparation function.</em>
</li>
<li> <strong class="uidlink"><a href="configuration_model.PropertyDef-class.html">configuration_model.PropertyDef</a></strong>:
<em class="summary">The model definition of a property.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.aste.AsteTestPlan-class.html">ats3.aste.AsteTestPlan</a></strong>:
<em class="summary">Tells ASTE server what to test and how.</em>
</li>
<li> <strong class="uidlink"><a href="configuration.ConfigurationBuilder-class.html">configuration.ConfigurationBuilder</a></strong>:
<em class="summary">Base class for builders that can create Configuration objects.</em>
</li>
<li> <strong class="uidlink"><a href="sysdef.api.SystemDefinition-class.html">sysdef.api.SystemDefinition</a></strong>:
<em class="summary">Logical representation of the System Definition.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.parsers.CppParser-class.html">ats3.parsers.CppParser</a></strong>:
<em class="summary">Parser for CPP tool output.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.BOMXMLWriter-class.html">build.model.BOMXMLWriter</a></strong>
</li>
<li> <strong class="uidlink"><a href="configuration.Configuration-class.html">configuration.Configuration</a></strong>:
<em class="summary">Base Configuration objects.</em>
</li>
<li> <strong class="uidlink"><a href="archive.mappers.Mapper-class.html">archive.mappers.Mapper</a></strong>:
<em class="summary">Mapper Abstract class.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.dropgenerator.Ats3TestDropGenerator-class.html">ats3.dropgenerator.Ats3TestDropGenerator</a></strong>:
<em class="summary">Generate test drop zip file for ATS3.</em>
</li>
<li> <strong class="uidlink"><a href="fileutils.AbstractScanner-class.html">fileutils.AbstractScanner</a></strong>:
<em class="summary">This class implements all the required infrastructure for filescanning.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.aste.AsteComponentParser-class.html">ats3.aste.AsteComponentParser</a></strong>:
<em class="summary">Add information to the test_plan</em>
</li>
<li> <strong class="uidlink"><a href="buildtools.PreBuilder-class.html">buildtools.PreBuilder</a></strong>:
<em class="summary">This class implements an abstract prebuilder.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.Flag-class.html">build.model.Flag</a></strong>:
<em class="summary">A compilation flag.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.testconfigurator.Ats3ComponentParser-class.html">ats3.testconfigurator.Ats3ComponentParser</a></strong>:
<em class="summary">Parse Symbian SW component for ATS3 testing related information.</em>
</li>
<li> <strong class="uidlink"><a href="helium.documentation.APIDeltaWriter-class.html">helium.documentation.APIDeltaWriter</a></strong>:
<em class="summary">Creates an XML delta of the Helium API between releases.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.SessionCreator-class.html">build.model.SessionCreator</a></strong>:
<em class="summary">Session Creator object.</em>
</li>
<li> <strong class="uidlink">dict</strong>:
<em class="summary">dict() -> new empty dictionary.</em>
</li>
<li> <strong class="uidlink"><a href="log2xml.LogWriter-class.html">log2xml.LogWriter</a></strong>:
<em class="summary">XML Log writer.</em>
</li>
<li> <strong class="uidlink"><a href="symrec.ReleaseMetadata-class.html">symrec.ReleaseMetadata</a></strong>:
<em class="summary">Create or read Metadata XML from SYMREC/SYMDEC.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.Query-class.html">ccm.Query</a></strong>:
<em class="summary">This object wrap a synergy query, it takes a query as input as well as the
attribute you want as output, and get them translated using the model configuration.</em>
</li>
<li> <strong class="uidlink"><a href="comments.CommentParser-class.html">comments.CommentParser</a></strong>:
<em class="summary">Parse branch information.</em>
</li>
<li> <strong class="uidlink"><a href="configuration._Key-class.html">configuration._Key</a></strong>:
<em class="summary">A hierarchical configuration key.</em>
</li>
<li> <strong class="uidlink"><a href="configuration_model.GroupDef-class.html">configuration_model.GroupDef</a></strong>:
<em class="summary">The model definition of a group of properties.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.Result-class.html">ccm.Result</a></strong>:
<em class="summary">Class that abstracts ccm call result handling.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.parsers.MmpFileParser-class.html">ats3.parsers.MmpFileParser</a></strong>:
<em class="summary">Parser for .mmp files.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.parsers.BldFileParser-class.html">ats3.parsers.BldFileParser</a></strong>:
<em class="summary">Parser for bld.inf files.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.BOMDeltaXMLWriter-class.html">build.model.BOMDeltaXMLWriter</a></strong>
</li>
<li> <strong class="uidlink"><a href="helium.logger._CustomizePrint-class.html">helium.logger._CustomizePrint</a></strong>
</li>
<li> <strong class="uidlink"><a href="helium.logger.Logger-class.html">helium.logger.Logger</a></strong>
</li>
<li> <strong class="uidlink"><a href="configuration_model.DataModel-class.html">configuration_model.DataModel</a></strong>:
<em class="summary">A model of the configuration properties.</em>
</li>
<li> <strong class="uidlink"><a href="preparation.PreparationBuilder-class.html">preparation.PreparationBuilder</a></strong>:
<em class="summary">Creates an updated work area from a configuration.</em>
</li>
<li> <strong class="uidlink"><a href="buildtools.Task-class.html">buildtools.Task</a></strong>:
<em class="summary">Abstract Task object.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.aste.AsteTestDropGenerator-class.html">ats3.aste.AsteTestDropGenerator</a></strong>:
<em class="summary">Generate test drop zip file for ATS3.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.parsers.PkgFileParser-class.html">ats3.parsers.PkgFileParser</a></strong>:
<em class="summary">src path of the file</em>
</li>
<li> <strong class="uidlink"><a href="imaker.ecore.ContainerBase-class.html">imaker.ecore.ContainerBase</a></strong>:
<em class="summary">Container class that implements a parent relationship.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.FourPartName-class.html">ccm.FourPartName</a></strong>:
<em class="summary">This class handle four part name parsing and validation.</em>
</li>
<li> <strong class="uidlink">list</strong>:
<em class="summary">list() -> new list
list(sequence) -> new list initialized from sequence's items</em>
</li>
<li> <strong class="uidlink"><a href="archive.tools.Tool-class.html">archive.tools.Tool</a></strong>:
<em class="summary">Tool abstract class.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.Project-class.html">build.model.Project</a></strong>:
<em class="summary">An SCM project.</em>
</li>
<li> <strong class="uidlink"><a href="buildtools.CommandList-class.html">buildtools.CommandList</a></strong>:
<em class="summary">This class allows to safely handle Command object into lists</em>
</li>
<li> <strong class="uidlink">exceptions.BaseException</strong>:
<em class="summary">Common base class for all exceptions</em>
<ul>
<li> <strong class="uidlink">exceptions.Exception</strong>:
<em class="summary">Common base class for all non-exit exceptions.</em>
<ul>
<li> <strong class="uidlink"><a href="ccm.CCMException-class.html">ccm.CCMException</a></strong>:
<em class="summary">Base exception that should be raised by methods of this framework.</em>
</li>
<li> <strong class="uidlink"><a href="fileutils.LockFailedException-class.html">fileutils.LockFailedException</a></strong>
</li>
</ul>
</li>
</ul>
</li>
<li> <strong class="uidlink"><a href="build.model.Task-class.html">build.model.Task</a></strong>:
<em class="summary">A task or unit of change from the SCM system.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.Fix-class.html">build.model.Fix</a></strong>:
<em class="summary">A generic fix.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.Ats3TestPlan-class.html">ats3.Ats3TestPlan</a></strong>:
<em class="summary">Tells ATS3 server what to test and how.</em>
</li>
<li> <strong class="uidlink"><a href="ats3.aste.Configuration-class.html">ats3.aste.Configuration</a></strong>:
<em class="summary">ASTE drop generation configuration.</em>
</li>
<li> <strong class="uidlink"><a href="symbian.log.Parser-class.html">symbian.log.Parser</a></strong>:
<em class="summary">Generic Symbian log parser.</em>
</li>
<li> <strong class="uidlink"><a href="ccm.AbstractSession-class.html">ccm.AbstractSession</a></strong>:
<em class="summary">An abstract Synergy session.</em>
</li>
<li> <strong class="uidlink"><a href="integration.quality.PolicyValidator-class.html">integration.quality.PolicyValidator</a></strong>:
<em class="summary">Validate policy files on a hierarchy.</em>
</li>
<li> <strong class="uidlink"><a href="sysdef.api.SysDefElement-class.html">sysdef.api.SysDefElement</a></strong>:
<em class="summary">A generic element of a System Definition.</em>
</li>
<li> <strong class="uidlink"><a href="bsf.BSF-class.html">bsf.BSF</a></strong>:
<em class="summary">Class that parse and abstract a bsf file.</em>
</li>
<li> <strong class="uidlink"><a href="delta_zip.DeltaZipBuilder-class.html">delta_zip.DeltaZipBuilder</a></strong>:
<em class="summary">methods to create the delta zip after all the prep</em>
</li>
<li> <strong class="uidlink"><a href="sysdef.io.FlashImageSizeWriter-class.html">sysdef.io.FlashImageSizeWriter</a></strong>:
<em class="summary">Writes a .csv file listing the content of the flash images.</em>
</li>
<li> <strong class="uidlink"><a href="symrec.MetadataMerger-class.html">symrec.MetadataMerger</a></strong>:
<em class="summary">Merge packages definition to the root metadata.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.BOM-class.html">build.model.BOM</a></strong>:
<em class="summary">The Bill of Materials for a build.</em>
</li>
<li> <strong class="uidlink"><a href="build.model.ICD_ICF-class.html">build.model.ICD_ICF</a></strong>:
<em class="summary">A ICD or ICF patch zip file provided by Symbian.</em>
</li>
<li> <strong class="uidlink"><a href="delta_zip.MD5SignatureBuilder-class.html">delta_zip.MD5SignatureBuilder</a></strong>:
<em class="summary">MD5 CRC creation base class</em>
</li>
<li> <strong class="uidlink"><a href="symrec.ServicePack-class.html">symrec.ServicePack</a></strong>
</li>
<li> <strong class="uidlink"><a href="ats3.Configuration-class.html">ats3.Configuration</a></strong>:
<em class="summary">ATS3 drop generation configuration.</em>
</li>
<li> <strong class="uidlink"><a href="imaker.ecore.Reference-class.html">imaker.ecore.Reference</a></strong>:
<em class="summary">Reference to real instance.</em>
</li>
</ul>
</li>
<li> <strong class="uidlink"><a href="parsedatalistening.Build-class.html">parsedatalistening.Build</a></strong>
</li>
<li> <strong class="uidlink"><a href="parsedatalistening.Target-class.html">parsedatalistening.Target</a></strong>
</li>
<li> <strong class="uidlink"><a href="rom.IMakerRomBuilder-class.html">rom.IMakerRomBuilder</a></strong>:
<em class="summary">Configuration Builder for iMaker tool.</em>
</li>
<li> <strong class="uidlink"><a href="rom.Image-class.html">rom.Image</a></strong>:
<em class="summary">An Image object represents a ROM image, or .fpsx file.</em>
</li>
<li> <strong class="uidlink"><a href="rom.RomBuilder-class.html">rom.RomBuilder</a></strong>:
<em class="summary">Builder that create roms using makefpsx.</em>
</li>
<li> <strong class="uidlink"><a href="validateoverlay.ValidateOverlayInfo-class.html">validateoverlay.ValidateOverlayInfo</a></strong>
</li>
<li> <strong class="uidlink"><a href="vbaconf.AbstractConfigConverter-class.html">vbaconf.AbstractConfigConverter</a></strong>
</li>
<li> <strong class="uidlink"><a href="vbaconf.new_delivery.config_wrapper-class.html">vbaconf.new_delivery.config_wrapper</a></strong>:
<em class="summary">wrapper object to access directly conf property.</em>
</li>
<li> <strong class="uidlink"><a href="version.Version-class.html">version.Version</a></strong>:
<em class="summary">Version template.</em>
</li>
<li> <strong class="uidlink">xml.sax.handler.ContentHandler</strong>:
<em class="summary">Interface for receiving logical document content events.</em>
</li>
</ul>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Tree link -->
<th bgcolor="#70b0f0" class="navbar-select"
> Trees </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:15 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>