diff options
author | Joshua Lock <josh@linux.intel.com> | 2011-08-09 18:27:51 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-08-12 17:48:13 +0100 |
commit | a98f698fe9f38310024013e58475e6d1447ee154 (patch) | |
tree | ad78da54c4529a43ed224e98a01fd65590c36309 | |
parent | 6c382c2ee7740a5e78b4135648870e5c181ec23f (diff) | |
download | bitbake-a98f698fe9f38310024013e58475e6d1447ee154.tar.gz |
bb/command|cooker: refactor the reparseFiles logic
Turn the reparseFiles logic into a command to reset the cooker's state
machine and a noop which triggers a cache rebuild.
The resetCooker command resets the cookers state machine such that a cache
update will be triggered by any async command which requires the cache.
The reparseFiles command remains as a noop async command that has the
needcache property set to True so that when called it ensures the cache is
built.
Patch from Richard with the addition of removing the force parameter from
the updateCache method.
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
-rw-r--r-- | lib/bb/command.py | 7 | ||||
-rw-r--r-- | lib/bb/cooker.py | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/lib/bb/command.py b/lib/bb/command.py index 893a6d907..41796f629 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -172,6 +172,13 @@ class CommandsSync: value = params[1] bb.data.setVar(varname, value, command.cooker.configuration.data) + def resetCooker(self, command, params): + """ + Reset the cooker to its initial state, thus forcing a reparse for + any async command that has the needcache property set to True + """ + command.cooker.reset() + class CommandsAsync: """ diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 47a6edd4e..197875054 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1097,8 +1097,8 @@ class BBCooker: self.server_registration_cb(buildTargetsIdle, rq) - def updateCache(self, force=False): - if self.state == state.running and not force: + def updateCache(self): + if self.state == state.running: return if self.state in (state.shutdown, state.stop): @@ -1283,8 +1283,11 @@ class BBCooker: self.state = state.stop def reparseFiles(self): + return + + def reset(self): + self.state = state.initial self.loadConfigurationData() - self.updateCache(force=True) def server_main(cooker, func, *args): cooker.pre_serve() |