bitbake: toaster: use has_images() methods to display images correctly

In the build dashboard, we had issues with showing images correctly,
as we were using the is_image property of targets to determine
whether a target would have image files. This property can
be set to True if a target refers to an image recipe
(e.g. "core-image-minimal"), even if the task used in the build
didn't produce any image files.

By adding has_images() methods to the Target and Build objects,
which count associated Target_Image_File objects,
we can correctly determine whether a target has image files
associated with it, and if any of the targets for a build has
image files. This means that we can screen out the left-hand
"Images" menu options for builds which contained image-related
targets (e.g. "core-image-minimal") but which didn't produce
any images (e.g. "rootfs" task).

[YOCTO #9500]
[YOCTO #9784]

(Bitbake rev: f6bba0ff254d5ed3163151d4b938f3a43c9acb0a)

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>
This commit is contained in:
Elliot Smith
2016-07-12 15:54:50 -07:00
committed by Richard Purdie
parent 150e5588a0
commit 587275eefd
3 changed files with 33 additions and 12 deletions

View File

@@ -33,7 +33,7 @@
$("#build-menu li a").each(function(){
/* Set the page active state in the Build menu */
var currentUrl = window.location.href.split('?')[0];
var currentUrl = window.location.href.split('?')[0];
if (currentUrl === $(this).prop("href")){
$(this).parent().addClass("active");
} else {
@@ -62,11 +62,13 @@
{% endif %} >
<a href="{% url 'builddashboard' build.pk %}">Build summary</a>
</li>
{% if build.target_set.all.0.is_image and build.outcome == 0 %}
{% if build.has_images and build.outcome == build.SUCCEEDED %}
<li class="nav-header">Images</li>
{% block nav-target %}
{% for t in build.get_sorted_target_list %}
<li id="menu-{{t.target}}"><a href="{% url 'target' build.pk t.pk %}">{{t.target}}</a><li>
{% if t.has_images %}
<li id="menu-{{t.target}}"><a href="{% url 'target' build.pk t.pk %}">{{t.target}}</a><li>
{% endif %}
{% endfor %}
{% endblock %}
{% endif %}