diff options
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 5 | ||||
-rw-r--r-- | bitbake/lib/bb/event.py | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 1797a1d4ca..c8ff3ce085 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -2223,7 +2223,7 @@ class CookerParser(object): | |||
2223 | 2223 | ||
2224 | self.results = itertools.chain(self.results, self.parse_generator()) | 2224 | self.results = itertools.chain(self.results, self.parse_generator()) |
2225 | 2225 | ||
2226 | def shutdown(self, clean=True): | 2226 | def shutdown(self, clean=True, eventmsg="Parsing halted due to errors"): |
2227 | if not self.toparse: | 2227 | if not self.toparse: |
2228 | return | 2228 | return |
2229 | if self.haveshutdown: | 2229 | if self.haveshutdown: |
@@ -2238,6 +2238,7 @@ class CookerParser(object): | |||
2238 | 2238 | ||
2239 | bb.event.fire(event, self.cfgdata) | 2239 | bb.event.fire(event, self.cfgdata) |
2240 | else: | 2240 | else: |
2241 | bb.event.fire(bb.event.ParseError(eventmsg), self.cfgdata) | ||
2241 | bb.error("Parsing halted due to errors, see error messages above") | 2242 | bb.error("Parsing halted due to errors, see error messages above") |
2242 | 2243 | ||
2243 | # Cleanup the queue before call process.join(), otherwise there might be | 2244 | # Cleanup the queue before call process.join(), otherwise there might be |
@@ -2355,7 +2356,7 @@ class CookerParser(object): | |||
2355 | except bb.parse.ParseError as exc: | 2356 | except bb.parse.ParseError as exc: |
2356 | self.error += 1 | 2357 | self.error += 1 |
2357 | logger.error(str(exc)) | 2358 | logger.error(str(exc)) |
2358 | self.shutdown(clean=False) | 2359 | self.shutdown(clean=False, eventmsg=str(exc)) |
2359 | return False | 2360 | return False |
2360 | except bb.data_smart.ExpansionError as exc: | 2361 | except bb.data_smart.ExpansionError as exc: |
2361 | self.error += 1 | 2362 | self.error += 1 |
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 37cc630c63..0d0e0a68aa 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
@@ -856,3 +856,11 @@ class FindSigInfoResult(Event): | |||
856 | def __init__(self, result): | 856 | def __init__(self, result): |
857 | Event.__init__(self) | 857 | Event.__init__(self) |
858 | self.result = result | 858 | self.result = result |
859 | |||
860 | class ParseError(Event): | ||
861 | """ | ||
862 | Event to indicate parse failed | ||
863 | """ | ||
864 | def __init__(self, msg): | ||
865 | super().__init__() | ||
866 | self._msg = msg | ||