rls preps

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@878 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
Tom Copeland
2002-09-09 19:18:10 +00:00
parent bbb1d79cbf
commit 6a0f9aab42
11 changed files with 127 additions and 283 deletions

View File

@ -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">

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -12,7 +12,7 @@
<li>Type run &lt;filename&gt; &lt;report format&gt;, &lt;rule set file&gt;i.e.:</li>
<br></br>
<pre>
C:\tmp\pmd-0.9\pmd\etc&gt;run c:\data\pmd\pmd\test-data\Unused1.java xml rulesets/unusedcode.xml
C:\tmp\pmd-1.0rc1\pmd\etc&gt;run c:\data\pmd\pmd\test-data\Unused1.java xml rulesets/unusedcode.xml
&lt;?xml version="1.0"?&gt;&lt;pmd&gt;
&lt;file name="c:\data\pmd\pmd\test-data\Unused1.java"&gt;
&lt;violation line="5" rule="UnusedLocalVariable"&gt;
@ -20,7 +20,7 @@ Avoid unused local variables such as 'fr'
&lt;/violation&gt;
&lt;/file&gt;&lt;/pmd&gt;
C:\tmp\pmd-0.8\pmd\etc&gt;
C:\tmp\pmd-1.0rc1\pmd\etc&gt;
</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&gt;
<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>