common/tools/brag/brag.xsl
author MattD <mattd@symbian.org>
Tue, 26 Jan 2010 15:39:24 +0000
changeset 855 9d6a5309852c
parent 754 79bd241158d3
child 882 6ae47dc5d707
permissions -rw-r--r--
Catchup merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     1
<xsl:stylesheet version="1.0"
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
     2
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions">
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
     3
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
     4
<!-- Initialise keys (sort of like hashes?) to enable us to list distinct packages/severities -->
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
     5
<xsl:key name="packages" match="failure" use="@package"/>
651
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
     6
<xsl:key name="severities" match="/buildStatus/phase/step/failures" use="@level"/>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
     7
<xsl:key name="packageANDseverity" match="/buildStatus/phase/step/failures[@level]/failure[@package]" use="concat(../@level, @package)"/>
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
     8
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
     9
<!-- Main template -->
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    10
<xsl:template match="/buildStatus">
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    11
	<html>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    12
	<head><title>Build Status</title></head>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    13
	<body>
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    14
	<h1>Build Status</h1>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    15
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    16
	<xsl:variable name="criticalCount" select="count(phase/step/failures[@level='critical']/failure)"/>
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    17
	<xsl:variable name="majorCount" select="count(phase/step/failures[@level='major']/failure)"/>
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    18
	<xsl:variable name="minorCount" select="count(phase/step/failures[@level='minor']/failure)"/>
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    19
	<xsl:variable name="unknownCount" select="count(phase/step/failures[@level!='critical' and @level!='major' and @level!='minor']/failure)"/>
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    20
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    21
	<h2>
606
7441b114b8c8 Adjustsed BRAG to BRAGG, to accommodate the possibility of there being Green builds and Gold builds.
Simon Howkins <simonh@symbian.org>
parents: 569
diff changeset
    22
	Overall BRAGG staus: 
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    23
	<xsl:choose>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    24
		<xsl:when test="$criticalCount != 0">BLACK</xsl:when>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    25
		<xsl:when test="$majorCount != 0">RED</xsl:when>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    26
		<xsl:when test="$minorCount != 0">AMBER</xsl:when>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    27
		<xsl:when test="$unknownCount != 0">GREEN</xsl:when>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    28
		<xsl:otherwise>GOLD!</xsl:otherwise>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    29
	</xsl:choose>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    30
	</h2>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    31
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    32
	<h2>Breakdown by severity</h2>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    33
	<table border="1">
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    34
	<tr><td>Critical</td><td><xsl:value-of select="$criticalCount"/></td></tr>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    35
	<tr><td>Major</td><td><xsl:value-of select="$majorCount"/></td></tr>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    36
	<tr><td>Minor</td><td><xsl:value-of select="$minorCount"/></td></tr>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    37
	<tr><td>Unknown</td><td><xsl:value-of select="$unknownCount"/></td></tr>
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    38
	<tr><th>Grand total</th><th><xsl:value-of select="count(phase/step/failures/failure)"/></th></tr>
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    39
	</table>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    40
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    41
	<h2>Breakdown by phase/step</h2>
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    42
	<table border="1">
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    43
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    44
	<xsl:for-each select="phase">
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    45
		<tr>
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    46
		<th colspan='2'>Phase: <xsl:value-of select="@name"/></th>
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    47
		</tr>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    48
		<xsl:for-each select="step">
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    49
			<tr>
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    50
			<td colspan='2'>Step: <xsl:value-of select="@name"/></td>
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    51
			</tr>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    52
			<xsl:for-each select="failures">
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    53
				<tr>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    54
				<td>Failures: <xsl:value-of select="@level"/></td>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    55
				<td>Number: <xsl:value-of select="count(failure)"/></td>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    56
				</tr>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    57
			</xsl:for-each>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    58
		</xsl:for-each>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    59
	</xsl:for-each>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    60
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    61
	</table>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    62
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    63
	<!-- If any failures are tied to a specific package... -->
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    64
	<xsl:if test="phase/step/failures/failure[@package]">
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    65
		<h2>Breakdown by package</h2>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    66
		<table border="1">
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    67
		<tr><th>Package</th><th>Total failures</th></tr>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    68
		<!-- Use the Muenchian Method to get a set of distinct packages -->
