diff options
Diffstat (limited to 'bitbake/lib/bb/ui/buildinfohelper.py')
-rw-r--r-- | bitbake/lib/bb/ui/buildinfohelper.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 92d1a1c394..46be5a50e4 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py | |||
@@ -1663,6 +1663,36 @@ class BuildInfoHelper(object): | |||
1663 | break | 1663 | break |
1664 | return endswith | 1664 | return endswith |
1665 | 1665 | ||
1666 | def scan_task_artifacts(self, event): | ||
1667 | """ | ||
1668 | The 'TaskArtifacts' event passes the manifest file content for the | ||
1669 | tasks 'do_deploy', 'do_image_complete', 'do_populate_sdk', and | ||
1670 | 'do_populate_sdk_ext'. The first two will be implemented later. | ||
1671 | """ | ||
1672 | task_vars = BuildInfoHelper._get_data_from_event(event) | ||
1673 | task_name = task_vars['task'][task_vars['task'].find(':')+1:] | ||
1674 | task_artifacts = task_vars['artifacts'] | ||
1675 | |||
1676 | if task_name in ['do_populate_sdk', 'do_populate_sdk_ext']: | ||
1677 | targets = [target for target in self.internal_state['targets'] \ | ||
1678 | if target.task == task_name[3:]] | ||
1679 | if not targets: | ||
1680 | logger.warning("scan_task_artifacts: SDK targets not found: %s\n", task_name) | ||
1681 | return | ||
1682 | for artifact_path in task_artifacts: | ||
1683 | if not os.path.isfile(artifact_path): | ||
1684 | logger.warning("scan_task_artifacts: artifact file not found: %s\n", artifact_path) | ||
1685 | continue | ||
1686 | for target in targets: | ||
1687 | # don't record the file if it's already been added | ||
1688 | # to this target | ||
1689 | matching_files = TargetSDKFile.objects.filter( | ||
1690 | target=target, file_name=artifact_path) | ||
1691 | if matching_files.count() == 0: | ||
1692 | artifact_size = os.stat(artifact_path).st_size | ||
1693 | self.orm_wrapper.save_target_sdk_file( | ||
1694 | target, artifact_path, artifact_size) | ||
1695 | |||
1666 | def _get_image_files(self, deploy_dir_image, image_name, image_file_extensions): | 1696 | def _get_image_files(self, deploy_dir_image, image_name, image_file_extensions): |
1667 | """ | 1697 | """ |
1668 | Find files in deploy_dir_image whose basename starts with the | 1698 | Find files in deploy_dir_image whose basename starts with the |