summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/toasterui.py
diff options
context:
space:
mode:
authorElliot Smith <elliot.smith@intel.com>2016-07-12 15:54:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-19 08:56:51 +0100
commit00c2c0be5ead435601a21a676401674b7045f6f0 (patch)
tree32295fe980f44dfae3353ed7bf58691aee356ecb /bitbake/lib/bb/ui/toasterui.py
parentf39ae146eadf92f650ed6340158e780a65d483b1 (diff)
downloadpoky-00c2c0be5ead435601a21a676401674b7045f6f0.tar.gz
bitbake: toaster: improve scan for SDK artifacts
SDK artifacts were previously picked up by toaster.bbclass and notified to buildinfohelper (via toasterui). The artifacts were then added to the Build object, so that it wasn't clear which artifact went with which target; we were also unable to attach SDK artifacts to a Build if they had already been attached to a previous build. Now, toaster.bbclass just notifies the TOOLCHAIN_OUTPUTNAME when a populate_sdk* target completes. The scan is moved to buildinfohelper, where we search the SDK deploy directory for files matching TOOLCHAIN_OUTPUTNAME and attach them to targets (not builds). If an SDK file is not produced by a target, we now look for a similar, previously-run target which did produce artifacts. If there is one, we clone the SDK artifacts from that target onto the current one. This all means that we can show SDK artifacts by target, and should always get artifacts associated with a target, regardless of whether it really build them. This requires an additional model, TargetSDKFile, which tracks the size and path of SDK artifact files with respect to Target objects. [YOCTO #8556] (Bitbake rev: 5e650c611605507e1e0d1588cd5eb6535c2d34fc) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/toasterui.py')
-rw-r--r--bitbake/lib/bb/ui/toasterui.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py
index d8bccdb81c..f399a7d316 100644
--- a/bitbake/lib/bb/ui/toasterui.py
+++ b/bitbake/lib/bb/ui/toasterui.py
@@ -364,7 +364,8 @@ def main(server, eventHandler, params):
364 errorcode = 1 364 errorcode = 1
365 logger.error("Command execution failed: %s", event.error) 365 logger.error("Command execution failed: %s", event.error)
366 elif isinstance(event, bb.event.BuildCompleted): 366 elif isinstance(event, bb.event.BuildCompleted):
367 buildinfohelper.scan_build_artifacts() 367 buildinfohelper.scan_image_artifacts()
368 buildinfohelper.clone_required_sdk_artifacts()
368 369
369 # turn off logging to the current build log 370 # turn off logging to the current build log
370 _close_build_log(build_log) 371 _close_build_log(build_log)
@@ -412,8 +413,8 @@ def main(server, eventHandler, params):
412 buildinfohelper.store_target_package_data(event) 413 buildinfohelper.store_target_package_data(event)
413 elif event.type == "MissedSstate": 414 elif event.type == "MissedSstate":
414 buildinfohelper.store_missed_state_tasks(event) 415 buildinfohelper.store_missed_state_tasks(event)
415 elif event.type == "ArtifactFileSize": 416 elif event.type == "SDKArtifactInfo":
416 buildinfohelper.update_artifact_image_file(event) 417 buildinfohelper.scan_sdk_artifacts(event)
417 elif event.type == "SetBRBE": 418 elif event.type == "SetBRBE":
418 buildinfohelper.brbe = buildinfohelper._get_data_from_event(event) 419 buildinfohelper.brbe = buildinfohelper._get_data_from_event(event)
419 elif event.type == "OSErrorException": 420 elif event.type == "OSErrorException":