targets.append(self.toolchain)
self.runCommand(["buildTargets", targets, self.default_task])
+ def display_error(self):
+ self.clear_busy()
+ self.emit("command-failed", self.error_msg)
+ self.error_msg = ""
+ if self.building:
+ self.building = False
+
def handle_event(self, event):
if not event:
return
elif isinstance(event, logging.LogRecord):
if event.levelno >= logging.ERROR:
formatter = bb.msg.BBLogFormatter()
- formatter.format(event)
- self.error_msg += event.message + '\n'
+ msg = formatter.format(event)
+ self.error_msg += msg + '\n'
elif isinstance(event, bb.event.TargetsTreeGenerated):
self.current_phase = "data generation"
self.run_next_command()
elif isinstance(event, bb.command.CommandFailed):
self.commands_async = []
- self.clear_busy()
- self.emit("command-failed", self.error_msg)
- self.error_msg = ""
- if self.building:
- self.building = False
+ self.display_error()
elif isinstance(event, (bb.event.ParseStarted,
bb.event.CacheLoadStarted,
bb.event.TreeDataPreparationStarted,
message["title"] = "Parsing recipes: "
self.emit("parsing-completed", message)
+ if self.error_msg and not self.commands_async:
+ self.display_error()
+
return
def init_cooker(self):