OSDN Git Service

update pmd plugin
authorOlyutorskii <olyutorskii@users.osdn.me>
Sat, 4 May 2019 12:31:47 +0000 (21:31 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Sat, 4 May 2019 12:31:47 +0000 (21:31 +0900)
config/pmd/pmdrules.xml
pom.xml

index 09e1d3e..ccc7751 100644 (file)
@@ -2,9 +2,9 @@
 
 <!--
     Custom rule set
-    for PMD [ https://pmd.github.io/ ] 5.5.2 or later
+    for PMD [ https://pmd.github.io/ ] 6.13.0 or later
 
-    Copyright(c) 2016 olyutorskii
+    Copyright(c) 2019 olyutorskii
 -->
 
 <ruleset
         custom rulesets
     </description>
 
-    <rule ref="rulesets/java/android.xml" />
+    <rule ref="category/java/bestpractices.xml" />
 
-    <rule ref="rulesets/java/basic.xml" />
-
-    <rule ref="rulesets/java/braces.xml">
-        <exclude name="IfElseStmtsMustUseBraces" />
-        <exclude name="IfStmtsMustUseBraces" />
+    <rule ref="category/java/codestyle.xml" >
+        <exclude name="CommentDefaultAccessModifier" />
+        <exclude name="DefaultPackage" />
+        <exclude name="LocalVariableCouldBeFinal" />
+        <exclude name="MethodArgumentCouldBeFinal" />
+        <exclude name="OnlyOneReturn" />
+        <exclude name="ShortVariable" />
+        <exclude name="UnnecessaryLocalBeforeReturn" />
+        <exclude name="UnnecessaryReturn" />
+    </rule>
+    <rule ref="category/java/codestyle.xml/ControlStatementBraces" >
+        <properties>
+            <property name="checkIfElseStmt" value="false"/>
+            <property name="checkSingleIfStmt" value="false"/>
+        </properties>
     </rule>
 
-    <rule ref="rulesets/java/clone.xml" />
-
-    <rule ref="rulesets/java/codesize.xml" />
-
-    <rule ref="rulesets/java/comments.xml">
-        <exclude name="CommentDefaultAccessModifier" />
+    <rule ref="category/java/design.xml" >
+        <exclude name="AvoidThrowingNullPointerException" />
+        <exclude name="AvoidUncheckedExceptionsInSignatures" />
+        <exclude name="LawOfDemeter" />
+        <exclude name="LoosePackageCoupling" />
     </rule>
-    <rule ref="rulesets/java/comments.xml/CommentRequired" >
+
+    <rule ref="category/java/documentation.xml" />
+    <rule ref="category/java/documentation.xml/CommentRequired" >
         <properties>
             <property name="fieldCommentRequirement" value="Ignored"/>
         </properties>
     </rule>
-    <rule ref="rulesets/java/comments.xml/CommentSize" >
+    <rule ref="category/java/documentation.xml/CommentSize" >
         <properties>
             <property name="maxLines" value="25"/>
         </properties>
     </rule>
 
-    <rule ref="rulesets/java/controversial.xml">
-        <exclude name="DefaultPackage" />
-        <exclude name="OnlyOneReturn" />
-        <exclude name="DataflowAnomalyAnalysis" />
+    <rule ref="category/java/errorprone.xml" >
         <exclude name="AvoidLiteralsInIfCondition" />
-    </rule>
-
-    <rule ref="rulesets/java/coupling.xml">
-        <exclude name="LoosePackageCoupling" />
-        <exclude name="LawOfDemeter" />
-    </rule>
-
-    <rule ref="rulesets/java/design.xml">
-        <exclude name="UnnecessaryLocalBeforeReturn" />
-    </rule>
-
-    <rule ref="rulesets/java/empty.xml" />
-
-    <rule ref="rulesets/java/finalizers.xml" />
-
-    <rule ref="rulesets/java/imports.xml" />
-
-    <rule ref="rulesets/java/j2ee.xml" />
-
-    <rule ref="rulesets/java/logging-jakarta-commons.xml" />
-
-    <rule ref="rulesets/java/javabeans.xml">
         <exclude name="BeanMembersShouldSerialize" />
+        <exclude name="DataflowAnomalyAnalysis" />
     </rule>
 
-    <rule ref="rulesets/java/logging-java.xml" />
-
-    <rule ref="rulesets/java/junit.xml" />
-
-    <rule ref="rulesets/java/migrating.xml" />
-
-    <rule ref="rulesets/java/naming.xml">
-        <exclude name="ShortVariable" />
-    </rule>
-
-    <rule ref="rulesets/java/optimizations.xml">
-        <exclude name="LocalVariableCouldBeFinal" />
-        <exclude name="MethodArgumentCouldBeFinal" />
-        <exclude name="RedundantFieldInitializer" />
-    </rule>
-
-    <rule ref="rulesets/java/strictexception.xml" />
+    <rule ref="category/java/multithreading.xml" />
 
-    <rule ref="rulesets/java/strings.xml">
+    <rule ref="category/java/performance.xml" >
         <exclude name="ConsecutiveAppendsShouldReuse" />
+        <exclude name="RedundantFieldInitializer" />
     </rule>
 
-    <rule ref="rulesets/java/sunsecure.xml" />
+    <rule ref="category/java/security.xml" />
 
-    <rule ref="rulesets/java/typeresolution.xml" />
-
-    <rule ref="rulesets/java/unnecessary.xml">
-        <exclude name="UnnecessaryReturn" />
-    </rule>
+    <!--rule ref="category/pom/errorprone.xml" /-->
 
-    <rule ref="rulesets/java/unusedcode.xml" />
+    <!--rule ref="category/xml/errorprone.xml" /-->
 
 </ruleset>
 
diff --git a/pom.xml b/pom.xml
index 8c8c4d4..01c35cf 100644 (file)
--- a/pom.xml
+++ b/pom.xml
         <checkstyle.suppressions.location>${project.basedir}/config/checkstyle/checkstyle-suppressions.xml</checkstyle.suppressions.location>
         <checkstyle.enable.rss>false</checkstyle.enable.rss>
 
-        <pmd-plugin.version>3.7</pmd-plugin.version>
+        <pmd-plugin.version>3.12.0</pmd-plugin.version>
+        <pmd.analysisCache>true</pmd.analysisCache>
 
         <spotbugs-plugin.version>3.1.11</spotbugs-plugin.version>
         <spotbugs.effort>Max</spotbugs.effort>
             </plugin>
 
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <version>${pmd-plugin.version}</version>
+                <configuration>
+                    <rulesets>
+                        <ruleset>${project.basedir}/config/pmd/pmdrules.xml</ruleset>
+                    </rulesets>
+                </configuration>
+            </plugin>
+
+            <plugin>
                 <groupId>com.github.spotbugs</groupId>
                 <artifactId>spotbugs-maven-plugin</artifactId>
                 <version>${spotbugs-plugin.version}</version>