example of an ant build file and stylesheet for generation of an
HTML error report with links to source code
This commit is contained in:
parent
cdf603dd48
commit
784f0bda44
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<project name="style" default="checkstyle.style" basedir=".">
|
||||
|
||||
<property name="checkstyle-all.jar" value="C:/javautil/checkstyle-3.4/checkstyle-all-3.4.jar" />
|
||||
<property name="java2html.jar" value="C:/javautil/java2html/java2html.jar" />
|
||||
<property name="src.dir" value="T:\2004\eclipse\workspace\checkstyle\src\checkstyle\com\puppycrawl\tools\checkstyle\checks" />
|
||||
<property name="check.config" value="T:/2004/eclipse/workspace/checkstyle/docs/sun_checks.xml" />
|
||||
<property name="dest.dir" value="target/cs-errors"/>
|
||||
<property name="html.dir" value="src_html"/>
|
||||
|
||||
<!-- -->
|
||||
<!-- Cleanup targets -->
|
||||
<!-- -->
|
||||
<target name="clean" description="Cleans any directories and generated files">
|
||||
<delete dir="target" />
|
||||
</target>
|
||||
|
||||
<!-- -->
|
||||
<!-- Create syntax-highlighted HTML files from Java source files. -->
|
||||
<!-- Requires java2html, http://www.java2html.de/ -->
|
||||
<!-- -->
|
||||
<target name="java.to.html"
|
||||
description="Creates HTML files with syntax highlighting from Java source files">
|
||||
|
||||
<taskdef name="java2html"
|
||||
classname="de.java2html.anttasks.Java2HtmlTask"
|
||||
classpath="${java2html.jar}"
|
||||
/>
|
||||
<java2html srcdir="${src.dir}"
|
||||
destdir="target/${html.dir}"
|
||||
includes="**/*.java"
|
||||
outputFormat="html"
|
||||
tabs="4"
|
||||
style="eclipse"
|
||||
showLineNumbers="true"
|
||||
addLineAnchors="true"
|
||||
showFileName="true"
|
||||
includeDocumentHeader="true"
|
||||
includeDocumentFooter="true"
|
||||
/>
|
||||
</target>
|
||||
|
||||
<taskdef resource="checkstyletask.properties"
|
||||
classpath="${checkstyle-all.jar}"/>
|
||||
|
||||
<!-- -->
|
||||
<!-- Run checkstyle and generate error report with links to source code -->
|
||||
<!-- -->
|
||||
<target name="checkstyle.style"
|
||||
depends="java.to.html"
|
||||
description="Runs checkstyle and generates an error report with links to source code">
|
||||
|
||||
<mkdir dir="target"/>
|
||||
<checkstyle failonviolation="false" config="${check.config}">
|
||||
<fileset dir="${src.dir}"
|
||||
includes="**/*.java,**/*.properties"
|
||||
excludes="**/Generated*.java,**/gui/*,,**/transmogrify/*"/>
|
||||
<formatter type="xml" toFile="target/cs_errors.xml"/>
|
||||
</checkstyle>
|
||||
<mkdir dir="target/cs-errors"/>
|
||||
<style basedir="target"
|
||||
destdir="target/cs-errors"
|
||||
includes="cs_errors.xml"
|
||||
style="checkstyle-noframes.xsl">
|
||||
<param name="src.dir" expression="${src.dir}"/>
|
||||
<param name="html.dir" expression="../${html.dir}"/>
|
||||
</style>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
|
@ -0,0 +1,190 @@
|
|||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="html" indent="yes"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
|
||||
<!-- Checkstyle XML Style Sheet by Stephane Bailliez <sbailliez@apache.org> -->
|
||||
<!-- Links errors to lines in HTML version of source code. -->
|
||||
<!-- Part of the Checkstyle distribution found at http://checkstyle.sourceforge.net -->
|
||||
<!-- Usage (generates checkstyle_report.html): -->
|
||||
<!-- <checkstyle failonviolation="false" config="${check.config}"> -->
|
||||
<!-- <fileset dir="${src.dir}" includes="**/*.java"/> -->
|
||||
<!-- <formatter type="xml" toFile="${doc.dir}/checkstyle_report.xml"/> -->
|
||||
<!-- </checkstyle> -->
|
||||
<!-- <style basedir="${doc.dir}" destdir="${doc.dir}" -->
|
||||
<!-- includes="checkstyle_report.xml" -->
|
||||
<!-- style="${doc.dir}/checkstyle-noframes.xsl"> -->
|
||||
<!-- <param name="src.dir" expression="${src.dir}"/> -->
|
||||
<!-- <param name="html.dir" expression="${html.dir}"/> -->
|
||||
<!-- </style> -->
|
||||
|
||||
<!-- source directory name for stripping off link href attribute value -->
|
||||
<xsl:param name="src.dir"/>
|
||||
<!-- directory containing syntax-highlighted HTML files for java source files -->
|
||||
<xsl:param name="html.dir"/>
|
||||
|
||||
<xsl:template match="checkstyle">
|
||||
<html>
|
||||
<head>
|
||||
<style type="text/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;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a name="top"></a>
|
||||
<!-- jakarta logo -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td class="bannercell" rowspan="2">
|
||||
<!--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 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"/>
|
||||
|
||||
<!-- Summary part -->
|
||||
<xsl:apply-templates select="." mode="summary"/>
|
||||
<hr size="1" width="100%" align="left"/>
|
||||
|
||||
<!-- Package List part -->
|
||||
<xsl:apply-templates select="." mode="filelist"/>
|
||||
<hr size="1" width="100%" align="left"/>
|
||||
|
||||
<!-- For each package create its part -->
|
||||
<xsl:for-each select="file">
|
||||
<xsl:sort select="@name"/>
|
||||
<xsl:apply-templates select="."/>
|
||||
<p/>
|
||||
<p/>
|
||||
</xsl:for-each>
|
||||
<hr size="1" width="100%" align="left"/>
|
||||
|
||||
|
||||
</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:for-each select="file">
|
||||
<xsl:sort select="@name"/>
|
||||
<xsl:variable name="errorCount" select="count(error)"/>
|
||||
<tr>
|
||||
<xsl:call-template name="alternated-row"/>
|
||||
<td><a href="#f-{@name}"><xsl:value-of select="@name"/></a></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="file">
|
||||
<a name="f-{@name}"></a>
|
||||
<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><a>
|
||||
<xsl:attribute name="href"><xsl:value-of select="$html.dir"/>/<xsl:value-of select="substring-after(../@name, $src.dir)"/>.html#<xsl:value-of select="@line"/></xsl:attribute>
|
||||
<xsl:value-of select="@line"/></a></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
<a href="#top">Back to top</a>
|
||||
</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>
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
Example of an ant build file and stylesheet for generation of an HTML error
|
||||
report with links to source code, as discussed on sourceforge.net:
|
||||
checkstyle-user,
|
||||
http://sourceforge.net/mailarchive/forum.php?thread_id=4891991&forum_id=8139.
|
||||
|
||||
Requires: java2html, http://www.java2html.de/
|
||||
|
|
@ -81,6 +81,12 @@
|
|||
for Checkstyle, and how to support XInclude processing
|
||||
(contrib/examples/XInclude, request 905169).</li>
|
||||
|
||||
<li class="body">Added example of an ant build file and stylesheet for generation of
|
||||
an HTML error report with links to source code.
|
||||
(contrib/examples/linkErrors2Source, discussed on
|
||||
<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=4891991&forum_id=8139">sourceforge.net:
|
||||
checkstyle-user</a>).</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p class="body">
|
||||
|
|
|
|||
Loading…
Reference in New Issue