diff --git a/buildstream/_frontend/app.py b/buildstream/_frontend/app.py index 5c13bf0bfce6e178969222df96257950dcab5fdb..1550fbcb3199c249f41e80270d5f4eb73cd48271 100644 --- a/buildstream/_frontend/app.py +++ b/buildstream/_frontend/app.py @@ -269,6 +269,9 @@ class App(): else: self._message(MessageType.FAIL, session_name, elapsed=elapsed) + # Notify session failure + self._notify("{} failed".format(session_name), "{}".format(e)) + if self._started: self._print_summary() @@ -286,6 +289,9 @@ class App(): if self._started: self._print_summary() + # Notify session success + self._notify("{} succeeded".format(session_name), "") + # init_project() # # Initialize a new BuildStream project, either with the explicitly passed options, @@ -419,6 +425,12 @@ class App(): # Local Functions # ############################################################ + # Local function for calling the notify() virtual method + # + def _notify(self, title, text): + if self.interactive: + self.notify(title, text) + # Local message propagator # def _message(self, message_type, message, **kwargs): @@ -571,8 +583,8 @@ class App(): while choice not in ['continue', 'quit', 'terminate', 'retry']: click.echo(summary, err=True) - self.notify("BuildStream failure", "{} on element {}" - .format(failure.action_name, element.name)) + self._notify("BuildStream failure", "{} on element {}" + .format(failure.action_name, element.name)) try: choice = click.prompt("Choice:", default='continue', err=True,