From b3c41b1f469a1d4d558e5dbef827322444d3ba54 Mon Sep 17 00:00:00 2001 From: Liping Ke Date: Fri, 3 Jun 2011 08:21:44 +0800 Subject: Introduce new param caches_array into Cache impl. When using hob ui interface, we need extra cache fields. We will save ui required extra cache fields into a separate cache file. This patch introduce this caches_array parameter. It will be used in the extra cache implementation (following patch). Caches_array at least contains CoreRecipeInfo. If users need extra cache fields support, such as 'hob', caches_array will contain more relevant elements such as HobRecipeInfo. (Bitbake rev: d50389ae692377c957afec7c846fc2ce2c070a09) Signed-off-by: Liping Ke --- bitbake/lib/bb/cache.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'bitbake/lib/bb/cache.py') diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 09691d98cc..0620621d0b 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py @@ -245,7 +245,11 @@ class Cache(object): BitBake Cache implementation """ - def __init__(self, data): + def __init__(self, data, caches_array): + # Pass caches_array information into Cache Constructor + # It will be used in later for deciding whether we + # need extra cache file dump/load support + self.caches_array = caches_array self.cachedir = bb.data.getVar("CACHE", data, True) self.clean = set() self.checked = set() @@ -360,7 +364,7 @@ class Cache(object): return bb_data[virtual] @classmethod - def parse(cls, filename, appends, configdata): + def parse(cls, filename, appends, configdata, caches_array): """Parse the specified filename, returning the recipe information""" infos = [] datastores = cls.load_bbfile(filename, appends, configdata) @@ -393,7 +397,7 @@ class Cache(object): infos.append((virtualfn, self.depends_cache[virtualfn])) else: logger.debug(1, "Parsing %s", filename) - return self.parse(filename, appends, configdata) + return self.parse(filename, appends, configdata, self.caches_array) return cached, infos @@ -623,8 +627,9 @@ class CacheData(object): The data structures we compile from the cached data """ - def __init__(self): - CoreRecipeInfo.init_cacheData(self) + def __init__(self, caches_array): + self.caches_array = caches_array + CoreRecipeInfo.init_cacheData(self) # Direct cache variables self.task_queues = {} self.preferred = {} -- cgit v1.2.3-54-g00ecf