Files
gtav-src/tools_ng/etc/IntegrationReporter/general_summary.xsl
T
2025-09-29 00:52:08 +02:00

356 lines
11 KiB
XML
Executable File

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:variable name="allFiles" select="/IntegrationReport/ResolveRecords/ResolveRecord"/>
<xsl:variable name="conflictedFiles" select="/IntegrationReport/ResolveRecords/ResolveRecord[@ResolveStatus='HAS_CONFLICTS']"/>
<xsl:variable name="allChangelists" select="/IntegrationReport/ChangelistRecords/ChangelistRecord"/>
<xsl:variable name="allBugs" select="/IntegrationReport/ChangelistRecords/ChangelistRecord[@BugNumber]"/>
<xsl:template match="/">
<head>
<title>Integration Report</title>
<link type="text/css" rel="stylesheet" href="/integration_reporter.css" />
</head>
<body class="wholepage" bgcolor="darkgrey" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<h2 align="center">Integration Report</h2>
<table cellpadding="0" cellspacing="3" rules="rows" bordercolor="#333399" border="1" id="StatusGrid" bgcolor="White" width="50%" align="center">
<tr bgcolor="ivory">
<td align="Center">
<b>Branch Specification:</b>
</td>
<td align="Center">
<b><xsl:value-of select="/IntegrationReport/@BranchName"/></b>
</td>
</tr>
<tr bgcolor="ivory">
<td align="Center">
<b>Last Submitted Changelist:</b>
</td>
<td align="Center">
<b><xsl:value-of select="/IntegrationReport/@LastChangelist"/></b>
</td>
</tr>
<tr bgcolor="ivory">
<td align="Center">
<b>Time:</b>
</td>
<td align="Center">
<b><xsl:value-of select="/IntegrationReport/@Time"/></b>
</td>
</tr>
<tr bgcolor="ivory">
<td align="Center">
<b>User:</b>
</td>
<td align="Center">
<b><xsl:value-of select="/IntegrationReport/@User"/></b>
</td>
</tr>
<tr bgcolor="ivory">
<td align="Center">
<b>Workspace:</b>
</td>
<td align="Center">
<b><xsl:value-of select="/IntegrationReport/@Workspace"/></b>
</td>
</tr>
<tr bgcolor="ivory">
<td align="Center">
<b>Server:</b>
</td>
<td align="Center">
<b><xsl:value-of select="/IntegrationReport/@Port"/></b>
</td>
</tr>
</table>
<p>
<table cellpadding="0" cellspacing="3" rules="rows" bordercolor="#333399" border="1" id="StatusGrid" bgcolor="White" width="50%" align="center">
<tr bgcolor="ivory">
<td align="center">
<b>Report Summaries</b>
</td>
</tr>
<tr bgcolor="lavender">
<td align="center">
<b><a href="#GeneralSummary">General Summary</a></b>
</td>
</tr>
<tr bgcolor="ivory">
<td align="center">
<b><a href="Conflict_Summary.html#ConflictSummary">Conflict Summary</a></b>
</td>
</tr>
<tr bgcolor="lavender">
<td align="center">
<b><a href="Change_Summary.html#ChangelistSummary">Changelist Summary</a></b>
</td>
</tr>
<tr bgcolor="ivory">
<td align="center">
<b><a href="Change_Summary.html#BugSummary">Bug Summary</a></b>
</td>
</tr>
<tr bgcolor="lavender">
<td align="center">
<b><a href="AddRemove_Summary.html#AddSummary">Add/Remove Summary</a></b>
</td>
</tr>
<tr bgcolor="lavender">
<td align="center">
<b><a href="Diff_Summary.html#DiffSummary">Diff Summary</a></b>
</td>
</tr>
</table>
</p>
<a name="GeneralSummary"></a>
<table cellpadding="0" cellspacing="3" rules="rows" bordercolor="#333399" border="1" id="StatusGrid" bgcolor="White" width="98%" align="center">
<tr bgcolor="Ivory" color="ProjectGridHeader">
<td align="Center">
<b>General Summary - All files affected by the integration.</b>
</td>
</tr>
<table cellpadding="0" cellspacing="3" rules="rows" bordercolor="#333399" border="1" id="StatusGrid" bgcolor="White" width="98%" align="center">
<xsl:choose>
<xsl:when test="count($allFiles) = 0 ">
<tr bgcolor="Ivory" class="ProjectGridHeader">
<td align="Center">
<b>No files were found.</b>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr bgcolor="#3399FF" class="ProjectGridHeader">
<td align="Center">
<b>Target File</b>
</td>
<td align="Center">
<b>Number of Conflicts</b>
</td>
<td align="Center">
<b>Revision Range</b>
</td>
</tr>
<xsl:apply-templates select="$allFiles">
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
</table>
</table>
</body>
</xsl:template>
<xsl:template match="ResolveRecord">
<tr>
<xsl:choose>
<xsl:when test="position() mod 2=0">
<xsl:attribute name="class">section-oddrow</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">section-evenrow</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td class="norm"><xsl:value-of select="@TargetFile"/></td>
<td class="norm" align="center">
<xsl:choose>
<xsl:when test="./ResolveChanges/@Conflict &gt; 0">
<b><xsl:value-of select="./ResolveChanges/@Conflict"/></b>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="./ResolveChanges/@Conflict"/>
</xsl:otherwise>
</xsl:choose>
</td>
<xsl:choose>
<xsl:when test="@EndRevision != 0">
<td class="norm" align="center"><xsl:value-of select="@StartRevision"/>-<xsl:value-of select="@EndRevision"/></td>
</xsl:when>
<xsl:otherwise>
<td class="norm" align="center"><xsl:value-of select="@StartRevision"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:template>
<xsl:template match="ChangelistRecord">
<tr>
<xsl:choose>
<xsl:when test="position() mod 2=0">
<xsl:attribute name="class">section-oddrow</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">section-evenrow</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td class="norm" align="Center"><xsl:value-of select="@ChangelistNumber"/></td>
<td class="norm" align="Center"><xsl:value-of select="@BugNumber"/></td>
<td class="norm"><xsl:value-of select="@Description"/></td>
<td class="norm" align="Center"><xsl:value-of select="@User"/></td>
</tr>
</xsl:template>
<xsl:template match="File">
<tr>
<xsl:choose>
<xsl:when test="position() mod 2=0">
<xsl:attribute name="class">section-oddrow</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">section-evenrow</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td class="norm"><xsl:value-of select="@Name"/></td>
<td class="norm"><xsl:value-of select="@Revision"/></td>
<td class="norm"><xsl:value-of select="@Integrated"/></td>
</tr>
</xsl:template>
<xsl:template name="ConflictedFiles">
<xsl:for-each select="$conflictedFiles">
<tr>
<xsl:choose>
<xsl:when test="position() mod 2=0">
<xsl:attribute name="class">section-oddrow</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">section-evenrow</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td class="norm"><xsl:value-of select="@TargetFile"/></td>
<td class="norm" align="center">
<xsl:value-of select="./ResolveChanges/@Conflict"/>
</td>
<xsl:choose>
<xsl:when test="@EndRevision != 0">
<td class="norm" align="center"><xsl:value-of select="@StartRevision"/>-<xsl:value-of select="@EndRevision"/></td>
</xsl:when>
<xsl:otherwise>
<td class="norm" align="center"><xsl:value-of select="@StartRevision"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:for-each>
</xsl:template>
<xsl:template name="ChangelistByNumber">
<xsl:for-each select="$allChangelists">
<xsl:sort select="@ChangelistNumber" data-type="number" order="ascending" case-order="lower-first"/>
<tr>
<xsl:choose>
<xsl:when test="position() mod 2=0">
<xsl:attribute name="class">section-oddrow</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">section-evenrow</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td class="norm" align="Center">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:text>http://10.11.16.17:8080/</xsl:text>
<xsl:value-of select="@ChangelistNumber" />
<xsl:text>?ac=10</xsl:text>
</xsl:attribute>
<xsl:value-of select="@ChangelistNumber" />
</xsl:element>
</td>
<td class="norm" align="Center">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:text>bugstar:</xsl:text>
<xsl:value-of select="@BugNumber" />
</xsl:attribute>
<xsl:value-of select="@BugNumber" />
</xsl:element>
</td>
<td class="norm"><xsl:value-of select="@Description"/></td>
<td class="norm" align="Center"><xsl:value-of select="@User"/></td>
</tr>
</xsl:for-each>
</xsl:template>
<xsl:template name="ChangelistByBug">
<xsl:for-each select="$allBugs">
<xsl:sort select="@BugNumber" data-type="number" order="ascending" case-order="lower-first"/>
<tr>
<xsl:choose>
<xsl:when test="position() mod 2=0">
<xsl:attribute name="class">section-oddrow</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">section-evenrow</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td class="norm" align="Center">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:text>bugstar:</xsl:text>
<xsl:value-of select="@BugNumber" />
</xsl:attribute>
<xsl:value-of select="@BugNumber" />
</xsl:element>
</td>
<td class="norm" align="left">
<xsl:variable name="currentBug" select="@BugNumber"/>
<xsl:for-each select="/IntegrationReport/BugRecords/BugRecord[@BugNumber=$currentBug]/ChangelistNumbers/Changelist">
<xsl:variable name="currentChangelist" select="."/>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:text>http://10.11.16.17:8080/</xsl:text>
<xsl:value-of select="$currentChangelist" />
<xsl:text>?ac=10</xsl:text>
</xsl:attribute>
<xsl:value-of select="$currentChangelist" />
</xsl:element>
- <xsl:value-of select="/IntegrationReport/ChangelistRecords/ChangelistRecord[@ChangelistNumber=$currentChangelist]/@Description"/>
<br/>
</xsl:for-each>
</td>
</tr>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>