diff options
author | Elliot Smith <elliot.smith@intel.com> | 2016-07-11 16:23:05 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-11 00:09:26 +0100 |
commit | c471740f5ba023dccc992438c75f1534950d26af (patch) | |
tree | 764bf652494355fc87e0a186414a23e9dfefd88f /bitbake/lib/bb | |
parent | f4e65d1cd0ee4e847d286aa88639d7aac5bff094 (diff) | |
download | openembedded-core-contrib-c471740f5ba023dccc992438c75f1534950d26af.tar.gz |
bitbake: cooker: add BuildInit event
In situations where a bitbake run fails before the build
properly starts and BuildStarted is fired, a UI has no way
to get at the targets passed to the build. This makes it
difficult for the UI to report on the targets which failed.
Fire a BuildInit event before running buildTargets() or
buildFile(). This enables a UI to capture targets passed to
buildTargets(), even if the build fails (e.g. the targets
themselves are invalid).
[YOCTO #8440]
(Bitbake rev: ac02fda870965bf7d44ff5688eda54d2d11ab9c7)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 4 | ||||
-rw-r--r-- | bitbake/lib/bb/event.py | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index a73a55de96..d4dd23f09c 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -1235,6 +1235,7 @@ class BBCooker: """ Build the file matching regexp buildfile """ + bb.event.fire(bb.event.BuildInit(), self.expanded_data) # Too many people use -b because they think it's how you normally # specify a target to be built, so show a warning @@ -1377,6 +1378,9 @@ class BBCooker: if not task.startswith("do_"): task = "do_%s" % task + packages = ["%s:%s" % (target, task) for target in targets] + bb.event.fire(bb.event.BuildInit(packages), self.expanded_data) + taskdata, runlist, fulltargetlist = self.buildTaskData(targets, task, self.configuration.abort) buildname = self.data.getVar("BUILDNAME", False) diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index a5f026e151..1f3200e196 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -382,7 +382,11 @@ class BuildBase(Event): - +class BuildInit(BuildBase): + """buildFile or buildTargets was invoked""" + def __init__(self, p=[]): + name = None + BuildBase.__init__(self, name, p) class BuildStarted(BuildBase, OperationStarted): """bbmake build run started""" |