summaryrefslogtreecommitdiffstats
path: root/lib/bb/cooker.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bb/cooker.py')
-rw-r--r--lib/bb/cooker.py11
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))