summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-09-01 11:56:03 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-04 00:07:29 +0100
commit9428b19a7dd1d265d9f3211004391abe33ea0224 (patch)
tree85d1b03ec2861ce567e5ca34d713edf3a2722cfb
parent25c46772a85384144e1fb1ecad3b6956c67c4e07 (diff)
downloadpoky-9428b19a7dd1d265d9f3211004391abe33ea0224.tar.gz
toaster: fire TaskArtifacts event
Fire TaskArtifact MetaData event for deployment tasks when task either completed or skipped. Event contains full task id (recipe+task) and list of deployment artifacts from sstate manifest. This should allow Toaster to always get notified about deployment artifacts produced by the build. [YOCTO #9869] (From OE-Core rev: 9b08503eabf78bc1b114416523b41dcce3449f58) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/toaster.bbclass17
1 files changed, 17 insertions, 0 deletions
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
index 972efb94e4..4bddf34e9c 100644
--- a/meta/classes/toaster.bbclass
+++ b/meta/classes/toaster.bbclass
@@ -324,6 +324,20 @@ python toaster_buildhistory_dump() {
324 324
325} 325}
326 326
327# get list of artifacts from sstate manifest
328python toaster_artifacts() {
329 if e.taskname in ["do_deploy", "do_image_complete", "do_populate_sdk", "do_populate_sdk_ext"]:
330 d2 = d.createCopy()
331 d2.setVar('FILE', e.taskfile)
332 d2.setVar('SSTATE_MANMACH', d2.expand("${MACHINE}"))
333 manifest = oe.sstatesig.sstate_get_manifest_filename(e.taskname[3:], d2)[0]
334 if os.access(manifest, os.R_OK):
335 with open(manifest) as fmanifest:
336 artifacts = [fname.strip() for fname in fmanifest]
337 data = {"task": e.taskid, "artifacts": artifacts}
338 bb.event.fire(bb.event.MetadataEvent("TaskArtifacts", data), d2)
339}
340
327# set event handlers 341# set event handlers
328addhandler toaster_layerinfo_dumpdata 342addhandler toaster_layerinfo_dumpdata
329toaster_layerinfo_dumpdata[eventmask] = "bb.event.TreeDataPreparationCompleted" 343toaster_layerinfo_dumpdata[eventmask] = "bb.event.TreeDataPreparationCompleted"
@@ -334,6 +348,9 @@ toaster_collect_task_stats[eventmask] = "bb.event.BuildCompleted bb.build.TaskSu
334addhandler toaster_buildhistory_dump 348addhandler toaster_buildhistory_dump
335toaster_buildhistory_dump[eventmask] = "bb.event.BuildCompleted" 349toaster_buildhistory_dump[eventmask] = "bb.event.BuildCompleted"
336 350
351addhandler toaster_artifacts
352toaster_artifacts[eventmask] = "bb.runqueue.runQueueTaskSkipped bb.runqueue.runQueueTaskCompleted"
353
337do_packagedata_setscene[postfuncs] += "toaster_package_dumpdata " 354do_packagedata_setscene[postfuncs] += "toaster_package_dumpdata "
338do_packagedata_setscene[vardepsexclude] += "toaster_package_dumpdata " 355do_packagedata_setscene[vardepsexclude] += "toaster_package_dumpdata "
339 356