From 098f63d6727e3b4db0a8906deee52c75f03047fb Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Fri, 10 Dec 2010 16:53:19 -0700 Subject: Rename command events, adjust compareRevisions - Moved the logic for comparing revisions from cooker into command - Removed 'Cooker' from the event names - Renamed the 'ExitCode' event into CommandExit, and changed CommandFailed to be a subclass of CommandExit (Bitbake rev: c51ed5d7a9971fad6019dac6c35a71b8a54ab16a) Signed-off-by: Chris Larson Signed-off-by: Richard Purdie --- bitbake/lib/bb/command.py | 58 ++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 34 deletions(-) (limited to 'bitbake/lib/bb/command.py') diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py index 30c7240cf2..b88089298c 100644 --- a/bitbake/lib/bb/command.py +++ b/bitbake/lib/bb/command.py @@ -35,12 +35,25 @@ import bb.data async_cmds = {} sync_cmds = {} + +class CommandCompleted(bb.event.Event): + pass + +class CommandExit(bb.event.Event): + def __init__(self, exitcode): + bb.event.Event.__init__(self) + self.exitcode = int(exitcode) + +class CommandFailed(CommandExit): + def __init__(self, message): + self.error = message + CommandExit.__init__(self, 1) + class Command: """ A queue of asynchronous commands for bitbake """ def __init__(self, cooker): - self.cooker = cooker self.cmds_sync = CommandsSync() self.cmds_async = CommandsAsync() @@ -105,11 +118,13 @@ class Command: self.finishAsyncCommand(traceback.format_exc()) return False - def finishAsyncCommand(self, error = None): - if error: - bb.event.fire(CookerCommandFailed(error), self.cooker.configuration.event_data) + def finishAsyncCommand(self, msg=None, code=None): + if msg: + bb.event.fire(CommandFailed(msg), self.cooker.configuration.event_data) + elif code: + bb.event.fire(CommandExit(code), self.cooker.configuration.event_data) else: - bb.event.fire(CookerCommandCompleted(), self.cooker.configuration.event_data) + bb.event.fire(CommandCompleted(), self.cooker.configuration.event_data) self.currentAsyncCommand = None @@ -249,33 +264,8 @@ class CommandsAsync: """ Parse the .bb files """ - command.cooker.compareRevisions() - command.finishAsyncCommand() + if bb.fetch.fetcher_compare_revisions(command.cooker.configuration.data): + command.finishAsyncCommand(code=1) + else: + command.finishAsyncCommand() compareRevisions.needcache = True - -# -# Events -# -class CookerCommandCompleted(bb.event.Event): - """ - Cooker command completed - """ - def __init__(self): - bb.event.Event.__init__(self) - - -class CookerCommandFailed(bb.event.Event): - """ - Cooker command completed - """ - def __init__(self, error): - bb.event.Event.__init__(self) - self.error = error - -class CookerCommandSetExitCode(bb.event.Event): - """ - Set the exit code for a cooker command - """ - def __init__(self, exitcode): - bb.event.Event.__init__(self) - self.exitcode = int(exitcode) -- cgit v1.2.3-54-g00ecf