569
5af7cc0d44a1 Adfjusted XML format used, so there's a document-level tag - <buildStatus> which can wrap multiple <phase> tags.
Simon Howkins <simonh@symbian.org>
parents: 557
diff changeset
    69
		<xsl:for-each select="phase/step/failures/failure[generate-id(.) = generate-id(key('packages', @package))]">
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    70
			<xsl:sort select="@package"/>
651
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    71
			<tr>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    72
			<td><a><xsl:attribute name="href"><xsl:value-of select="concat('#package', @package)"/></xsl:attribute><xsl:value-of select="@package"/></a></td>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    73
			<td><xsl:value-of select="count(key('packages', @package))"/></td>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    74
			</tr>
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    75
		</xsl:for-each>
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
    76
		</table>
651
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    77
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    78
		<h2>Breakdown by package/severity</h2>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    79
		<xsl:for-each select="phase/step/failures[@level]/failure[generate-id(.) = generate-id(key('packages', @package))]">
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    80
			<xsl:sort select="@package"/>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    81
			<xsl:variable name="package" select="@package"/>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    82
			<a><xsl:attribute name="name"><xsl:value-of select="concat('package', $package)"/></xsl:attribute>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    83
			<h3><xsl:value-of select="$package"/></h3>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    84
			</a>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    85
			<table border="1">
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    86
			<tr><th>Severity</th><th>Count</th></tr>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    87
			<xsl:for-each select="/buildStatus/phase/step/failures[generate-id(.) = generate-id(key('severities', @level))]">
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    88
				<xsl:variable name="severity" select="@level"/>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    89
				<tr>
660
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
    90
				<td><a>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
    91
				<xsl:if test="count(/buildStatus/phase/step/failures[@level = $severity]/failure[@package = $package]) != 0">
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
    92
					<xsl:attribute name="href"><xsl:value-of select="concat('#', $severity, $package)"/></xsl:attribute>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
    93
				</xsl:if>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
    94
				<xsl:value-of select="$severity"/></a></td>
651
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    95
				<td><xsl:value-of select="count(key('packageANDseverity', concat($severity, $package)))"/></td>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    96
				</tr>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    97
			</xsl:for-each>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    98
			</table>
bb57a09ece7a Added tables for eack package with failures, broken down by severity.
Simon Howkins <simonh@symbian.org>
parents: 606
diff changeset
    99
		</xsl:for-each>
557
c6145fb2403d Reordered output, so information is presented in a high-level -> low-level way
Simon Howkins <simonh@symbian.org>
parents: 547
diff changeset
   100
	</xsl:if>
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   101
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   102
	<h2>Floating failures by phase/step/severity</h2>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   103
	<xsl:if test="count(phase/step/failures/failure/@package) = count(phase/step/failures/failure)">
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   104
		<p>No errors independent of package</p>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   105
	</xsl:if>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   106
	<xsl:for-each select="phase[count(step/failures/failure/@package) != count(step/failures/failure)]">
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   107
		<h3>Phase: <xsl:value-of select="@name"/></h3>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   108
		<xsl:for-each select="step[count(failures/failure/@package) != count(failures/failure)]">
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   109
			<h4>Step: <xsl:value-of select="@name"/></h4>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   110
			<xsl:for-each select="failures[count(failure/@package) != count(failure)]">
754
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   111
				<xsl:variable name="severity" select="@level"/>
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   112
				<dl><dt><xsl:value-of select="@level"/> (<xsl:value-of select="count(/buildStatus/phase/step/failures[@level = $severity]/failure[count(@package) = 0])"/>)</dt><dd>
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   113
				<ul>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   114
				<xsl:for-each select="failure[count(@package) = 0]">
754
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   115
					<li><xsl:value-of select="effect"/></li>
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   116
					<xsl:if test="@unreported_causes != '0'">
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   117
						<br/>(Too much text to show everything; <xsl:value-of select="@unreported_causes"/> lines not shown.)
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   118
					</xsl:if>
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   119
					<xsl:for-each select="causes">
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   120
						<pre><xsl:value-of select="."/></pre>
