[gnome-continuous-yocto/gnomeostree-3.28-rocko: 1803/8267] bitbake: cooker: add BuildInit event



commit c471740f5ba023dccc992438c75f1534950d26af
Author: Elliot Smith <elliot smith intel com>
Date:   Mon Jul 11 16:23:05 2016 +0100

    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>

 bitbake/lib/bb/cooker.py |    4 ++++
 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 a73a55d..d4dd23f 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 a5f026e..1f3200e 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"""


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]