Browse Source

Added reporting xslt sheet for checkstyle and removed some cruft from jdepend stylesheet.

Submitted by: "Ingmar J Stein" <stein@xtramind.com>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271844 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 23 years ago
parent
commit
9c0169b5bd
2 changed files with 276 additions and 24 deletions
  1. +270
    -0
      src/etc/checkstyle-frames.xsl
  2. +6
    -24
      src/etc/jdepend-frames.xsl

+ 270
- 0
src/etc/checkstyle-frames.xsl View File

@@ -0,0 +1,270 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:lxslt="http://xml.apache.org/xslt"
xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
extension-element-prefixes="redirect">

<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
<xsl:decimal-format decimal-separator="." grouping-separator="," />

<xsl:param name="output.dir" select="'.'"/>

<xsl:template match="checkstyle">
<!-- create the index.html -->
<redirect:write file="{$output.dir}/index.html">
<xsl:call-template name="index.html"/>
</redirect:write>

<!-- create the stylesheet.css -->
<redirect:write file="{$output.dir}/stylesheet.css">
<xsl:call-template name="stylesheet.css"/>
</redirect:write>

<!-- create the overview-summary.html at the root -->
<redirect:write file="{$output.dir}/overview-frame.html">
<xsl:apply-templates select="." mode="overview"/>
</redirect:write>

<!-- create the all-classes.html at the root -->
<redirect:write file="{$output.dir}/allclasses-frame.html">
<xsl:apply-templates select="." mode="all.classes"/>
</redirect:write>

<!-- process all files -->
<xsl:apply-templates select="file"/>
</xsl:template>

<xsl:template name="index.html">
<html>
<head>
<title>CheckStyle Audit</title>
</head>
<frameset cols="20%,80%">
<frame src="allclasses-frame.html" name="fileListFrame"/>
<frame src="overview-frame.html" name="fileFrame"/>
</frameset>
<noframes>
<h2>Frame Alert</h2>
<p>
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
</p>
</noframes>
</html>
</xsl:template>

<xsl:template name="pageHeader">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="text-align:right"><h2>CheckStyle Audit</h2></td>
</tr>
<tr>
<td class="text-align:right">Designed for use with <a href='http://checkstyle.sourceforge.net/'>CheckStyle</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td>
</tr>
</table>
<hr size="1"/>
</xsl:template>

<xsl:template match="checkstyle" mode="overview">
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<!-- page header -->
<xsl:call-template name="pageHeader"/>

<!-- Summary part -->
<xsl:apply-templates select="." mode="summary"/>
<hr size="1" width="100%" align="left"/>

<!-- File list part -->
<xsl:apply-templates select="." mode="filelist"/>
</body>
</html>
</xsl:template>

<xsl:template name="stylesheet.css">
.bannercell {
border: 0px;
padding: 0px;
}
body {
margin-left: 10;
margin-right: 10;
font:normal 80% arial,helvetica,sanserif;
background-color:#FFFFFF;
color:#000000;
}
.a td {
background: #efefef;
}
.b td {
background: #fff;
}
th, td {
text-align: left;
vertical-align: top;
}
th {
font-weight:bold;
background: #ccc;
color: black;
}
table, th, td {
font-size:100%;
border: none
}
table.log tr td, tr th {

}
h2 {
font-weight:bold;
font-size:140%;
margin-bottom: 5;
}
h3 {
font-size:100%;
font-weight:bold;
background: #525D76;
color: white;
text-decoration: none;
padding: 5px;
margin-right: 2px;
margin-left: 2px;
margin-bottom: 0;
}
</xsl:template>

<!--
Creates an all-classes.html file that contains a link to all files.
-->
<xsl:template match="checkstyle" mode="all.classes">
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<h2>Files</h2>
<p>
<table width="100%">
<!-- For each file create its part -->
<xsl:apply-templates select="file" mode="all.classes">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</table>
</p>
</body>
</html>
</xsl:template>

<xsl:template match="checkstyle" mode="filelist">
<h3>Files</h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Name</th>
<th>Errors</th>
</tr>
<xsl:apply-templates select="file" mode="filelist">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</table>
</xsl:template>

<xsl:template match="file" mode="filelist">
<tr>
<xsl:call-template name="alternated-row"/>
<td nowrap="nowrap">
<a>
<xsl:attribute name="href">
<xsl:text>files/</xsl:text><xsl:value-of select="@name"/><xsl:text>.html</xsl:text>
</xsl:attribute>
<xsl:value-of select="@name"/>
</a>
</td>
<td><xsl:value-of select="count(error)"/></td>
</tr>
</xsl:template>

