[Feature]add MT2731_MP2_MR2_SVN388 baseline version

Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/meta/poky/bitbake/lib/toaster/toastergui/templates/task.html b/meta/poky/bitbake/lib/toaster/toastergui/templates/task.html
new file mode 100644
index 0000000..214c777
--- /dev/null
+++ b/meta/poky/bitbake/lib/toaster/toastergui/templates/task.html
@@ -0,0 +1,348 @@
+{% extends "basebuilddetailpage.html" %}
+
+{% load projecttags %}
+{% load humanize %}
+
+{% block title %} {{task.recipe.name}}_{{task.recipe.version}} {{task.task_name}} - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
+{% block localbreadcrumb %}
+<li><a href="{% url 'tasks' build.pk %}">Tasks</a></li>
+<li>{{task.recipe.name}}_{{task.recipe.version}} {{task.task_name}}</li>
+{% endblock %}
+
+{% block pagedetailinfomain %}
+
+<div class="row">
+  <div class="col-md-12">
+    <div class="page-header build-data">
+        <h1><a href="{%url 'recipe' build.pk task.recipe.pk %}">{{task.recipe.name}}_{{task.recipe.version}}</a> {{task.task_name}}</h1>
+    </div>
+
+{# Outcome section #}
+<h2 {{ task|task_color:True }}>
+    {{task.get_outcome_display}}
+    <span class="glyphicon glyphicon-question-sign get-help" title="{{task.get_outcome_help}}"></i>
+</h2>
+{%if task.task_executed %}
+    {# executed tasks outcome #}
+    {% if task.logfile %}
+            <a class="btn btn-default btn-lg"
+               href="{% url 'build_artifact' build.id 'tasklogfile' task.pk %}">
+              Download task log
+            </a>
+    {% endif %}
+        {# show stack trace for failed task #}
+        {% if task.outcome == task.OUTCOME_FAILED and log_head %}
+            <h3>Python stack trace</h3>
+            <div>
+                <pre style="min-height:160px;">
+                    <code>{{log_head}}</code><a id="full-trace-show" data-target="#fulltrace" data-toggle="collapse" class="btn btn-xs">...</a>
+                    <div id="fulltrace" class="collapse" style="margin-top: -20px; height: 0px;">
+                        <code>{{log_body}}</code><br><a id="full-trace-hide" class="btn btn-xs collapsed" style="font-family:Helvetica Neue" data-target="#fulltrace" data-toggle="collapse">Collapse stack trace<i class="icon-caret-up"></i></a></div></pre>
+            </div>
+        {% endif %}
+{% else %}
+{# not executed tasks outcome #}
+    {% if task.outcome == task.OUTCOME_PREBUILT %}
+        {% if not showing_matches %}
+            <a class="btn btn-default"
+                href="javascript:reload_params({'show_matches' : 'true'
+        })">Match to tasks in previous builds <span class="glyphicon
+glyphicon-question-sign get-help" title="This shows you a list of tasks from
+previous builds with the same signature generated from the same inputs as used
+in the prebuilt task. Any of them could be the task that generated the output
+this prebuilt task is reusing"></span></a>
+        {% elif matching_tasks %}
+            <h3 class="details">Prebuilt task could be based on
+                <span class="glyphicon glyphicon-question-sign get-help" title="This
+                    table shows a list of tasks from previous builds with the
+                same signature generated from the same inputs as used in the
+            prebuilt task. Any of them could be the task that generated the
+        output this prebuilt task is reusing"></span>
+            </h3>
+        <div class="table-responsive">
+            <table class="table table-bordered table-hover">
+                <thead>
+                    <th>
+                        <span class="glyphicon glyphicon-question-sign
+                            get-help" title="The name of the recipe to which
+                        each task applies"></span>
+                        Recipe
+                    </th>
+                    <th>
+                        <span class="glyphicon glyphicon-question-sign get-help" title="The name
+                            of the task"></span>
+                        Task
+                    </th>
+                    <th>
+                        <span class="glyphicon glyphicon-question-sign get-help" title="This
+                            value tells you if a task had to run (executed) in
+                        order to generate the task output, or if the output was
+                    provided by another task and therefore the task didn't need
+                to run (not executed)"></span>
+                        Executed
+                    </th>
+                    <th>
+                        <span class="glyphicon glyphicon-question-sign
+                            get-help" title="This column tells you if
+                        'executed' tasks succeeded or failed. The column also
+                    tells you why 'not executed' tasks did not need to
+                run"></span>
+                        Outcome
+                    </th>
+                    <th>
+                        <span class="glyphicon glyphicon-question-sign
+                            get-help" title="The date and time the build
+                        finished"></span>
+                        Build completed on
+                    </th>
+                </thead>
+                <tbody>
+                    {% for match in matching_tasks %}
+                        <tr {{ match|task_color }}>
+                            <td>
+                                {{match.recipe.name}}
+                            </td>
+                            <td>
+                                <a href="{%url "task" match.build.pk match.pk%}">{{match.task_name}}</a>
+                                {% if task.get_description %}
+                                    <span class="glyphicon
+                                        glyphicon-question-sign get-help
+                                    hover-help"
+                                title="{{task.get_description}}"></span>
+                                {% endif %}
+                            </td>
+                            <td>
+                                {{match.get_executed_display}}
+                            </td>
+                            <td>
+                                {{match.get_outcome_display}}
+                                <span class="glyphicon glyphicon-question-sign
+                                get-help hover-help"
+                            title="{{match.get_outcome_help}}"></span>
+                            </td>
+                            <td>
+                                {{match.build.completed_on|date:"d/m/y H:i"}}
+                            </td>
+                        </tr>
+                    {% endfor %}
+                </tbody>
+            </table>
+        </div>
+        {% else %}
+            <p class="alert">
+                <strong> We have found no tasks matching this prebuilt task</strong><br/>
+                The task you are looking for could belong to a build for which Toaster has no data.
+            </p>
+        {% endif %}
+    {% elif task.outcome == task.OUTCOME_COVERED %}
+        <dl class="dl-horizontal">
+            <dt>
+                <span class="glyphicon glyphicon-question-sign get-help" title="The task(s)
+                    providing the outcome of this task"></span> Task covered by
+            </dt>
+            <dd>
+                <ul class="list-unstyled">
+                  {% for t in covered_by %}
+                    <li>
+                      <a href="{%url 'task' t.build.pk t.pk%}"
+                         class="task-info"
+                        title="{{t.get_executed_display}} | {{t.get_outcome_display}}">
+                        {{t.recipe.name}}_{{t.recipe.version}}
+                        {{t.task_name}}
+                      </a>
+                    </li>
+                  {% endfor %}
+                </ul>
+            </dd>
+        </dl>
+    {%elif task.outcome == task.OUTCOME_CACHED%}
+            {% for t in task.get_related_setscene %}
+                {% if forloop.last %}
+                    <a class="btn btn-default btn-lg"
+                       href="{% url 'build_artifact' build.id "tasklogfile" t.pk %}">
+                      Download task log
+                    </a>
+                {% endif %}
+            {% endfor %}
+
+    {%elif task.outcome == task.OUTCOME_EMPTY%}
+        <div class="alert alert-info details">
+            This task is empty because it has the <code>noexec</code> flag set to <code>1</code>, or the task function is empty
+        </div>
+    {% endif %}
+{% endif %}
+
+{# Execution section #}
+    {% if task.task_executed %}
+    <h2>
+        Executed
+        <span class="glyphicon glyphicon-question-sign get-help"
+            title="'Executed' tasks are those that need to run in order to
+        generate the task output"></span>
+    {% else %}
+    <h2>
+        Not Executed
+        <span class="glyphicon glyphicon-question-sign get-help" title="'Not
+            executed' tasks don't need to run because their outcome is provided
+        by another task"></span>
+    {% endif %}
+    </h2>
+
+<dl class="dl-horizontal">
+    <dt>
+        <span class="glyphicon glyphicon-question-sign get-help" title="To make builds more
+            efficient, the build system detects changes in the 'inputs' to a
+        given task by creating a 'task signature'. If the signature changes,
+    the build system assumes the inputs have changed and the task needs to be
+rerun"></span>
+        Task inputs signature
+    </dt>
+    <dd>
+        {{task.sstate_checksum}}
+    </dd>
+    {% if task.sstate_result != task.SSTATE_NA %}
+  </dl>
+        <div class="alert alert-info">Attempting to restore output from sstate cache
+            <span class="glyphicon glyphicon-question-sign get-help
+                get-help-blue" title="The build system is searching for the
+                task output in your <code>sstate-cache</code> directory and
+                mirrors. If the build system finds the task output, it will reuse it
+                instead of building it from scratch by running the real task. Reusing the
+                task output makes the build faster"></span>
+        </div>
+        <dl class="dl-horizontal">
+            <dt>
+                <span class="glyphicon glyphicon-question-sign get-help" title="The name of the
+                    file searched for in your <code>sstate-cache</code>
+                    directory and mirrors"></span>
+                File searched for
+            </dt>
+            <dd><code>{{task.path_to_sstate_obj}}</code></dd>
+            <dt>
+                <span class="glyphicon glyphicon-question-sign get-help" title="The locations
+                    searched for the above file (i.e. your
+                    <code>sstate-cache</code> directory and any mirrors you have
+                    set up)"></span>
+                URI(s) searched
+            </dt>
+            <dd><ul class="list-unstyled">{% for uri in uri_list %}<li><code>{{uri}}</code></li>{% endfor %}</ul></dd>
+        </dl>
+    {% endif %}
+    {% if task.sstate_result == task.SSTATE_MISS %}
+        <div class="alert alert-info">
+            <strong>File not in sstate cache.</strong> Running the real task instead.
+        </div>
+    {% elif task.sstate_result == task.SSTATE_FAILED%}
+        <div class="alert alert-warning">
+            <strong>Failed</strong> to restore output from sstate cache. The file was found but could not be unpacked.
+        </div>
+        <dl class="dl-horizontal">
+            <a href="{% url 'build_artifact' build.id "tasklogfile" task.pk %}" style="margin:15px;">Download log</a>
+        </dl>
+        <div class="alert alert-info">
+            Running the real task instead.
+        </div>
+    {% elif task.sstate_result == task.SSTATE_RESTORED %}
+        <div class="alert alert-info">
+            Output <strong>successfully restored</strong> from sstate cache.
+        </div>
+    {% endif %}
+    <dl class="dl-horizontal">
+    <dt>
+        <span class="glyphicon glyphicon-question-sign get-help" title="The
+            running sequence of each task in the build"></span>
+        Task order
+    </dt>
+    <dd><a href="{%url "tasks" build.pk %}?page={{task_in_tasks_table_pg}}&limit=25#task-{{task.order}}">{{task.order}}</a></dd>
+    {% if task.task_executed %}
+        <dt>
+            <span class="glyphicon glyphicon-question-sign get-help"
+                title="Indicates if this task executes a Python or Shell
+            function(s)"></span>
+            Task script type
+        </dt>
+        <dd>{{task.get_script_type_display}}</dd>
+    {% endif %}
+<!--
+    <dt>
+        <i class="icon-question-sign get-help" title="The code executed by the task"></i>
+        Task executable output
+    </dt>
+    <dd><code>{{task.source_url}}</code></dd>
+-->
+    <dt>
+        <span class="glyphicon glyphicon-question-sign get-help" title="Task dependency chain
+            (i.e. other tasks)"></span>
+        Dependencies
+    </dt>
+    <dd>
+        <ul class="list-unstyled">
+        {% for dep in deps %}
+            <li><a href="{%url 'task' dep.build.pk dep.pk%}" class="task-info" title="{{dep.get_executed_display}} | {{dep.get_outcome_display}}">{{dep.recipe.name}}_{{dep.recipe.version}} <span class="task-name">{{dep.task_name}}</span></a></li>
+        {% empty %}
+            <li class="text-muted" style="margin-bottom: -10px;">This task has no dependencies</li>
+        {% endfor %}
+        </ul>
+    </dd>
+    <dt>
+        <span class="glyphicon glyphicon-question-sign get-help" title="Tasks that depend on this
+            task"></span>
+        Reverse dependencies
+    </dt>
+    <dd>
+        <ul class="list-unstyled">
+        {% for dep in rdeps %}
+            <li><a href="{%url 'task' dep.build.pk dep.pk%}" class="task-info" title="{{dep.get_executed_display}} | {{dep.get_outcome_display}}">{{dep.recipe.name}}_{{dep.recipe.version}} <span class="task-name">{{dep.task_name}}</span></a></li>
+        {% empty %}
+            <li class="text-muted">This task has no reverse dependencies</li>
+        {% endfor %}
+        </ul>
+</dl>
+
+{# Performance section - shown only for executed tasks #}
+{%if task.elapsed_time or task.cpu_time_user or task.cpu_time_system or task.disk_io %}
+    <h2 class="details">Performance</h2>
+{% endif %}
+    <dl class="dl-horizontal">
+        {% if task.elapsed_time %}
+        <dt>
+            <span class="glyphicon glyphicon-question-sign get-help" title="How
+                long it took the task to finish in seconds"></span>
+            Time (secs)
+        </dt>
+        <dd>{{task.elapsed_time|format_none_and_zero|floatformat:2}}</dd>
+        {% endif %}
+        {% if task.cpu_time_user > 0 %}
+        <dt>
+            <span class="glyphicon glyphicon-question-sign get-help" title="Total amount of time
+                spent executing in user mode, in seconds. Note that this time
+            can be greater than the task time due to parallel
+        execution."></span>
+            User CPU time (secs)
+        </dt>
+        <dd>{{task.cpu_time_user|format_none_and_zero|floatformat:2}}</dd>
+        {% endif %}
+        {% if task.cpu_time_system > 0 %}
+        <dt>
+            <span class="glyphicon glyphicon-question-sign get-help" title="Total amount of time
+                spent executing in kernel mode, in seconds. Note that this time
+            can be greater than the task time due to parallel
+        execution."></span>
+            System CPU time (secs)
+        </dt>
+        <dd>{{task.cpu_time_system|format_none_and_zero|floatformat:2}}</dd>
+        {% endif %}
+        {% if task.disk_io > 0 %}
+        <dt>
+            <span class="glyphicon glyphicon-question-sign get-help" title="Number of bytes
+                written to and read from the disk during the task"></span>
+            Disk I/O (bytes)
+        </dt>
+        <dd>{{task.disk_io|format_none_and_zero|intcomma}}</dd>
+        {% endif %}
+    </dl>
+
+</div>
+
+{% endblock %}
+