generic-poky/bitbake/lib/bb
Paul Eggleton ac5e720575 bitbake: lib: implement basic task progress support
For long-running tasks where we have some output from the task that
gives us some idea of the progress of the task (such as a percentage
complete), provide the means to scrape the output for that progress
information and show it to the user in the default knotty terminal
output in the form of a progress bar. This is implemented using a new
TaskProgress event as well as some code we can insert to do output
scanning/filtering.

Any task can fire TaskProgress events; however, if you have a shell task
whose output you wish to scan for progress information, you just need to
set the "progress" varflag on the task. This can be set to:
 * "percent" to just look for a number followed by a % sign
 * "percent:<regex>" to specify your own regex matching a percentage
   value (must have a single group which matches the percentage number)
 * "outof:<regex>" to look for the specified regex matching x out of y
   items completed (must have two groups - first group needs to be x,
   second y).
We can potentially extend this in future but this should be a good
start.

Part of the implementation for [YOCTO #5383].

(Bitbake rev: 0d275fc5b6531957a6189069b04074065bb718a0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08 09:57:26 +01:00
..
fetch2 bitbake: fetch2/wget: attempt checkstatus again if it fails 2016-07-08 09:57:26 +01:00
parse bitbake: parse/ast, event: Ensure we reset registered handlers during parsing 2016-06-15 08:35:07 +01:00
pysh bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
server bitbake: xmlrpc: add parameter use_builtin_types 2016-06-02 08:24:04 +01:00
tests bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
ui bitbake: lib: implement basic task progress support 2016-07-08 09:57:26 +01:00
COW.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
__init__.py bitbake: lib/bb: Set required python 3 version to 3.4.0 2016-06-02 08:24:03 +01:00
build.py bitbake: lib: implement basic task progress support 2016-07-08 09:57:26 +01:00
cache.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
cache_extra.py bitbake: bitbake: cooker: get extra information from recipe cache 2013-09-22 12:19:44 +01:00
checksum.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
codeparser.py bitbake: codeparser: Use hashlib for hashing, not hash() 2016-06-03 13:48:33 +01:00
command.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
compat.py bitbake: compat/server/utils: Jettison pre python 2.7.3 workarounds 2013-06-14 17:26:30 +01:00
cooker.py bitbake: cooker: clean up EvertWriter 2016-06-20 17:23:57 +01:00
cookerdata.py bitbake: cookerdata: print an error if layer dir does not exist 2016-06-03 13:13:30 +01:00
daemonize.py bitbake: daemonize/prserv/tests/fetch: Convert file() -> open() 2016-05-13 13:41:32 +01:00
data.py bitbake: Implement support for per-task exports 2016-05-19 09:05:20 +01:00
data_smart.py bitbake: data_smart/utils: Add 'd' to the context used for better_eval in python expansion 2016-06-13 12:16:10 +01:00
event.py bitbake: parse/ast, event: Ensure we reset registered handlers during parsing 2016-06-15 08:35:07 +01:00
exceptions.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
main.py bitbake: lib/bb/main.py: Fix use of BBPOSTCONF and BBPRECONF 2016-06-09 18:00:58 +01:00
methodpool.py bitbake: event/utils/methodpool: Add a cache of compiled code objects 2015-12-22 00:02:05 +00:00
monitordisk.py bitbake: bitbake: Update logger.warn() -> logger.warning() 2016-05-11 10:34:30 +01:00
msg.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
namedtuple_with_abc.py bitbake: lib/bb/*.py: Typo fixes/grammar/comment fixes, nothing functional. 2014-08-25 08:57:45 +01:00
persist_data.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
process.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
progress.py bitbake: lib: implement basic task progress support 2016-07-08 09:57:26 +01:00
providers.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
runqueue.py bitbake: runqueue: Use tid instead of taskid in find_chains() 2016-06-16 22:42:53 +01:00
shell.py Introduce new param caches_array into Cache impl. 2011-06-07 22:39:52 +01:00
siggen.py bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
taskdata.py bitbake: taskdata/runqueue: Rewrite without use of ID indirection 2016-06-15 08:35:07 +01:00
tinfoil.py bitbake: tinfoil: remove logging handler at shutdown 2015-09-23 22:44:56 +01:00
utils.py bitbake: data_smart/utils: Add 'd' to the context used for better_eval in python expansion 2016-06-13 12:16:10 +01:00