rls preps
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@878 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
<property name="test-data" value="test-data\"/>
|
||||
<property name="regress" value="regress\"/>
|
||||
<property name="reports" value="reports\"/>
|
||||
<property name="version" value="0.9"/>
|
||||
<property name="version" value="1.0rc1"/>
|
||||
<property name="jnlp_staging_area" value="c:\data\importscrubberjnlp\"/>
|
||||
|
||||
<path id="classpath.path">
|
||||
|
@ -5,7 +5,6 @@ move rules from "newrules.xml" into a real ruleset file
|
||||
update jar task to reflect pmd-1.0rc1
|
||||
update xdocs/running.xml to reflect pmd-1.0rc1
|
||||
update release number in project.xml
|
||||
update release number in pmd.xml
|
||||
|
||||
set ANT_HOME=c:\ant
|
||||
ant dist
|
||||
|
@ -28,7 +28,7 @@
|
||||
extension=".xml"
|
||||
includes="**/*.xml"
|
||||
basedir="${rulesets.dir}"
|
||||
style="${dvsl.dir}/rule-format.dvsl"
|
||||
style="c:\data\pmd\pmd\dvsl\rule-format.dvsl"
|
||||
destdir="${maven.gen.docs}/rules">
|
||||
</dvsl:dvsl>
|
||||
</goal>
|
||||
|
161
pmd/pmd.xml
161
pmd/pmd.xml
@ -1,161 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!--
|
||||
pmd.xml
|
||||
|
||||
This is a Maven Callback Build File. It will
|
||||
build the Parser again, if needed. As well, it
|
||||
will update documents on the Build Site.
|
||||
|
||||
-->
|
||||
|
||||
<project name="pmd" default="pre-build">
|
||||
<target name="load-tasks">
|
||||
<taskdef
|
||||
name="dvsl"
|
||||
classname="org.apache.tools.dvsl.DVSLTask">
|
||||
<classpath refid="maven-classpath" />
|
||||
</taskdef>
|
||||
|
||||
<taskdef
|
||||
name="pmd"
|
||||
classname="net.sourceforge.pmd.ant.PMDTask">
|
||||
<classpath>
|
||||
<pathelement location="${lib.repo}/pmd-0.9.jar" />
|
||||
</classpath>
|
||||
</taskdef>
|
||||
|
||||
<!--
|
||||
<taskdef
|
||||
name="quilt"
|
||||
classname="junit.quilt.ant.AntQuiltRunner">
|
||||
<classpath>
|
||||
<pathelement location="lib/quilt.jar" />
|
||||
<pathelement location="lib/bcel.jar" />
|
||||
<pathelement location="lib/commons-graph.jar" />
|
||||
<pathelement location="lib/commons-collections.jar" />
|
||||
<pathelement location="lib/colt.jar" />
|
||||
</classpath>
|
||||
</taskdef>
|
||||
-->
|
||||
|
||||
</target>
|
||||
|
||||
<target name="pre-build"
|
||||
depends="JavaCC" />
|
||||
|
||||
<target name="checkJJTree">
|
||||
<uptodate property="jjTree.notRequired"
|
||||
srcfile="etc/Java1.4-c.jjt"
|
||||
targetfile="src/net/sourceforge/pmd/ast/Java1.4-c.jj" />
|
||||
</target>
|
||||
|
||||
<target name="jjTree"
|
||||
depends="checkJJTree"
|
||||
unless="jjTree.notRequired">
|
||||
<fail message="javacc.home must be set."
|
||||
unless="javacc.home" />
|
||||
|
||||
<jjtree target="etc/Java1.4-c.jjt"
|
||||
outputdirectory="src/net/sourceforge/pmd/ast/"
|
||||
javacchome="${javacc.home}" />
|
||||
</target>
|
||||
|
||||
<target name="checkJavaCC"
|
||||
depends="jjTree">
|
||||
<uptodate property="javaCC.notRequired"
|
||||
srcfile="src/net/sourceforge/pmd/ast/Java1.4-c.jj"
|
||||
targetfile="src/net/sourceforge/pmd/ast/JavaParser.java" />
|
||||
</target>
|
||||
|
||||
<target name="JavaCC"
|
||||
depends="checkJavaCC"
|
||||
unless="javaCC.notRequired">
|
||||
<fail message="javacc.home must be set."
|
||||
unless="javacc.home" />
|
||||
|
||||
<javacc target="src/net/sourceforge/pmd/ast/Java1.4-c.jj"
|
||||
outputdirectory="src/net/sourceforge/pmd/ast/"
|
||||
javacchome="${javacc.home}" />
|
||||
</target>
|
||||
|
||||
<!-- Documentation Chores -->
|
||||
<target name="pre-docs" depends="rule-docs,run-jdk,pmd-docs" />
|
||||
<target name="post-docs" depends="move-php" />
|
||||
|
||||
<target name="rule-docs" depends="load-tasks">
|
||||
<mkdir dir="${maven.gen.docs}/rules" />
|
||||
<dvsl basedir="rulesets"
|
||||
destdir="${maven.gen.docs}/rules"
|
||||
extension=".xml"
|
||||
includes="*.xml"
|
||||
style="dvsl/rule-format.dvsl">
|
||||
</dvsl>
|
||||
</target>
|
||||
|
||||
<target name="move-php">
|
||||
<move todir="${pmd.cgi.dest}">
|
||||
<fileset dir="${pmd.cgi.dest}" />
|
||||
<mapper type="glob" from="*.html" to="*.php" />
|
||||
</move>
|
||||
</target>
|
||||
|
||||
<target name="quilt" depends="load-tasks">
|
||||
<mkdir dir="${maven.quilt.reportsDirectory}" />
|
||||
<quilt report="${maven.quilt.reportsDirectory}/coverage.xml"
|
||||
register="junit.quilt.cover.ball94.B94Registry"
|
||||
reporter="junit.quilt.reports.XMLSummary"
|
||||
packages="${maven.package}">
|
||||
<classpath>
|
||||
<path refid="maven.dependency.classpath" />
|
||||
<pathelement location="${maven.build.dest}" />
|
||||
<pathelement location="${maven.test.dest}" />
|
||||
</classpath>
|
||||
<fileset dir="${maven.unitTestSourceDirectory}">
|
||||
<patternset refid="maven.unit.test.set" />
|
||||
</fileset>
|
||||
</quilt>
|
||||
</target>
|
||||
|
||||
<target name="quilt-docs" />
|
||||
|
||||
<target name="run-pmd" depends="load-tasks">
|
||||
<mkdir dir="${maven.pmd.reportsDirectory}" />
|
||||
<pmd reportFile="${maven.pmd.reportsDirectory}/${maven.final.name}.xml"
|
||||
verbose="false"
|
||||
rulesetfiles="rulesets/basic.xml,rulesets/unusedcode.xml,rulesets/design.xml"
|
||||
format="xml"
|
||||
failonerror="no">
|
||||
<fileset dir="${maven.src.dir}">
|
||||
<include name="**/*.java" />
|
||||
</fileset>
|
||||
</pmd>
|
||||
</target>
|
||||
|
||||
<target name="run-jdk"
|
||||
depends="load-tasks"
|
||||
if="jdk14.src">
|
||||
<mkdir dir="${maven.pmd.reportsDirectory}" />
|
||||
<pmd reportFile="${maven.pmd.reportsDirectory}/jdk-1.4.xml"
|
||||
verbose="false"
|
||||
rulesetfiles="rulesets/basic.xml,rulesets/unusedcode.xml,rulesets/design.xml"
|
||||
format="xml"
|
||||
failonerror="no">
|
||||
<fileset dir="${jdk14.src}">
|
||||
<include name="**/*.java" />
|
||||
</fileset>
|
||||
</pmd>
|
||||
</target>
|
||||
|
||||
<target name="pmd-docs" depends="load-tasks">
|
||||
<mkdir dir="${maven.gen.docs}/demo" />
|
||||
<dvsl basedir="${maven.pmd.reportsDirectory}"
|
||||
destdir="${maven.gen.docs}/demo"
|
||||
extension=".xml"
|
||||
includes="*.xml"
|
||||
style="dvsl/pmd-format.dvsl">
|
||||
</dvsl>
|
||||
</target>
|
||||
|
||||
|
||||
</project>
|
@ -3,7 +3,7 @@
|
||||
<pomVersion>3</pomVersion>
|
||||
<id>pmd</id>
|
||||
<name>PMD</name>
|
||||
<currentVersion>0.9</currentVersion>
|
||||
<currentVersion>1.0rc1</currentVersion>
|
||||
<organization>
|
||||
<name>Project Ultra*Log @ DARPA</name>
|
||||
<url>http://pmd.sourceforge.net/</url>
|
||||
@ -47,9 +47,9 @@
|
||||
|
||||
<versions>
|
||||
<version>
|
||||
<id>0.9</id>
|
||||
<name>0.9</name>
|
||||
<tag>pmd_release_0_9</tag>
|
||||
<id>1.0rc1</id>
|
||||
<name>1.0rc1</name>
|
||||
<tag>pmd_release_1_0rc1</tag>
|
||||
</version>
|
||||
<version>
|
||||
<id>dev</id>
|
||||
|
@ -81,41 +81,7 @@ while (a == b) {
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
<rule name="OverrideBothEqualsAndHashcodeRule"
|
||||
message="Ensure you override both equals() and hashCode()"
|
||||
class="net.sourceforge.pmd.rules.OverrideBothEqualsAndHashcodeRule">
|
||||
<description>
|
||||
Override both public boolean Object.equals(Object other), and public int Object.hashCode(), or override neither. Even if you are inheriting a hashCode() from a parent class, consider implementing hashCode and explicitly delegating to your superclass.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
// this is bad
|
||||
public class Bar {
|
||||
public boolean equals(Object o) {
|
||||
// do some comparison
|
||||
}
|
||||
}
|
||||
|
||||
// and so is this
|
||||
public class Baz {
|
||||
public int hashCode() {
|
||||
// return some hash value
|
||||
}
|
||||
}
|
||||
|
||||
// this is OK
|
||||
public class Foo {
|
||||
public boolean equals(Object other) {
|
||||
// do some comparison
|
||||
}
|
||||
public int hashCode() {
|
||||
// return some hash value
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
<rule name="EmptyTryBlock"
|
||||
message="Avoid empty try blocks"
|
||||
@ -157,7 +123,65 @@ public void bar() {
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
</ruleset>
|
||||
<rule name="EmptySwitchStatements"
|
||||
message="Avoid empty switch statements"
|
||||
class="net.sourceforge.pmd.rules.EmptySwitchStmtRule">
|
||||
<description>
|
||||
Avoid empty switch statements.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
public class Foo {
|
||||
public void bar() {
|
||||
int x = 2;
|
||||
switch (x) {
|
||||
// once there was code here
|
||||
// but it's been commented out or something
|
||||
}
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
<rule name="OverrideBothEqualsAndHashcodeRule"
|
||||
message="Ensure you override both equals() and hashCode()"
|
||||
class="net.sourceforge.pmd.rules.OverrideBothEqualsAndHashcodeRule">
|
||||
<description>
|
||||
Override both public boolean Object.equals(Object other), and public int Object.hashCode(), or override neither. Even if you are inheriting a hashCode() from a parent class, consider implementing hashCode and explicitly delegating to your superclass.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
// this is bad
|
||||
public class Bar {
|
||||
public boolean equals(Object o) {
|
||||
// do some comparison
|
||||
}
|
||||
}
|
||||
|
||||
// and so is this
|
||||
public class Baz {
|
||||
public int hashCode() {
|
||||
// return some hash value
|
||||
}
|
||||
}
|
||||
|
||||
// this is OK
|
||||
public class Foo {
|
||||
public boolean equals(Object other) {
|
||||
// do some comparison
|
||||
}
|
||||
public int hashCode() {
|
||||
// return some hash value
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
</ruleset>
|
||||
|
||||
|
||||
|
||||
|
@ -64,7 +64,27 @@ The Braces Ruleset contains a collection of braces rules.
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
</ruleset>
|
||||
|
||||
<rule name="IfStmtsMustUseBraces"
|
||||
message="Avoid using if statements without curly braces"
|
||||
class="net.sourceforge.pmd.rules.IfStmtsMustUseBracesRule">
|
||||
<description>
|
||||
Avoid using if statements without using curly braces
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
public class Foo {
|
||||
public void bar() {
|
||||
int x = 0;
|
||||
if (foo) x++;
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
</ruleset>
|
||||
|
||||
|
||||
|
||||
|
@ -190,6 +190,29 @@ public class Foo {
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
|
||||
<rule name="SwitchStmtsShouldHaveDefault"
|
||||
message="Switch statements should have a default label"
|
||||
class="net.sourceforge.pmd.rules.SwitchStmtsShouldHaveDefaultRule">
|
||||
<description>
|
||||
Switch statements should have a default label.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
public class Foo {
|
||||
public void bar() {
|
||||
int x = 2;
|
||||
switch (x) {
|
||||
case 2: int j = 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
|
||||
</ruleset>
|
||||
|
||||
|
||||
|
@ -53,6 +53,21 @@ public class Foo {}
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
<rule name="UnusedImports"
|
||||
message="Avoid unused imports such as ''{0}''"
|
||||
class="net.sourceforge.pmd.rules.UnusedImportsRule">
|
||||
<description>
|
||||
Avoid unused import statements.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
// this is bad
|
||||
import java.io.File;
|
||||
public class Foo {}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
</ruleset>
|
||||
|
||||
|
@ -5,83 +5,7 @@
|
||||
These are new ones for the next release
|
||||
</description>
|
||||
|
||||
<rule name="UnusedImports"
|
||||
message="Avoid unused imports such as ''{0}''"
|
||||
class="net.sourceforge.pmd.rules.UnusedImportsRule">
|
||||
<description>
|
||||
Avoid unused import statements.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
// this is bad
|
||||
import java.io.File;
|
||||
public class Foo {}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
<rule name="EmptySwitchStatements"
|
||||
message="Avoid empty switch statements"
|
||||
class="net.sourceforge.pmd.rules.EmptySwitchStmtRule">
|
||||
<description>
|
||||
Avoid empty switch statements.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
public class Foo {
|
||||
public void bar() {
|
||||
int x = 2;
|
||||
switch (x) {
|
||||
// once there was code here
|
||||
// but it's been commented out or something
|
||||
}
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
<rule name="SwitchStmtsShouldHaveDefault"
|
||||
message="Switch statements should have a default label"
|
||||
class="net.sourceforge.pmd.rules.SwitchStmtsShouldHaveDefaultRule">
|
||||
<description>
|
||||
Switch statements should have a default label.
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
public class Foo {
|
||||
public void bar() {
|
||||
int x = 2;
|
||||
switch (x) {
|
||||
case 2: int j = 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
<rule name="IfStmtsMustUseBraces"
|
||||
message="Avoid using if statements without curly braces"
|
||||
class="net.sourceforge.pmd.rules.IfStmtsMustUseBracesRule">
|
||||
<description>
|
||||
Avoid using if statements without using curly braces
|
||||
</description>
|
||||
|
||||
<example>
|
||||
<![CDATA[
|
||||
public class Foo {
|
||||
public void bar() {
|
||||
int x = 0;
|
||||
if (foo) x++;
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</example>
|
||||
</rule>
|
||||
|
||||
</ruleset>
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
<li>Type run <filename> <report format>, <rule set file>i.e.:</li>
|
||||
<br></br>
|
||||
<pre>
|
||||
C:\tmp\pmd-0.9\pmd\etc>run c:\data\pmd\pmd\test-data\Unused1.java xml rulesets/unusedcode.xml
|
||||
C:\tmp\pmd-1.0rc1\pmd\etc>run c:\data\pmd\pmd\test-data\Unused1.java xml rulesets/unusedcode.xml
|
||||
<?xml version="1.0"?><pmd>
|
||||
<file name="c:\data\pmd\pmd\test-data\Unused1.java">
|
||||
<violation line="5" rule="UnusedLocalVariable">
|
||||
@ -20,7 +20,7 @@ Avoid unused local variables such as 'fr'
|
||||
</violation>
|
||||
</file></pmd>
|
||||
|
||||
C:\tmp\pmd-0.8\pmd\etc>
|
||||
C:\tmp\pmd-1.0rc1\pmd\etc>
|
||||
</pre>
|
||||
<br></br>
|
||||
<li>Notice that in this case the output is in XML, so you can redirect it to a file and XSLT it or whatever</li>
|
||||
@ -29,7 +29,7 @@ C:\tmp\pmd-0.8\pmd\etc>
|
||||
<section name="Running PMD via Ant">
|
||||
<ul>
|
||||
<li>Add a new Ant target to your build file - <a href="ant-task.html">here's</a> some examples.</li>
|
||||
<li>Make sure the pmd-0.9.jar file is on your classpath.</li>
|
||||
<li>Make sure the pmd-1.0rc1.jar file is on your classpath.</li>
|
||||
<li>Run Ant like you normally do.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
Reference in New Issue
Block a user