diff options
-rw-r--r-- | bitbake/lib/bb/event.py | 27 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/knotty.py | 15 |
2 files changed, 40 insertions, 2 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 9b4a4f97b5..a5f026e151 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
@@ -647,6 +647,33 @@ class MetadataEvent(Event): | |||
647 | self.type = eventtype | 647 | self.type = eventtype |
648 | self._localdata = eventdata | 648 | self._localdata = eventdata |
649 | 649 | ||
650 | class ProcessStarted(Event): | ||
651 | """ | ||
652 | Generic process started event (usually part of the initial startup) | ||
653 | where further progress events will be delivered | ||
654 | """ | ||
655 | def __init__(self, processname, total): | ||
656 | Event.__init__(self) | ||
657 | self.processname = processname | ||
658 | self.total = total | ||
659 | |||
660 | class ProcessProgress(Event): | ||
661 | """ | ||
662 | Generic process progress event (usually part of the initial startup) | ||
663 | """ | ||
664 | def __init__(self, processname, progress): | ||
665 | Event.__init__(self) | ||
666 | self.processname = processname | ||
667 | self.progress = progress | ||
668 | |||
669 | class ProcessFinished(Event): | ||
670 | """ | ||
671 | Generic process finished event (usually part of the initial startup) | ||
672 | """ | ||
673 | def __init__(self, processname): | ||
674 | Event.__init__(self) | ||
675 | self.processname = processname | ||
676 | |||
650 | class SanityCheck(Event): | 677 | class SanityCheck(Event): |
651 | """ | 678 | """ |
652 | Event to run sanity checks, either raise errors or generate events as return status. | 679 | Event to run sanity checks, either raise errors or generate events as return status. |
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py index 2513501500..6fdaafedb7 100644 --- a/bitbake/lib/bb/ui/knotty.py +++ b/bitbake/lib/bb/ui/knotty.py | |||
@@ -90,7 +90,7 @@ class NonInteractiveProgress(object): | |||
90 | self.msg = msg | 90 | self.msg = msg |
91 | self.maxval = maxval | 91 | self.maxval = maxval |
92 | 92 | ||
93 | def start(self): | 93 | def start(self, update=True): |
94 | self.fobj.write("%s..." % self.msg) | 94 | self.fobj.write("%s..." % self.msg) |
95 | self.fobj.flush() | 95 | self.fobj.flush() |
96 | return self | 96 | return self |
@@ -304,7 +304,7 @@ _evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.Lo | |||
304 | "bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted", | 304 | "bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted", |
305 | "bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed", | 305 | "bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed", |
306 | "bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent", | 306 | "bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent", |
307 | "bb.build.TaskProgress"] | 307 | "bb.build.TaskProgress", "bb.event.ProcessStarted", "bb.event.ProcessProgress", "bb.event.ProcessFinished"] |
308 | 308 | ||
309 | def main(server, eventHandler, params, tf = TerminalFilter): | 309 | def main(server, eventHandler, params, tf = TerminalFilter): |
310 | 310 | ||
@@ -579,6 +579,17 @@ def main(server, eventHandler, params, tf = TerminalFilter): | |||
579 | if isinstance(event, bb.event.DepTreeGenerated): | 579 | if isinstance(event, bb.event.DepTreeGenerated): |
580 | continue | 580 | continue |
581 | 581 | ||
582 | if isinstance(event, bb.event.ProcessStarted): | ||
583 | parseprogress = new_progress(event.processname, event.total) | ||
584 | parseprogress.start(False) | ||
585 | continue | ||
586 | if isinstance(event, bb.event.ProcessProgress): | ||
587 | parseprogress.update(event.progress) | ||
588 | continue | ||
589 | if isinstance(event, bb.event.ProcessFinished): | ||
590 | parseprogress.finish() | ||
591 | continue | ||
592 | |||
582 | # ignore | 593 | # ignore |
583 | if isinstance(event, (bb.event.BuildBase, | 594 | if isinstance(event, (bb.event.BuildBase, |
584 | bb.event.MetadataEvent, | 595 | bb.event.MetadataEvent, |