Patchwork [3/4] classes/utility-tasks: make do_listtasks a little more friendly

login
register
mail settings
Submitter Paul Eggleton
Date Feb. 24, 2014, 4:05 p.m.
Message ID <094cc9139bb8c25448db05b35e7e6cd9ef1dda53.1393257867.git.paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/67273/
State New
Headers show

Comments

Paul Eggleton - Feb. 24, 2014, 4:05 p.m.
* Sort the list so it's at least in some form of logical order. I looked
  at sorting by dependencies, but that's a topological sort, and given
  no such function is shipped as part of the python standard libraries
  it would seem excessive to pull one in just for this. In any case, I'm
  not sure that for the data we have this would lead to any particularly
  pleasing result.
* Show the doc values as defined in documentation.conf (where present)
  as a description

Addresses [YOCTO #4856].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/utility-tasks.bbclass | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

Patch

diff --git a/meta/classes/utility-tasks.bbclass b/meta/classes/utility-tasks.bbclass
index 507e0f1..1792f18 100644
--- a/meta/classes/utility-tasks.bbclass
+++ b/meta/classes/utility-tasks.bbclass
@@ -1,13 +1,20 @@ 
 addtask listtasks
 do_listtasks[nostamp] = "1"
 python do_listtasks() {
-    import sys
-    # emit variables and shell functions
-    #bb.data.emit_env(sys.__stdout__, d)
-    # emit the metadata which isnt valid shell
+    taskdescs = {}
+    maxlen = 0
     for e in d.keys():
         if d.getVarFlag(e, 'task'):
-            bb.plain("%s" % e)
+            maxlen = max(maxlen, len(e))
+            if e.endswith('_setscene'):
+                desc = "%s (setscene version)" % (d.getVarFlag(e[:-9], 'doc') or '')
+            else:
+                desc = d.getVarFlag(e, 'doc') or ''
+            taskdescs[e] = desc
+
+    tasks = sorted(taskdescs.keys())
+    for taskname in tasks:
+        bb.plain("%s  %s" % (taskname.ljust(maxlen), taskdescs[taskname]))
 }
 
 CLEANFUNCS ?= ""