OSDN Git Service

update pmd plugin.
authorOlyutorskii <olyutorskii@users.osdn.me>
Fri, 3 May 2019 05:03:23 +0000 (14:03 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Fri, 3 May 2019 05:03:23 +0000 (14:03 +0900)
config/pmd/pmdrules.xml [new file with mode: 0644]
pom.xml
src/main/config/pmdrules.xml [deleted file]

diff --git a/config/pmd/pmdrules.xml b/config/pmd/pmdrules.xml
new file mode 100644 (file)
index 0000000..e8d6346
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+    Custom rule set
+    for PMD [ https://pmd.github.io/ ] 6.13.0 or later
+
+    Copyright(c) 2016 olyutorskii
+-->
+
+<ruleset
+  xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0
+  http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
+  name="Custom ruleset"
+>
+
+    <description>
+        custom rulesets
+    </description>
+
+    <rule ref="category/java/bestpractices.xml" />
+
+    <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="category/java/design.xml" >
+        <exclude name="AvoidThrowingNullPointerException" />
+        <exclude name="AvoidUncheckedExceptionsInSignatures" />
+        <exclude name="LawOfDemeter" />
+        <exclude name="LoosePackageCoupling" />
+        <exclude name="SimplifyBooleanReturns" />
+    </rule>
+
+    <rule ref="category/java/documentation.xml" />
+    <rule ref="category/java/documentation.xml/CommentRequired" >
+        <properties>
+            <property name="fieldCommentRequirement" value="Ignored"/>
+        </properties>
+    </rule>
+    <rule ref="category/java/documentation.xml/CommentSize" >
+        <properties>
+            <property name="maxLines" value="25"/>
+        </properties>
+    </rule>
+
+    <rule ref="category/java/errorprone.xml" >
+        <exclude name="AvoidLiteralsInIfCondition" />
+        <exclude name="BeanMembersShouldSerialize" />
+        <exclude name="DataflowAnomalyAnalysis" />
+    </rule>
+
+    <rule ref="category/java/multithreading.xml" />
+
+    <rule ref="category/java/performance.xml" >
+        <exclude name="ConsecutiveAppendsShouldReuse" />
+        <exclude name="RedundantFieldInitializer" />
+    </rule>
+
+    <rule ref="category/java/security.xml" />
+
+    <!--rule ref="category/pom/errorprone.xml" /-->
+
+    <!--rule ref="category/xml/errorprone.xml" /-->
+
+</ruleset>
+
+<!-- EOF -->
diff --git a/pom.xml b/pom.xml
index 93ff29a..7398bab 100644 (file)
--- a/pom.xml
+++ b/pom.xml
         <checkstyle.config.location>${project.mainconf}/checks.xml</checkstyle.config.location>
         <checkstyle.enable.rss>false</checkstyle.enable.rss>
 
+        <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>
         <spotbugs.threshold>Low</spotbugs.threshold>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.6</version>
+                <version>${pmd-plugin.version}</version>
                 <configuration>
-                    <targetJdk>${maven.compiler.target}</targetJdk>
                     <rulesets>
-                        <ruleset>${project.mainconf}/pmdrules.xml</ruleset>
+                        <ruleset>${project.basedir}/config/pmd/pmdrules.xml</ruleset>
                     </rulesets>
                 </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.6</version>
+                <version>${pmd-plugin.version}</version>
                 <configuration>
-                    <skip>false</skip>
-                    <targetJdk>${maven.compiler.target}</targetJdk>
                     <rulesets>
-                        <ruleset>${project.mainconf}/pmdrules.xml</ruleset>
+                        <ruleset>${project.basedir}/config/pmd/pmdrules.xml</ruleset>
                     </rulesets>
                 </configuration>
                 <reportSets>
diff --git a/src/main/config/pmdrules.xml b/src/main/config/pmdrules.xml
deleted file mode 100644 (file)
index 9c10f91..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
-    PMD用ルールセット定義
-
-    PMD [ https://pmd.github.io/ ] 5.3 以降用に記述されています。
-
-    Copyright(c) 2016 olyutorskii
--->
-
-<ruleset
-  xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0
-  http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
-  name="Custom ruleset"
->
-
-    <description>
-        custom rulesets for project
-    </description>
-
-<!--
-    <rule ref="rulesets/java/android.xml" />
--->
-
-    <rule ref="rulesets/java/basic.xml" />
-
-    <rule ref="rulesets/java/braces.xml">
-        <exclude name="IfElseStmtsMustUseBraces" />
-        <exclude name="IfStmtsMustUseBraces" />
-    </rule>
-
-    <rule ref="rulesets/java/clone.xml" />
-
-    <rule ref="rulesets/java/codesize.xml">
-        <exclude name="TooManyMethods" />
-    </rule>
-    <rule ref="rulesets/java/codesize.xml/TooManyMethods">
-        <properties>
-            <property name="maxmethods" value="25"/>
-        </properties>
-    </rule>
-
-    <rule ref="rulesets/java/comments.xml">
-        <exclude name="CommentRequired" />
-        <exclude name="CommentSize" />
-    </rule>
-    <rule ref="rulesets/java/comments.xml/CommentRequired" >
-        <properties>
-            <property name="fieldCommentRequirement" value="Ignored"/>
-        </properties>
-    </rule>
-    <rule ref="rulesets/java/comments.xml/CommentSize" >
-        <properties>
-            <property name="maxLines" value="25"/>
-        </properties>
-    </rule>
-
-    <rule ref="rulesets/java/controversial.xml">
-        <exclude name="NullAssignment" />
-        <exclude name="OnlyOneReturn" />
-        <exclude name="DefaultPackage" />
-        <exclude name="DataflowAnomalyAnalysis" />
-        <exclude name="AvoidUsingShortType" />
-        <exclude name="AvoidLiteralsInIfCondition" />
-        <exclude name="UseConcurrentHashMap" />
-    </rule>
-
-    <rule ref="rulesets/java/coupling.xml">
-        <exclude name="LoosePackageCoupling" />
-        <exclude name="LawOfDemeter" />
-    </rule>
-
-    <rule ref="rulesets/java/design.xml">
-        <exclude name="SimplifyBooleanReturns" />
-        <exclude name="ConfusingTernary" />
-        <exclude name="UnnecessaryLocalBeforeReturn" />
-        <exclude name="FieldDeclarationsShouldBeAtStartOfClass" />
-    </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/javabeans.xml" />
--->
-
-    <rule ref="rulesets/java/junit.xml" />
-
-<!--
-    <rule ref="rulesets/java/logging-jakarta-commons.xml" />
--->
-
-    <rule ref="rulesets/java/logging-java.xml" />
-
-    <rule ref="rulesets/java/migrating.xml" />
-<!--
-    <rule ref="rulesets/java/migrating_to_XX.xml" />
--->
-
-    <rule ref="rulesets/java/naming.xml">
-        <exclude name="ShortVariable" />
-        <exclude name="LongVariable" />
-        <exclude name="AvoidFieldNameMatchingMethodName" />
-    </rule>
-    <rule ref="rulesets/java/naming.xml/LongVariable">
-        <properties>
-            <property name="minimum" value="25"/>
-        </properties>
-    </rule>
-
-    <rule ref="rulesets/java/optimizations.xml">
-        <exclude name="LocalVariableCouldBeFinal" />
-        <exclude name="MethodArgumentCouldBeFinal" />
-        <exclude name="RedundantFieldInitializer" />
-    </rule>
-
-    <rule ref="rulesets/java/strictexception.xml">
-        <exclude name="AvoidThrowingNullPointerException" />
-    </rule>
-
-    <rule ref="rulesets/java/strings.xml" />
-
-    <rule ref="rulesets/java/sunsecure.xml" />
-
-    <rule ref="rulesets/java/typeresolution.xml" />
-
-    <rule ref="rulesets/java/unnecessary.xml">
-        <exclude name="UnnecessaryReturn" />
-        <exclude name="UselessParentheses" />
-    </rule>
-
-    <rule ref="rulesets/java/unusedcode.xml" />
-
-</ruleset>
-
-<!-- EOF -->