<xsl:template match="file" mode="all.classes">
<tr>
<td nowrap="nowrap">
<a target="fileFrame">
<xsl:attribute name="href">
<xsl:text>files/</xsl:text><xsl:value-of select="@name"/><xsl:text>.html</xsl:text>
</xsl:attribute>
<xsl:value-of select="@name"/>
</a>
</td>
</tr>
</xsl:template>

<!--
transform string like a/b/c to ../../../
@param path the path to transform into a descending directory path
-->
<xsl:template name="path">
<xsl:param name="path"/>
<xsl:if test="contains($path,'/')">
<xsl:text>../</xsl:text>
<xsl:call-template name="path">
<xsl:with-param name="path"><xsl:value-of select="substring-after($path,'/')"/></xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="not(contains($path,'/')) and not($path = '')">
<xsl:text>../</xsl:text>
</xsl:if>
</xsl:template>

<xsl:template match="file">
<redirect:write file="{$output.dir}/files/{@name}.html">
<html>
<head>
<link rel="stylesheet" type="text/css">
<xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="@name"/></xsl:call-template><xsl:text>stylesheet.css</xsl:text></xsl:attribute>
</link>
</head>
<body>
<xsl:call-template name="pageHeader"/>
<h3>File <xsl:value-of select="@name"/></h3>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Error Description</th>
<th>Line</th>
</tr>
<xsl:for-each select="error">
<tr>
<xsl:call-template name="alternated-row"/>
<td><xsl:value-of select="@message"/></td>
<td><xsl:value-of select="@line"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</redirect:write>
</xsl:template>

<xsl:template match="checkstyle" mode="summary">
<h3>Summary</h3>
<xsl:variable name="fileCount" select="count(file)"/>
<xsl:variable name="errorCount" select="count(file/error)"/>
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Files</th>
<th>Errors</th>
</tr>
<tr>
<xsl:call-template name="alternated-row"/>
<td><xsl:value-of select="$fileCount"/></td>
<td><xsl:value-of select="$errorCount"/></td>
</tr>
</table>
</xsl:template>

<xsl:template name="alternated-row">
<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>
</xsl:template>
</xsl:stylesheet>


+ 6
- 24
src/etc/jdepend-frames.xsl View File

@@ -109,13 +109,6 @@
<redirect:write file="{$output.dir}/all-cycles.html">
<xsl:apply-templates select="Cycles" mode="all.cycles"/>
</redirect:write>

<!-- process all packages -->
<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
<xsl:call-template name="package">
<xsl:with-param name="name" select="@package"/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>


@@ -198,8 +191,7 @@
<xsl:template match="JDepend" mode="overview.packages">
<html>
<head>
<xsl:call-template name="create.stylesheet.link">
</xsl:call-template>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<xsl:call-template name="pageHeader"/>
@@ -262,8 +254,7 @@
<xsl:template match="JDepend" mode="packages.details">
<html>
<head>
<xsl:call-template name="create.stylesheet.link">
</xsl:call-template>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<xsl:call-template name="pageHeader"/>
@@ -352,8 +343,7 @@
<xsl:template match="JDepend" mode="cycles.details">
<html>
<head>
<xsl:call-template name="create.stylesheet.link">
</xsl:call-template>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<xsl:call-template name="pageHeader"/>
@@ -395,8 +385,7 @@
<xsl:template match="JDepend" mode="explanations">
<html>
<head>
<xsl:call-template name="create.stylesheet.link">
</xsl:call-template>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<xsl:call-template name="pageHeader"/>
@@ -440,8 +429,7 @@ Creates an html file that contains a link to all package links in overview-packa
<xsl:template match="JDepend/Packages" mode="all.packages">
<html>
<head>
<xsl:call-template name="create.stylesheet.link">
</xsl:call-template>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right">
@@ -493,8 +481,7 @@ Creates an html file that contains a link to all package links in overview-cycle
<xsl:template match="JDepend/Cycles" mode="all.cycles">
<html>
<head>
<xsl:call-template name="create.stylesheet.link">
</xsl:call-template>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>
<table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right">
@@ -521,11 +508,6 @@ Creates an html file that contains a link to all package links in overview-cycle
</tr>
</xsl:template>
<!-- create the link to the stylesheet based on the package name -->
<xsl:template name="create.stylesheet.link">
<link rel="stylesheet" type="text/css" title="Style"><xsl:attribute name="href">stylesheet.css</xsl:attribute></link>
</xsl:template>

<!-- Page HEADER -->
<xsl:template name="pageHeader">
<h1>JDepend Analysis</h1>


Loading…
Cancel
Save