[bitbake-devel] [master][zeus][PATCH] uihelper: Track scene tasks again
Peter Kjellerstedt
pkj at axis.com
Sun Feb 9 08:50:34 UTC 2020
Track both scene tasks and run tasks to provide a complete progress
information for all tasks. This avoids the progress bar from stating
"Currently XX running tasks (0 of 0)" while progressing through
thousands of setscene tasks, obviously confusing the user.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
---
bitbake/lib/bb/ui/uihelper.py | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/bitbake/lib/bb/ui/uihelper.py b/bitbake/lib/bb/ui/uihelper.py
index 48d808ae28..ac4ac5a882 100644
--- a/bitbake/lib/bb/ui/uihelper.py
+++ b/bitbake/lib/bb/ui/uihelper.py
@@ -16,6 +16,10 @@ class BBUIHelper:
self.running_pids = []
self.failed_tasks = []
self.pidmap = {}
+ self.scenetasks_current = 0
+ self.scenetasks_total = 0
+ self.runtasks_current = 0
+ self.runtasks_total = 0
self.tasknumber_current = 0
self.tasknumber_total = 0
@@ -49,9 +53,17 @@ class BBUIHelper:
tid = event._fn + ":" + event._task
removetid(event.pid, tid)
self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
+ elif isinstance(event, bb.runqueue.sceneQueueTaskStarted):
+ self.scenetasks_current = event.stats.completed + event.stats.active + event.stats.failed + 1
+ self.scenetasks_total = event.stats.total
+ self.tasknumber_current = self.scenetasks_current + self.runtasks_current
+ self.tasknumber_total = self.scenetasks_total + self.runtasks_total
+ self.needUpdate = True
elif isinstance(event, bb.runqueue.runQueueTaskStarted):
- self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + 1
- self.tasknumber_total = event.stats.total
+ self.runtasks_current = event.stats.completed + event.stats.active + event.stats.failed + 1
+ self.runtasks_total = event.stats.total
+ self.tasknumber_current = self.scenetasks_current + self.runtasks_current
+ self.tasknumber_total = self.scenetasks_total + self.runtasks_total
self.needUpdate = True
elif isinstance(event, bb.build.TaskProgress):
if event.pid > 0 and event.pid in self.pidmap:
--
2.21.1
More information about the bitbake-devel
mailing list