diff options
Diffstat (limited to 'lib/bb/cooker.py')
-rw-r--r-- | lib/bb/cooker.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 361bc88a9..5d01af31a 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1205,8 +1205,9 @@ class BBCooker: if not self.parser.parse_next(): collectlog.debug(1, "parsing complete") - self.show_appends_with_no_recipes() - self.buildDepgraph() + if not self.parser.error: + self.show_appends_with_no_recipes() + self.buildDepgraph() self.state = state.running return None @@ -1601,6 +1602,7 @@ class CookerParser(object): self.skipped, self.masked, self.virtuals, self.error, self.total) + bb.event.fire(event, self.cfgdata) self.feeder_quit.put(None) for process in self.processes: @@ -1658,20 +1660,25 @@ class CookerParser(object): self.shutdown() return False except ParsingFailure as exc: + self.error += 1 logger.error('Unable to parse %s: %s' % (exc.recipe, bb.exceptions.to_string(exc.realexception))) self.shutdown(clean=False) except bb.parse.ParseError as exc: + self.error += 1 logger.error(str(exc)) self.shutdown(clean=False) except bb.data_smart.ExpansionError as exc: + self.error += 1 _, value, _ = sys.exc_info() logger.error('ExpansionError during parsing %s: %s', value.recipe, str(exc)) self.shutdown(clean=False) except SyntaxError as exc: + self.error += 1 logger.error('Unable to parse %s', exc.recipe) self.shutdown(clean=False) except Exception as exc: + self.error += 1 etype, value, tb = sys.exc_info() logger.error('Unable to parse %s', value.recipe, exc_info=(etype, value, exc.traceback)) |