Skip to content

Commit 162a43d

Browse files
committed
Up the FindBugs version and bring PMD into the project.
1 parent 6c61016 commit 162a43d

File tree

3 files changed

+49
-5
lines changed

3 files changed

+49
-5
lines changed

build.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,18 @@
142142
</findbugs>
143143
</target>
144144

145+
<target name="pmd" depends="resolve">
146+
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"
147+
classpathref="analysis.classpath"/>
148+
<pmd>
149+
<ruleset>pmd.xml</ruleset>
150+
<formatter type="emacs" toConsole="true"/>
151+
<fileset dir="${src.dir}">
152+
<include name="**/*.java"/>
153+
</fileset>
154+
</pmd>
155+
</target>
156+
145157
<!-- Unit testing (JUnit) -->
146158

147159
<target name="test-compile" depends="compile">

ivy.xml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,22 @@
1010
<dependencies>
1111
<dependency org="commons-cli" name="commons-cli" rev="1.2"
1212
conf="default"/>
13+
14+
<!-- Build -->
1315
<dependency org="org.projectlombok" name="lombok" rev="0.10.4"
1416
conf="build->default"/>
1517

16-
<!-- Unit testing -->
18+
<!-- Unit Test -->
1719
<dependency org="junit" name="junit" rev="4.10"
1820
conf="test->default"/>
1921

20-
<!-- Static analysis -->
22+
<!-- Static Analysis -->
2123
<dependency org="com.puppycrawl.tools" name="checkstyle" rev="5.5"
2224
conf="analysis->default"/>
23-
<dependency org="net.sourceforge.findbugs" name="findbugs" rev="1.3.7"
25+
<dependency org="com.google.code.findbugs" name="findbugs" rev="2.0.0"
26+
conf="analysis->default"/>
27+
<!-- note: due to FindBugs BCEL conflict, list PMD last. -->
28+
<dependency org="net.sourceforge.pmd" name="pmd" rev="5.0.0"
2429
conf="analysis->default"/>
25-
<dependency org="jaxen" name="jaxen" rev="1.1.1"
26-
conf="analysis->default"/> <!-- (fix) findbugs missing dep -->
2730
</dependencies>
2831
</ivy-module>

pmd.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.0"?>
2+
<ruleset name="custom-ruleset">
3+
<description>Custom set of preferred, sane rules</description>
4+
<!-- This ruleset excludes things already covered by checkstyle. -->
5+
6+
<rule ref="rulesets/java/design.xml">
7+
<!-- This ignores any explanation in the Javadoc. Bad. -->
8+
<exclude name="UncommentedEmptyConstructor"/>
9+
<!-- I disagree. -->
10+
<exclude name="ConfusingTernary"/>
11+
<!-- I know what I'm doing so this is always wrong. -->
12+
<exclude name="CompareObjectsWithEquals"/>
13+
<!-- Maintainability is more important than a particular JVM's quirks. -->
14+
<exclude name="TooFewBranchesForASwitchStatement"/>
15+
</rule>
16+
<rule ref="rulesets/java/basic.xml"/>
17+
<rule ref="rulesets/java/clone.xml"/>
18+
<rule ref="rulesets/java/empty.xml"/>
19+
<rule ref="rulesets/java/finalizers.xml"/>
20+
<rule ref="rulesets/java/sunsecure.xml"/>
21+
<rule ref="rulesets/java/strictexception.xml"/>
22+
<rule ref="rulesets/java/strings.xml"/>
23+
<rule ref="rulesets/java/typeresolution.xml"/>
24+
<rule ref="rulesets/java/unnecessary.xml">
25+
<!-- Ignores readability concerns. Very bad.-->
26+
<exclude name="UselessParentheses"/>
27+
</rule>
28+
<rule ref="rulesets/java/unusedcode.xml"/>
29+
</ruleset>

0 commit comments

Comments
 (0)