log.xsl revision 809
10139N/A<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
10139N/A<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
10139N/A<!--
12147N/A Licensed to the Apache Software Foundation (ASF) under one or more
10139N/A contributor license agreements. See the NOTICE file distributed with
10139N/A this work for additional information regarding copyright ownership.
10139N/A The ASF licenses this file to You under the Apache License, Version 2.0
17820N/A (the "License"); you may not use this file except in compliance with
10139N/A the License. You may obtain a copy of the License at
17177N/A
17177N/A http://www.apache.org/licenses/LICENSE-2.0
17177N/A
10139N/A Unless required by applicable law or agreed to in writing, software
10139N/A distributed under the License is distributed on an "AS IS" BASIS,
10139N/A WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10139N/A See the License for the specific language governing permissions and
18532N/A limitations under the License.
10139N/A
10139N/A-->
10139N/A
10139N/A<!--
18532N/A
10159N/A The purpose have this XSL is to provide a nice way to look at the output
12094N/A from the Ant XmlLogger (ie: ant -listener org.apache.tools.ant.XmlLogger )
12773N/A
12773N/A @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
12773N/A
10139N/A-->
10139N/A<xsl:decimal-format decimal-separator="." grouping-separator="," />
10139N/A
10139N/A<xsl:template match="/">
10139N/A<html>
10139N/A <head>
10139N/A <style type="text/css">
10139N/A .bannercell {
10139N/A border: 0px;
10139N/A padding: 0px;
10139N/A }
10139N/A body {
10139N/A margin: 0;
10139N/A font:normal 100% arial,helvetica,sanserif;
10139N/A background-color:#FFFFFF;
10139N/A color:#000000;
10139N/A }
10139N/A table.status {
10139N/A font:bold 80% arial,helvetica,sanserif;
10139N/A background-color:#525D76;
10139N/A color:#ffffff;
10139N/A }
10139N/A table.log tr td, tr th {
10139N/A font-size: 80%;
10139N/A }
10139N/A .error {
10139N/A color:red;
10139N/A }
10139N/A .warn {
10139N/A color:brown;
10139N/A }
10139N/A .info {
10139N/A color:gray;
10139N/A }
10139N/A .debug{
10139N/A color:gray;
10139N/A }
12094N/A .failed {
12754N/A font-size:80%;
10159N/A background-color: red;
10139N/A color:#FFFFFF;
10139N/A font-weight: bold
10139N/A }
10139N/A .complete {
10139N/A font-size:80%;
10139N/A background-color: #525D76;
10139N/A color:#FFFFFF;
10139N/A font-weight: bold
10139N/A }
10139N/A .a td {
10139N/A background: #efefef;
10139N/A }
10139N/A .b td {
10139N/A background: #fff;
10139N/A }
10139N/A th, td {
10139N/A text-align: left;
10139N/A vertical-align: top;
10139N/A }
10139N/A th {
11149N/A background: #ccc;
12773N/A color: black;
12773N/A }
12773N/A table, th, td {
12773N/A border: none
12773N/A }
10139N/A h3 {
10139N/A font:bold 80% arial,helvetica,sanserif;
10139N/A background: #525D76;
10139N/A color: white;
10139N/A text-decoration: none;
10139N/A padding: 5px;
10139N/A margin-right: 2px;
10139N/A margin-left: 2px;
10139N/A margin-bottom: 0;
10139N/A }
10139N/A </style>
17882N/A </head>
10139N/A <body>
10139N/A <!-- jakarta logo -->
10139N/A <table border="0" cellpadding="0" cellspacing="0" width="100%">
10139N/A <tr>
10139N/A <td valign="top" class="bannercell">
10139N/A <a href="http://jakarta.apache.org/">
10139N/A <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
10139N/A </a>
10139N/A </td>
10139N/A <td style="text-align:right;vertical-align:bottom">
10139N/A <a href="http://ant.apache.org/">Apache Ant</a>
12184N/A </td>
10139N/A </tr>
10139N/A </table>
10139N/A
10139N/A <table border="0" width="100%">
10139N/A <tr><td><hr noshade="yes" size="1"/></td></tr>
10139N/A </table>
10139N/A
10139N/A <xsl:apply-templates select="build"/>
10139N/A
10139N/A </body>
10139N/A</html>
10139N/A</xsl:template>
10139N/A
10139N/A<xsl:template match="build">
10139N/A <!-- build status -->
10139N/A <table width="100%">
12184N/A <xsl:attribute name="class">
10139N/A <xsl:if test="@error">failed</xsl:if>
10139N/A <xsl:if test="not(@error)">complete</xsl:if>
10139N/A </xsl:attribute>
10139N/A <tr>
10139N/A <xsl:if test="@error">
10139N/A <td nowrap="yes">Build Failed</td>
10139N/A </xsl:if>
10139N/A <xsl:if test="not(@error)">
18532N/A <td nowrap="yes">Build Complete</td>
18532N/A </xsl:if>
18422N/A <td style="text-align:right" nowrap="yes">Total Time: <xsl:value-of select="@time"/></td>
18422N/A </tr>
18365N/A <tr>
18365N/A <td colspan="2">
18300N/A <xsl:if test="@error">
18300N/A <tt><xsl:value-of select="@error"/></tt><br/>
18236N/A <i style="font-size:80%">See the <a href="#stacktrace" alt="Click for details">stacktrace</a>.</i>
18236N/A </xsl:if>
18140N/A </td>
18140N/A </tr>
18140N/A </table>
17882N/A <table border="1" cellspacing="2" cellpadding="3" width="100%" style="font-size:80%">
17882N/A <tr class="a"><td width="1">ant.file</td><td><xsl:value-of select="substring-after(//message[contains(text(),'ant.file')], '->')"/></td></tr>
17882N/A <tr class="b"><td width="1">ant.version</td><td><xsl:value-of select="substring-after(//message[contains(text(),'ant.version')], '->')"/></td></tr>
17570N/A <tr class="a"><td width="1">java.version</td><td><xsl:value-of select="substring-after(//message[contains(text(),'java.vm.version')], '->')"/></td></tr>
17570N/A <tr class="b"><td width="1">os.name</td><td><xsl:value-of select="substring-after(//message[contains(text(),'os.name')], '->')"/></td></tr>
17397N/A </table>
17397N/A <!-- build information -->
17301N/A <h3>Build events</h3>
17301N/A <table class="log" border="1" cellspacing="2" cellpadding="3" width="100%">
17142N/A <tr>
17142N/A <th nowrap="yes" align="left" width="1%">target</th>
16987N/A <th nowrap="yes" align="left" width="1%">task</th>
16987N/A <th nowrap="yes" align="left">message</th>
16906N/A </tr>
16906N/A <xsl:apply-templates select=".//message[@priority != 'debug']"/>
16807N/A </table>
16807N/A <p>
16670N/A <!-- stacktrace -->
16670N/A <xsl:if test="stacktrace">
16670N/A <a name="stacktrace"/>
16626N/A <h3>Error details</h3>
16626N/A <table width="100%">
16429N/A <tr><td>
16429N/A <pre><xsl:value-of select="stacktrace"/></pre>
16379N/A </td></tr>
16626N/A </table>
16379N/A </xsl:if>
16337N/A </p>
16626N/A</xsl:template>
16626N/A
16162N/A<!-- report every message but those with debug priority -->
16626N/A<xsl:template match="message[@priority!='debug']">
16149N/A <tr valign="top">
16626N/A <!-- alternated row style -->
15881N/A <xsl:attribute name="class">
16626N/A <xsl:if test="position() mod 2 = 1">a</xsl:if>
15854N/A <xsl:if test="position() mod 2 = 0">b</xsl:if>
16626N/A </xsl:attribute>
15696N/A <td nowrap="yes" width="1%"><xsl:value-of select="../../@name"/></td>
16626N/A <td nowrap="yes" style="text-align:right" width="1%">[ <xsl:value-of select="../@name"/> ]</td>
14554N/A <td class="{@priority}" nowrap="yes">
16626N/A <xsl:value-of select="text()"/>
14540N/A </td>
14540N/A </tr>
14206N/A</xsl:template>
14206N/A
13945N/A</xsl:stylesheet>
16626N/A