ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sbaill...@apache.org
Subject cvs commit: jakarta-ant/src/etc log.xsl
Date Sun, 25 Nov 2001 11:47:12 GMT
sbailliez    01/11/25 03:47:12

  Modified:    src/etc  log.xsl
  Log:
  Rewrote the xsl that allows to visualize ant build logs.
  Should be a little bit more sexy than the original that
  was there for a long time.
  
  Revision  Changes    Path
  1.2       +228 -36   jakarta-ant/src/etc/log.xsl
  
  Index: log.xsl
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/etc/log.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- log.xsl	2000/06/30 11:40:23	1.1
  +++ log.xsl	2001/11/25 11:47:12	1.2
  @@ -1,55 +1,247 @@
  -<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
  +<xsl:stylesheet	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  +<xsl:output method="html" indent="yes"/>
  +<!--
  + The Apache Software License, Version 1.1
  +
  + Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
  + reserved.
  +
  + Redistribution and use in source and binary forms, with or without
  + modification, are permitted provided that the following conditions
  + are met:
  +
  + 1. Redistributions of source code must retain the above copyright
  +    notice, this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright
  +    notice, this list of conditions and the following disclaimer in
  +    the documentation and/or other materials provided with the
  +    distribution.
  +
  + 3. The end-user documentation included with the redistribution, if
  +    any, must include the following acknowlegement:
  +       "This product includes software developed by the
  +        Apache Software Foundation (http://www.apache.org/)."
  +    Alternately, this acknowlegement may appear in the software itself,
  +    if and wherever such third-party acknowlegements normally appear.
  +
  + 4. The names "The Jakarta Project", "Ant", and "Apache Software
  +    Foundation" must not be used to endorse or promote products derived
  +    from this software without prior written permission. For written
  +    permission, please contact apache@apache.org.
  +
  + 5. Products derived from this software may not be called "Apache"
  +    nor may "Apache" appear in their names without prior written
  +    permission of the Apache Group.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + SUCH DAMAGE.
  + ====================================================================
  +
  + This software consists of voluntary contributions made by many
  + individuals on behalf of the Apache Software Foundation.  For more
  + information on the Apache Software Foundation, please see
  + <http://www.apache.org/>.
  + -->
  + 
  +<!--
  +
  +  The purpose have this XSL is to provide a nice way to look at the output
  +  from the Ant XmlLogger (ie: ant -listener org.apache.tools.ant.XmlLogger )
  +  
  +  @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
  +  
  +-->
  +<xsl:decimal-format decimal-separator="." grouping-separator="," />
   
   <xsl:template match="/">
   	<html>
  +	  <head>
  +	<style type="text/css">
  +	  .bannercell {
  +      border: 0px;
  +      padding: 0px;
  +    }
  +    
  +	  body {
  +	    margin: 0;
  +		  font:normal 100% arial,helvetica,sanserif;
  +		  background-color:#FFFFFF;
  +		  color:#000000;
  +	  }
  +	  table.status {
  +	    font:bold 100% arial,helvetica,sanserif;
  +	    background-color:#525D76;
  +	    color:#ffffff;
  +	  }
  +	  table.log tr td, tr th {
  +		  font-size: 68% courier;
  +	  }
  +	  .error {
  +		  color:red;
  +	  }
  +	  .warn {
  +		  color:brown;
  +	  }
  +	  .info {
  +	    color:gray;
  +	  }
  +	  .debug{
  +	    color:gray;
  +	  }
  +    .failed {
  +  	  background-color: red;
  +  	  color:#FFFFFF;
  +	    font-weight: bold
  +	  }
  +    .complete {
  +  	  background-color: #525D76;
  +  	  color:#FFFFFF;
  +	    font-weight: bold
  +	  }
  +    .a td { 
  +    	background: #efefef;
  +    }
  +    .b td { 
  +    	background: #fff;
  +    }
  +    th, td {
  +	    text-align: left;
  +	    vertical-align: top;
  + 	  }
  +    th {
  +	    background: #ccc;
  +	    color: black;
  +	  }    
  +    table, th, td	{
  +	    border: none
  +	  }
  +    h3 {
  +      font-family:	Tahoma, Verdana, Helvetica, Arial, sans-serif;
  +      background: #525D76;
  +      color: white;
  +      text-decoration: none;
  +	    padding: 5px;
  +	    margin-right: 2px;
  +	    margin-left: 2px;
  +	    font-size:	small;
  +	    margin-bottom: 0; 
  +    }
  +	  </style>
  +	  </head>
   		<body>
  -			<xsl:apply-templates/>
  +		  <!-- jakarta logo -->
  +      <table border="0" cellpadding="0" cellspacing="0" width="100%">
  +        <tr>
  +          <td valign="top" class="bannercell">
  +            <a href="http://jakarta.apache.org/">
  +            <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org"
align="left" border="0"/>
  +            </a>
  +          </td>
  +          <td style="text-align:right;vertical-align:bottom">
  +          <a href="htp://jakarta.apache.org/ant">Jakarta Ant</a>
  +          </td>
  +        </tr>
  +      </table>
  +      
  +      <table border="0" width="100%">
  +        <tr><td><hr noshade="yes" size="1"/></td></tr>
  +      </table>
  +      
  +			<xsl:apply-templates select="build"/>
  +			
  +    <!-- FOOTER -->
  +    <table width="100%">
  +      <tr><td><hr noshade="yes" size="1"/></td></tr>
  +      <tr><td>
  +          <div align="center"><font color="#525D76" size="-1"><em>
  +          Copyright &#169; 1999-2001, Apache Software Foundation
  +          </em></font></div>
  +      </td></tr>
  +    </table>
   		</body>
   	</html>
   </xsl:template>
   
  -<xsl:template match="*">
  -	<xsl:apply-templates/>
  -</xsl:template>
  -
   <xsl:template match="build">
  -	<center>
  -		<table width="100%" bgcolor="#CCCCCC"><tr>
  -			<xsl:if test=".[@error]">
  -				<td align="left" width="30%"><b>Build Failed</b></td> 
  -				<td align="center" width="40%"><b><xsl:value-of select="@error"/></b></td>
  +	  <!-- build status -->
  +		<table width="100%">
  +		  <xsl:attribute name="class">
  +		    <xsl:if test="@error">failed</xsl:if>
  +		    <xsl:if test="not(@error)">complete</xsl:if>
  +		  </xsl:attribute>
  +		<tr>
  +			<xsl:if test="@error">
  +				<td nowrap="yes">Build Failed</td> 
   			</xsl:if>
  -			<xsl:if test=".[not(@error)]">
  -				<td><b>Build Complete</b></td>
  +			<xsl:if test="not(@error)">
  +				<td nowrap="yes">Build Complete</td>
   			</xsl:if>
  -			<td align="right" width="30%"><b>Total Time: <xsl:value-of select="@time"/></b></td>
  -		</tr></table>
  -		
  -		<br/>
  -		<table >
  -			<xsl:apply-templates/>
  +			<td style="text-align:right" nowrap="yes">Total Time: <xsl:value-of select="@time"/></td>
  +		</tr>
  +		<tr>
  +		  <td colspan="2">
  +		  <xsl:if test="@error">
  +		  <tt><xsl:value-of select="@error"/></tt><br/>
  +		  <i style="font-size:80%">See the <a href="#stacktrace" alt="Click for details">stacktrace</a>.</i>
  +		  </xsl:if>
  +		  </td>
  +		</tr>
   		</table>
  -		
  -	</center>
  -
  +		<table border="1" cellspacing="2" cellpadding="3" width="100%" style="font-size:80%">
  +		  <tr class="a"><td width="1">ant.file</td><td><xsl:value-of
select="substring-after(message[contains(text(),'ant.file')], '->')"/></td></tr>
  +      <tr class="b"><td width="1">ant.version</td><td><xsl:value-of
select="substring-after(message[contains(text(),'ant.version')], '->')"/></td></tr>
  +      <tr class="a"><td width="1">java.version</td><td><xsl:value-of
select="substring-after(message[contains(text(),'java.vm.version')], '->')"/></td></tr>
  +      <tr class="b"><td width="1">os.name</td><td><xsl:value-of
select="substring-after(message[contains(text(),'os.name')], '->')"/></td></tr>
  +    </table>
  +		<!-- build information -->
  +		<h3>Build events</h3>
  +		<table class="log" border="1" cellspacing="2" cellpadding="3" width="100%">
  +		  <tr>
  +		    <th nowrap="yes" align="left" width="1%">target</th>
  +		    <th nowrap="yes" align="left" width="1%">task</th>
  +		    <th nowrap="yes" align="left">message</th>
  +		  </tr>
  +			<xsl:apply-templates select=".//message[@priority != 'debug']"/>
  +		</table>
  +		<p>
  +		<!-- stacktrace -->
  +		<xsl:if test="stacktrace">
  +		<h3>Error details</h3>
  +		<table width="100%">
  +		  <tr><td>
  +		  <pre>
  +		  <xsl:value-of select="stacktrace"/>
  +		  </pre>
  +		  </td></tr>
  +		</table>
  +		</xsl:if>
  +    </p>
   </xsl:template>
   
  +<!-- report every message but those with debug priority -->
   <xsl:template match="message[@priority!='debug']">
   	<tr valign="top">
  -		
  -		<td><b><pre><xsl:value-of select="../@location"/></pre></b></td>
  -		<td><b><pre><xsl:value-of select="../@name"/></pre></b></td>
  -
  -		<td>
  -			<xsl:attribute name="STYLE">color:
  -				<xsl:choose>
  -					<xsl:when test="@priority[.='error']">red</xsl:when>
  -					<xsl:when test="@priority[.='warn']">brown</xsl:when>
  -					<xsl:when test="@priority[.='info']">gray</xsl:when>
  -					<xsl:when test="@priority[.='debug']">gray</xsl:when>
  -				</xsl:choose>
  -			</xsl:attribute>
  -			<pre><xsl:value-of select="text()"/></pre>
  +	  <!-- alternated row style -->
  +		<xsl:attribute name="class">
  +		  <xsl:if test="position() mod 2 = 1">a</xsl:if>
  +		  <xsl:if test="position() mod 2 = 0">b</xsl:if>
  +		</xsl:attribute>
  +		<td nowrap="yes" width="1%"><xsl:value-of select="../../@name"/></td>
  +		<td nowrap="yes" style="text-align:right" width="1%">[ <xsl:value-of select="../@name"/>
]</td>
  +
  +		<td class="{@priority}" nowrap="yes">
  +			<xsl:value-of select="text()"/>
   		</td>
   	</tr>
   </xsl:template>
  
  
  

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message