bwalding 2003/08/29 17:48:31 Added: src/plugins-build/findbugs/src/plugin-resources findbugs.jsl Log: Sort of prints something useful now Revision Changes Path 1.1 maven/src/plugins-build/findbugs/src/plugin-resources/findbugs.jsl Index: findbugs.jsl =================================================================== <?xml version="1.0"?> <jsl:stylesheet select="$doc" xmlns:j="jelly:core" xmlns:jsl="jelly:jsl" xmlns:util="jelly:util" xmlns:x="jelly:xml" xmlns:doc="doc" xmlns="dummy" trim="false"> <!-- This needs to be instantiated here to be available in the template matches --> <j:useBean var="mavenTool" class="org.apache.maven.util.MavenTool"/> <j:useBean var="htmlescape" class="org.apache.velocity.anakia.Escape"/> <j:useBean var="fileutil" class="org.apache.velocity.texen.util.FileUtil"/> <j:useBean var="pathtool" class="org.apache.maven.util.DVSLPathTool"/> <jsl:template match="BugCollection"> <document> <properties> <title>FindBugs Results</title> </properties> <body> <section name="FindBugs Results"> <p> The following document contains the results of <a href="http://www.cs.umd.edu/~pugh/java/bugs/">FindBugs</a>. </p> </section> <section name="Summary"> <j:set var="classCount"><x:expr select="count(//AppClass)"/></j:set> <j:set var="errorCount"><x:expr select="count(//BugInstance)"/></j:set> <table> <tr> <th>Classes / Interfaces</th> <th width="15%">Bugs</th> </tr> <tr> <td><doc:formatAsNumber string="${classCount}" pattern="0"/></td> <td><doc:formatAsNumber string="${errorCount}" pattern="0"/></td> </tr> </table> </section> <section name="Classes"> <table> <tr> <th>Class</th> <th width="15%">Bugs</th> </tr> <!-- Just get distinct classnames --> <x:set var="bugs" select="//BugInstance[not(Class/@classname = preceding-sibling::BugInstance/Class/@classname)]"/> <j:forEach var="bug" items="${bugs}"> <j:set var="classname"><x:expr select="$bug/Class/@classname"/></j:set> <j:set var="errorCount"><x:expr select="count(//BugInstance[Class/@classname = '${classname}'])"/></j:set> <tr> <td> <a href="#${classname}">${classname}</a> </td> <td><doc:formatAsNumber string="${errorCount}" pattern="0"/></td> </tr> </j:forEach> </table> </section> <section name="Bugs"> <x:set var="bugs" select="//BugInstance[not(Class/@classname = preceding-sibling::BugInstance/Class/@classname)]"/> <j:forEach var="bug" items="${bugs}"> <j:set var="classname"><x:expr select="$bug/Class/@classname"/></j:set> <x:set var="bugsInner" select="//BugInstance[Class/@classname = '${classname}']"/> <subsection name="${classname}"> <j:forEach var="bugInner" items="${bugsInner}"> <j:set var="bugType"><x:expr select="$bugInner/@type"/></j:set> <j:set var="bugTypeDescription" value="The FindBugs plugin does not have a message for this bug type"/> <j:if test="${bugType == 'DM_BOOLEAN_CTOR'}"><j:set var="bugTypeDescription">Dubious use of the Boolean constructor. Use valueOf.</j:set></j:if> <table width="100%"> <tr> <th width="15%">Bug Type</th><td>${bugType}</td> </tr> <tr> <th width="15%">Bug Description</th><td>${bugTypeDescription}</td> </tr> <tr> <th>Method</th><td><x:expr select="$bugInner/Method/@name"/></td> </tr> <tr> <th>Field</th><td><x:expr select="$bugInner/Field/@name"/></td> </tr> </table> </j:forEach> </subsection> </j:forEach> </section> </body> </document> </jsl:template> </jsl:stylesheet>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]