79bd241158d3 Updated XSL to include counts of failures at each severity, and also the new effect/causes distinction, for failures that are not package specific.
Simon Howkins <simonh@symbian.org>
parents: 753
diff changeset
   121
					</xsl:for-each>
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   122
				</xsl:for-each>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   123
				</ul>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   124
				</dd></dl>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   125
			</xsl:for-each>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   126
		</xsl:for-each>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   127
	</xsl:for-each>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   128
660
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   129
	<h2>Package failures by package/severity</h2>
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   130
	<xsl:if test="count(phase/step/failures/failure/@package) = 0">
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   131
		<p>No errors specific to a package</p>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   132
	</xsl:if>
660
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   133
	<xsl:for-each select="phase/step/failures[@level]/failure[generate-id(.) = generate-id(key('packages', @package))]">
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   134
		<xsl:sort select="@package"/>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   135
		<xsl:variable name="package" select="@package"/>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   136
		<a><xsl:attribute name="name"><xsl:value-of select="concat('package', $package)"/></xsl:attribute>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   137
		<h3><xsl:value-of select="$package"/></h3>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   138
		</a>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   139
		<xsl:for-each select="/buildStatus/phase/step/failures[generate-id(.) = generate-id(key('severities', @level))]">
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   140
			<xsl:variable name="severity" select="@level"/>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   141
			<xsl:if test="count(/buildStatus/phase/step/failures[@level = $severity]/failure[@package = $package]) != 0">
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   142
				<dl><dt><a><xsl:attribute name="name"><xsl:value-of select="concat($severity, $package)"/></xsl:attribute>
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   143
					<xsl:value-of select="$severity"/> (<xsl:value-of select="count(/buildStatus/phase/step/failures[@level = $severity]/failure[@package = $package])"/>)
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   144
				</a></dt><dd>
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   145
				<ul>
660
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   146
				<xsl:for-each select="/buildStatus/phase/step/failures[@level = $severity]/failure[@package = $package]">
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   147
					<xsl:sort select="@package"/>
753
5069de517698 New script which parses raptor logs directly to produce a BRAG summary.
Simon Howkins <simonh@symbian.org>
parents: 660
diff changeset
   148
					<li><xsl:value-of select="effect"/></li>
5069de517698 New script which parses raptor logs directly to produce a BRAG summary.
Simon Howkins <simonh@symbian.org>
parents: 660
diff changeset
   149
					<xsl:if test="@unreported_causes != '0'">
5069de517698 New script which parses raptor logs directly to produce a BRAG summary.
Simon Howkins <simonh@symbian.org>
parents: 660
diff changeset
   150
						<br/>(Too much text to show everything; <xsl:value-of select="@unreported_causes"/> lines not shown.)
5069de517698 New script which parses raptor logs directly to produce a BRAG summary.
Simon Howkins <simonh@symbian.org>
parents: 660
diff changeset
   151
					</xsl:if>
5069de517698 New script which parses raptor logs directly to produce a BRAG summary.
Simon Howkins <simonh@symbian.org>
parents: 660
diff changeset
   152
					<xsl:for-each select="causes">
5069de517698 New script which parses raptor logs directly to produce a BRAG summary.
Simon Howkins <simonh@symbian.org>
parents: 660
diff changeset
   153
						<pre><xsl:value-of select="."/></pre>
5069de517698 New script which parses raptor logs directly to produce a BRAG summary.
Simon Howkins <simonh@symbian.org>
parents: 660
diff changeset
   154
					</xsl:for-each>
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   155
				</xsl:for-each>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   156
				</ul>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   157
				</dd></dl>
660
5a3e7da0fee9 Replaced section "Package failures by phase/step/severity" with "Package failures by package/severity"
Simon Howkins <simonh@symbian.org>
parents: 652
diff changeset
   158
			</xsl:if>
652
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   159
		</xsl:for-each>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   160
	</xsl:for-each>
7c066cc959c2 Added lists of error messages themselves, categorised by phase, step, ...
Simon Howkins <simonh@symbian.org>
parents: 651
diff changeset
   161
547
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   162
	</body>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   163
	</html>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   164
</xsl:template>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   165
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   166
</xsl:stylesheet>
19f9d5fc6406 Added really basic failure extraction and BRAG calculation to build.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   167