Browse Source

Add minimal PMD ruleset and build target

Change-Id: I91a99b0e6cc6ae6feb7d80f853d60aa0f5c26d9a
Reviewed-on: http://gerrit.dmdirc.com/1575
Automatic-Compile: DMDirc Local Commits <dmdirc@googlemail.com>
Reviewed-by: Greg Holmes <greg@dmdirc.com>
tags/0.6.5b1
Chris Smith 13 years ago
parent
commit
bb22afed5c
2 changed files with 90 additions and 1 deletions
  1. 16
    1
      build-reports.xml
  2. 74
    0
      checkstyle/pmd_minimal.xml

+ 16
- 1
build-reports.xml View File

@@ -156,7 +156,22 @@
156 156
             <ruleset>checkstyle/pmd_checks.xml</ruleset>
157 157
             <formatter type="xml" toFile="reports/report-pmd.xml" linkPrefix="http://pmd.sourceforge.net/xref/"/>
158 158
             <fileset dir="src/" includes="com/dmdirc/**/*.java" />
159
-            <fileset dir="modules/plugins/src/" includes="com/dmdirc/**/*.java"/>
159
+            <fileset dir="modules/plugins/src/" includes="com/dmdirc/**/*.java" excludes="**/commons/*.java"/>
160
+            <fileset dir="modules/util/src/" includes="com/dmdirc/**/*.java"/>
161
+            <fileset dir="modules/parser/src/" includes="com/dmdirc/**/*.java"/>
162
+        </pmd>
163
+        <xslt in="reports/report-pmd.xml" style="checkstyle/pmd.xslt" out="reports/report-pmd.html" />
164
+    </target>
165
+
166
+    <target name="pmd-minimal" description="Run PMD with minimal ruleset.">
167
+        <taskdef name="pmd" classpath="lib/pmd-4.2.5.jar:lib/jaxen-1.1.1.jar:lib/asm-3.1.jar"
168
+                         classname="net.sourceforge.pmd.ant.PMDTask" />
169
+        <pmd shortFilenames="true">
170
+
171
+            <ruleset>checkstyle/pmd_minimal.xml</ruleset>
172
+            <formatter type="xml" toFile="reports/report-pmd.xml" linkPrefix="http://pmd.sourceforge.net/xref/"/>
173
+            <fileset dir="src/" includes="com/dmdirc/**/*.java" />
174
+            <fileset dir="modules/plugins/src/" includes="com/dmdirc/**/*.java" excludes="**/commons/*.java"/>
160 175
             <fileset dir="modules/util/src/" includes="com/dmdirc/**/*.java"/>
161 176
             <fileset dir="modules/parser/src/" includes="com/dmdirc/**/*.java"/>
162 177
         </pmd>

+ 74
- 0
checkstyle/pmd_minimal.xml View File

@@ -0,0 +1,74 @@
1
+<?xml version="1.0"?>
2
+<ruleset name="DMDirc PMD checks"
3
+	 xmlns="http://pmd.sf.net/ruleset/1.0.0"
4
+	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
+	 xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
6
+	 xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
7
+	<description>DMDirc minimal PMD checks.</description>
8
+	
9
+	<rule ref="rulesets/basic.xml">
10
+		<exclude name="EmptyCatchBlock"/> <!-- ! -->
11
+	</rule>
12
+	<rule ref="rulesets/braces.xml"/>
13
+	<rule ref="rulesets/clone.xml"/>
14
+	<rule ref="rulesets/controversial.xml">
15
+		<exclude name="DataflowAnomalyAnalysis"/>
16
+                <exclude name="OnlyOneReturn"/>
17
+                <exclude name="NullAssignment"/>
18
+                <exclude name="UnnecessaryConstructor"/>
19
+		<exclude name="AvoidFinalLocalVariable"/>
20
+		<exclude name="AssignmentInOperand"/>
21
+		<exclude name="CallSuperInConstructor"/>
22
+		<exclude name="DefaultPackage"/> <!-- ! -->
23
+		<exclude name="AvoidUsingVolatile"/>
24
+		<exclude name="BooleanInversion"/>
25
+		<exclude name="AvoidUsingNativeCode"/>
26
+		<exclude name="AvoidUsingShortType"/>
27
+	</rule>
28
+	<rule ref="rulesets/design.xml">
29
+		<exclude name="AvoidDeeplyNestedIfStmts"/>
30
+		<exclude name="ConstructorCallsOverridableMethod"/>
31
+		<exclude name="TooFewBranchesForASwitchStatement"/>
32
+		<exclude name="SwitchStmtsShouldHaveDefault"/>
33
+		<exclude name="UseLocaleWithCaseConversions"/>
34
+		<exclude name="AvoidSynchronizedAtMethodLevel"/> <!-- ! -->
35
+		<exclude name="ImmutableField"/> <!-- ! -->
36
+		<exclude name="SimpleDateFormatNeedsLocale"/>
37
+		<exclude name="EmptyMethodInAbstractClassShouldBeAbstract"/>
38
+		<exclude name="PositionLiteralsFirstInComparisons"/>
39
+	</rule>
40
+	<rule ref="rulesets/finalizers.xml"/>
41
+	<rule ref="rulesets/imports.xml"/>
42
+        <rule ref="rulesets/javabeans.xml">
43
+                <exclude name="BeanMembersShouldSerialize"/>
44
+        </rule>
45
+	<rule ref="rulesets/junit.xml"/>
46
+	<rule ref="rulesets/logging-java.xml">
47
+		<exclude name="SystemPrintln"/>
48
+	</rule>
49
+	<rule ref="rulesets/migrating.xml">
50
+		<exclude name="JUnit4TestShouldUseTestAnnotation"/>
51
+	</rule>
52
+	<rule ref="rulesets/naming.xml">
53
+                <exclude name="ShortVariable"/>
54
+                <exclude name="LongVariable"/>
55
+                <exclude name="AbstractNaming"/>
56
+		<exclude name="AvoidFieldNameMatchingMethodName"/>
57
+        </rule>
58
+	<rule ref="rulesets/optimizations.xml">
59
+                <exclude name="AvoidInstantiatingObjectsInLoops"/>
60
+		<exclude name="UseStringBufferForStringAppends"/>
61
+		<exclude name="LocalVariableCouldBeFinal"/> <!-- ! -->
62
+		<exclude name="MethodArgumentCouldBeFinal"/> <!-- ! -->
63
+		<exclude name="AddEmptyString"/>
64
+        </rule>
65
+	<rule ref="rulesets/strings.xml">
66
+                <exclude name="AvoidDuplicateLiterals"/>
67
+        </rule>
68
+	<rule ref="rulesets/sunsecure.xml">
69
+		<exclude name="MethodReturnsInternalArray"/> <!-- ! -->
70
+		<exclude name="ArrayIsStoredDirectly"/> <!-- ! -->
71
+	</rule>
72
+	<rule ref="rulesets/typeresolution.xml"/>
73
+	<rule ref="rulesets/unusedcode.xml"/>
74
+</ruleset>

Loading…
Cancel
Save