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>
This commit is contained in:
parent
f4e65d1cd0
commit
c471740f5b
|
@ -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)
|
||||
|
|
|
@ -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"""
|
||||
|
|
Loading…
Reference in New Issue