bitbake: toasterui: rename 'targets' to 'recipes'

A recent round of informal user feedback has revealed
that the term 'target' is quite problematic. For
all the users we spoke to the word refers to the
target arch. In Toaster, it refers to the software
you build.

This patch replaces the word 'target' with 'recipe'
across the Toaster interface. This is by no means
self-explanatory, but at least it cannot be confused
with target hardware, and it is also consistent with
the terminology we use in the analysis portion of
the interface.

(Bitbake rev: f4a64c2386a534aae9522629afde219d2aa00817)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Belen Barros Pena 2015-03-26 16:47:02 +00:00 committed by Richard Purdie
parent c6ea812964
commit ddee53e767
6 changed files with 39 additions and 39 deletions

View File

@ -155,7 +155,7 @@ function layerDetailsPageInit (ctx) {
if (!ctx.layerVersion.inCurrentPrj){ if (!ctx.layerVersion.inCurrentPrj){
if (ctx.numTargets > 0) { if (ctx.numTargets > 0) {
var text = " Add the "+ctx.layerVersion.name+" layer to your project "+ var text = " Add the "+ctx.layerVersion.name+" layer to your project "+
"to enable these targets"; "to enable these recipes";
addRmLayerBtn.text(text); addRmLayerBtn.text(text);
addRmLayerBtn.prepend("<span class=\"icon-plus\"></span>"); addRmLayerBtn.prepend("<span class=\"icon-plus\"></span>");
} else { } else {

View File

@ -100,9 +100,9 @@
<p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p> <p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p>
</div> </div>
<li id="targets-form"> <li id="targets-form">
<h6>Target(s):</h6> <h6>Recipe(s):</h6>
<form> <form>
<input type="text" class="input-xlarge" id="build-target-input" placeholder="Type a target name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" /> <input type="text" class="input-xlarge" id="build-target-input" placeholder="Type a recipe name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" />
<div> <div>
<a class="btn btn-primary" id="build-button" disabled="disabled" data-project-id="{{project.id}}">Build</a> <a class="btn btn-primary" id="build-button" disabled="disabled" data-project-id="{{project.id}}">Build</a>
</div> </div>

View File

@ -84,7 +84,7 @@
<a data-toggle="tab" href="#information" id="details-tab">Layer details</a> <a data-toggle="tab" href="#information" id="details-tab">Layer details</a>
</li> </li>
<li> <li>
<a data-toggle="tab" href="#targets" id="targets-tab">Targets ({{total_targets}})</a> <a data-toggle="tab" href="#targets" id="targets-tab">Recipes ({{total_targets}})</a>
</li> </li>
<li> <li>
<a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a> <a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a>
@ -190,8 +190,8 @@
<div name="targets" id="targets" class="tab-pane"> <div name="targets" id="targets" class="tab-pane">
{% if total_targets == 0 %} {% if total_targets == 0 %}
<div class="alert alert-info"> <div class="alert alert-info">
<p>Toaster does not have target information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
<p>Toaster learns about layers when you build them. If this layer provides any targets, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p> <p>Toaster learns about layers when you build them. If this layer provides any recipes, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p>
</div> </div>
{% else %} {% else %}
@ -210,7 +210,7 @@
<form class="navbar-search input-append pull-left"> <form class="navbar-search input-append pull-left">
{% endif %} {% endif %}
<input type="text" id="target-search" name="targets_search" placeholder="Search targets" class="input-xlarge" value="{{request.GET.targets_search}}"> <input type="text" id="target-search" name="targets_search" placeholder="Search recipes" class="input-xlarge" value="{{request.GET.targets_search}}">
{% if request.GET.targets_search %} {% if request.GET.targets_search %}
<a class="add-on btn target-search-clear"> <a class="add-on btn target-search-clear">
<i class="icon-remove"></i> <i class="icon-remove"></i>
@ -253,17 +253,17 @@
<tr> <tr>
<th> <th>
<i class="icon-question-sign get-help" title="Information about a single piece of software, including where to download the source, configuration options, how to compile the source files and how to package the compiled output"></i> <i class="icon-question-sign get-help" title="Information about a single piece of software, including where to download the source, configuration options, how to compile the source files and how to package the compiled output"></i>
Target Recipe
{% if request.GET.targets_search %} {% if request.GET.targets_search %}
<span class="badge badge-info">{{targets.paginator.count}}</span> <span class="badge badge-info">{{targets.paginator.count}}</span>
{% endif %} {% endif %}
</th> </th>
<th> <th>
<i class="icon-question-sign get-help" title="The recipe version and revision"></i> <i class="icon-question-sign get-help" title="The recipe version and revision"></i>
Target version Recipe version
</th> </th>
<th class="span4">Summary</th> <th class="span4">Summary</th>
<th class="span2">Build target</th> <th class="span2">Build recipe</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -277,7 +277,7 @@
</td> </td>
<td>{{target.version}}</td> <td>{{target.version}}</td>
<td>{{target.summary}}</td> <td>{{target.summary}}</td>
<td><button class="btn btn-block build-target-btn" data-target-name="{{target.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %} >Build target</button></td> <td><button class="btn btn-block build-target-btn" data-target-name="{{target.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %} >Build recipe</button></td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

View File

@ -104,15 +104,15 @@ vim: expandtab tabstop=2
<div class="well"> <div class="well">
<form class="build-form" ng-submit="buildNamedTarget()"> <form class="build-form" ng-submit="buildNamedTarget()">
<div class="input-append controls"> <div class="input-append controls">
<input type="text" class="huge input-xxlarge" placeholder="Type the target(s) you want to build" autocomplete="off" ng-model="targetName" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"/> <input type="text" class="huge input-xxlarge" placeholder="Type the recipe(s) you want to build" autocomplete="off" ng-model="targetName" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"/>
<button type="submit" class="btn btn-large btn-primary" ng-disabled="!targetName.length"> <button type="submit" class="btn btn-large btn-primary" ng-disabled="!targetName.length">
Build Build
</button> </button>
</div> </div>
<i class="icon-question-sign get-help get-help-blue" title="Type the name of one or more targets you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to a target name, like so: <code>core-image-minimal:do_build</code>"></i> <i class="icon-question-sign get-help get-help-blue" title="Type the name of one or more recipes you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to a recipe name, like so: <code>core-image-minimal:do_build</code>"></i>
<p> <p>
<a href="{% url 'all-targets' %}">View all compatible targets</a> <a href="{% url 'all-targets' %}">View all compatible recipes</a>
<i class="icon-question-sign get-help get-help-blue heading-help" title="View all the targets you can build with the release selected for this project, which is {[project.release.desc]}"></i> <i class="icon-question-sign get-help get-help-blue heading-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i>
{% if completedbuilds.count %} {% if completedbuilds.count %}
| <a href="{% url 'projectbuilds' project.id %}">View all project builds ({{completedbuilds.count}})</a> | <a href="{% url 'projectbuilds' project.id %}">View all project builds ({{completedbuilds.count}})</a>
{% endif %} {% endif %}
@ -309,24 +309,24 @@ vim: expandtab tabstop=2
<!-- project targets --> <!-- project targets -->
<div id="target-container" class="well well-transparent span4"> <div id="target-container" class="well well-transparent span4">
<h3> <h3>
Targets Recipes
<i class="icon-question-sign get-help heading-help" title="What you build, often a recipe producing a root file system file (an image). Something like <code>core-image-minimal</code> or <code>core-image-sato</code>"></i> <i class="icon-question-sign get-help heading-help" title="What you build, often an image recipe that produces a root file system file. Something like <code>core-image-minimal</code> or <code>core-image-sato</code>"></i>
</h3> </h3>
<form ng-submit="buildNamedTarget()"> <form ng-submit="buildNamedTarget()">
<div class="input-append"> <div class="input-append">
<input type="text" class="input-xlarge" placeholder="Type the target(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName1" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"> <input type="text" class="input-xlarge" placeholder="Type the recipe(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName1" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length">
<button type="submit" class="btn btn-primary" ng-disabled="!targetName1.length"> <button type="submit" class="btn btn-primary" ng-disabled="!targetName1.length">
Build </button> Build </button>
</div> </div>
{% csrf_token %} {% csrf_token %}
</form> </form>
<p> <p>
<a href="{% url 'all-targets' %}">View all compatible targets</a> <a href="{% url 'all-targets' %}">View all compatible recipes</a>
<i class="icon-question-sign get-help" title="View all the targets you can build with the release selected for this project, which is {[project.release.desc]}"></i> <i class="icon-question-sign get-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i>
</p> </p>
<div ng-if="frequenttargets.length"> <div ng-if="frequenttargets.length">
<h4 class="air"> <h4 class="air">
Most built targets Most built recipes
</h4> </h4>
<ul class="unstyled configuration-list {[mutedtargets]}"> <ul class="unstyled configuration-list {[mutedtargets]}">
<li ng-repeat="t in frequenttargets"> <li ng-repeat="t in frequenttargets">
@ -335,7 +335,7 @@ vim: expandtab tabstop=2
</label> </label>
</li> </li>
</ul> </ul>
<button class="btn btn-large btn-primary" ng-disabled="enableBuildSelectedTargets()" ng-click="buildSelectedTargets()">Build selected targets</button> <button class="btn btn-large btn-primary" ng-disabled="enableBuildSelectedTargets()" ng-click="buildSelectedTargets()">Build selected recipes</button>
</div> </div>
</div> </div>

View File

@ -3,20 +3,20 @@
{% load humanize %} {% load humanize %}
{% block localbreadcrumb %} {% block localbreadcrumb %}
<li>All compatible targets</li> <li>All compatible recipes</li>
{% endblock %} {% endblock %}
{% block projectinfomain %} {% block projectinfomain %}
<div class="page-header"> <div class="page-header">
<h1> <h1>
{% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %} {% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
{{objects.paginator.count}} target{{objects.paginator.count|pluralize}} found {{objects.paginator.count}} recipe{{objects.paginator.count|pluralize}} found
{% elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %} {% elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
No targets found No recipes found
{%else%} {%else%}
All compatible targets All compatible recipes
{%endif%} {%endif%}
<i class="icon-question-sign get-help heading-help" title="This page lists all the targets compatible with the release selected for this project, which is {{project.release.description}}"></i> <i class="icon-question-sign get-help heading-help" title="This page lists all the recipes compatible with the release selected for this project, which is {{project.release.description}}"></i>
</h1> </h1>
</div> </div>
@ -31,13 +31,13 @@
<form class="no-results input-append" id="searchform"> <form class="no-results input-append" id="searchform">
<input id="search" name="search" class="input-xxlarge" type="text" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on btn" tabindex="-1"><i class="icon-remove"></i></a>{% endif %} <input id="search" name="search" class="input-xxlarge" type="text" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on btn" tabindex="-1"><i class="icon-remove"></i></a>{% endif %}
<button class="btn" type="submit" value="Search">Search</button> <button class="btn" type="submit" value="Search">Search</button>
<button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all targets</button> <button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all recipes</button>
</form> </form>
</div> </div>
</div> </div>
{% else %} {% else %}
<div class="alert alert-info lead"> <div class="alert alert-info lead">
<p>Toaster has no target information. To generate target information you can:</p> <p>Toaster has no recipe information. To generate recipe information you can:</p>
<ul> <ul>
<li><a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li> <li><a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li>
<li><a href="{% url 'importlayer' %}">Import a layer</a>, then run a build</li> <li><a href="{% url 'importlayer' %}">Import a layer</a>, then run a build</li>
@ -78,7 +78,7 @@
<td class="add-layer" value="{{o.pk}}" layerversion_id="{{o.preffered_layerversion.pk}}"> <td class="add-layer" value="{{o.pk}}" layerversion_id="{{o.preffered_layerversion.pk}}">
<div id="layer-tooltip-{{o.pk}}" style="display: none; font-size: 11px; line-height: 1.3;" class="tooltip-inner">layer was modified</div> <div id="layer-tooltip-{{o.pk}}" style="display: none; font-size: 11px; line-height: 1.3;" class="tooltip-inner">layer was modified</div>
<a href="{% url 'project' project.id %}#/targetbuild={{o.name}}" id="target-build-{{o.pk}}" class="btn btn-block remove-layer" style="display:none;" > <a href="{% url 'project' project.id %}#/targetbuild={{o.name}}" id="target-build-{{o.pk}}" class="btn btn-block remove-layer" style="display:none;" >
Build target Build recipe
</a> </a>
<a id="layer-add-{{o.pk}}" class="btn btn-block" style="display:none;" href="javascript:layerAdd({{o.preffered_layerversion.pk}}, '{{o.preffered_layerversion.layer.name}}', '{%url 'layerdetails' o.preffered_layerversion.pk%}', {{o.pk}})" > <a id="layer-add-{{o.pk}}" class="btn btn-block" style="display:none;" href="javascript:layerAdd({{o.preffered_layerversion.pk}}, '{{o.preffered_layerversion.layer.name}}', '{%url 'layerdetails' o.preffered_layerversion.pk%}', {{o.pk}})" >
<i class="icon-plus"></i> <i class="icon-plus"></i>

View File

@ -2005,8 +2005,8 @@ if toastermain.settings.MANAGED:
] ]
} }
}, },
{'name': 'Target', # default column, disabled box, with just the name in the list {'name': 'Recipe', # default column, disabled box, with just the name in the list
'qhelp': "This is the build target or build targets (i.e. one or more recipes or image recipes)", 'qhelp': "What you built (i.e. one or more recipes or image recipes)",
'orderfield': _get_toggle_order(request, "brtarget__target"), 'orderfield': _get_toggle_order(request, "brtarget__target"),
'ordericon':_get_toggle_order_icon(request, "brtarget__target"), 'ordericon':_get_toggle_order_icon(request, "brtarget__target"),
}, },
@ -2884,15 +2884,15 @@ if toastermain.settings.MANAGED:
context = { context = {
'projectlayerset' : jsonfilter(map(lambda x: x.layercommit.id, prj.projectlayer_set.all().select_related("layercommit"))), 'projectlayerset' : jsonfilter(map(lambda x: x.layercommit.id, prj.projectlayer_set.all().select_related("layercommit"))),
'objects' : target_info, 'objects' : target_info,
'objectname' : "targets", 'objectname' : "recipes",
'default_orderby' : 'name:+', 'default_orderby' : 'name:+',
'tablecols' : [ 'tablecols' : [
{ 'name': 'Target', { 'name': 'Recipe',
'orderfield': _get_toggle_order(request, "name"), 'orderfield': _get_toggle_order(request, "name"),
'ordericon' : _get_toggle_order_icon(request, "name"), 'ordericon' : _get_toggle_order_icon(request, "name"),
}, },
{ 'name': 'Target version', { 'name': 'Recipe version',
'dclass': 'span2', 'dclass': 'span2',
}, },
{ 'name': 'Description', { 'name': 'Description',
@ -3316,8 +3316,8 @@ if toastermain.settings.MANAGED:
{'name': 'Last build outcome', 'clclass': 'loutcome', {'name': 'Last build outcome', 'clclass': 'loutcome',
'qhelp': "Tells you if the last project build completed successfully or failed", 'qhelp': "Tells you if the last project build completed successfully or failed",
}, },
{'name': 'Target', 'clclass': 'ltarget', {'name': 'Recipe', 'clclass': 'ltarget',
'qhelp': "The last project build target(s): one or more recipes or image recipes", 'qhelp': "The last recipe that was built in this project",
}, },
{'name': 'Errors', 'clclass': 'lerrors', {'name': 'Errors', 'clclass': 'lerrors',
'qhelp': "How many errors were encountered during the last project build (if any)", 'qhelp': "How many errors were encountered during the last project build (if any)",
@ -3431,8 +3431,8 @@ else:
] ]
} }
}, },
{'name': 'Target', # default column, disabled box, with just the name in the list {'name': 'Recipe', # default column, disabled box, with just the name in the list
'qhelp': "This is the build target or build targets (i.e. one or more recipes or image recipes)", 'qhelp': "What you built (i.e. one or more recipes or image recipes)",
'orderfield': _get_toggle_order(request, "target__target"), 'orderfield': _get_toggle_order(request, "target__target"),
'ordericon':_get_toggle_order_icon(request, "target__target"), 'ordericon':_get_toggle_order_icon(request, "target__target"),
}, },