OSDN Git Service

update checkstyle plugin.
authorOlyutorskii <olyutorskii@users.osdn.me>
Fri, 3 May 2019 08:26:17 +0000 (17:26 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Fri, 3 May 2019 08:26:17 +0000 (17:26 +0900)
README.txt
config/checkstyle/checkstyle-suppressions.xml [moved from src/main/config/suppressions.xml with 54% similarity]
config/checkstyle/checkstyle.xml [moved from src/main/config/checks.xml with 86% similarity]
pom.xml

index e540ca5..323d0c2 100644 (file)
@@ -48,13 +48,13 @@ JovsonzはJindolfプロジェクトから派生したオープンソースプロ
 ./src/test/java/
     JUnit 4.* 用のユニットテストコード。
 
-./src/main/config/
+./config/
     各種ビルド・構成管理に必要なファイル群。
 
-./src/main/config/checks.xml
+./config/checkstyle/checkstyle.xml
     Checkstyle用configファイル。
 
-./src/main/config/pmdrules.xml
+./config/pmd/pmdrules.xml
     PMD用ルール定義ファイル。
 
 
similarity index 54%
rename from src/main/config/suppressions.xml
rename to config/checkstyle/checkstyle-suppressions.xml
index f1500fa..eb5b801 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
 <!DOCTYPE suppressions PUBLIC
-    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
-    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
+    "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
+    "https://checkstyle.org/dtds/suppressions_1_2.dtd">
 
 <!--
-    Checkstyle用警告抑止設定
-    ※ SuppressionFilter モジュール用
+    Checkstyle suppressions
+    for Checkstyle 8.18 or later
 
-    [ http://checkstyle.sourceforge.net/ ]
+    [ https://checkstyle.org/ ]
 
     Copyright(c) 2010 olyutorskii
 -->
@@ -16,6 +16,9 @@
 
 <suppressions>
 
+    <!-- Annotations -->
+    <suppress files="" checks="AnnotationOnSameLine" />
+
     <!-- Class Design -->
     <suppress files="" checks="DesignForExtension" />
 
     <suppress files="" checks="ExplicitInitialization" />
     <suppress files="" checks="FinalLocalVariable" />
     <suppress files="" checks="MagicNumber" />
+    <suppress files="" checks="OneStatementPerLine" />
 
     <!-- Imports -->
     <suppress files="" checks="ImportControl" />
 
     <!-- Javadoc Comments -->
+    <suppress files="" checks="JavadocTagContinuationIndentation" />    
     <suppress files="" checks="SummaryJavadocCheck" />
-        <!-- 句読点対応待ち -->
-    <suppress files="" checks="SingleLineJavadoc" />
-        <!-- ignoredTagsプロパティ対応待ち -->
 
     <!-- Miscellaneous -->
     <suppress files="" checks="FinalParameters" />
     <suppress files="" checks="TrailingComment" />
 
+    <!-- Modifiers -->
+    <suppress files="" checks="InterfaceMemberImpliedModifier" />
+
+    <!-- Whitespace -->
+    <suppress files="" checks="SingleSpaceSeparator" />
+
 </suppressions>
 
 
similarity index 86%
rename from src/main/config/checks.xml
rename to config/checkstyle/checkstyle.xml
index bad583f..d154a5d 100644 (file)
@@ -1,15 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
 <!DOCTYPE module PUBLIC
-    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
-    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+    "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
+    "https://checkstyle.org/dtds/configuration_1_3.dtd">
 
 <!--
-    Checkstyle用チェック項目定義。
+    Checkstyle modules
+    for Checkstyle 8.18 or later
 
-    Checkstyle 6.1 以降向けに記述。
-
-    [ http://checkstyle.sourceforge.net/ ]
+    [ https://checkstyle.org/ ]
 
     Copyright(c) 2010 olyutorskii
 -->
 
     <property name="charset" value="UTF-8" />
     <property name="localeCountry" value="JP" />
-    <property name="localeLanguage" value="ja" />
+    <property name="localeLanguage" value="en" />
+    <!--property name="localeLanguage" value="ja" /-->
+    <property name="fileExtensions" value="java, xml, properties" />
     <property name="severity" value="error" />
 
 
     <!-- Filters -->
     <module name="SeverityMatchFilter" />
-    <module name="SuppressionCommentFilter" />
-    <module name="SuppressionFilter">
-        <property name="file" value="src/main/config/suppressions.xml" />
-    </module>
+    <!--module name="SuppressionFilter" /-->
     <module name="SuppressWarningsFilter" />
-    <module name="SuppressWithNearbyCommentFilter" />
+    <module name="SuppressWithPlainTextCommentFilter" />
 
 
     <!-- Headers -->
+    <module name="Header">
+        <property name="header" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;" />
+        <property name="fileExtensions" value="xml" />
+    </module>
     <module name="RegexpHeader">
         <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
         <property name="multiLines" value="2" />
@@ -57,7 +59,7 @@
     <module name="RegexpMultiline">
         <property name="format" value="[\u000b\f\u001a]" />
     </module>
-<!--<module name="RegexpOnFilename" />   6.15 or later -->
+    <module name="RegexpOnFilename" />
     <module name="RegexpSingleline">
         <property name="format" value="\s+$" />
     </module>
     <module name="FileTabCharacter" />
 
 
+    <module name="BeforeExecutionExclusionFileFilter">
+        <property name="fileNamePattern" value="module\-info\.java$" />
+    </module>
+
+
     <module name="TreeWalker">
 
-        <property name="tabWidth" value="8"/>
+        <property name="tabWidth" value="8" />
+        <property name="fileExtensions" value="java" />
+
+        <module name="SuppressWarningsHolder" />
+
+
+    <!-- Filters -->
+
+        <module name="SuppressionCommentFilter" />
+        <module name="SuppressWithNearbyCommentFilter" />
+        <!--module name="SuppressionXpathFilter" /-->
+        <!--module name="SuppressionXpathSingleFilter" /-->
 
 
     <!-- Annotations -->
 
         <module name="AnnotationLocation" />
+        <module name="AnnotationOnSameLine" />
         <module name="AnnotationUseStyle" />
         <module name="MissingDeprecated" />
         <module name="MissingOverride" />
 
 
     <!-- Block Checks -->
+
         <module name="AvoidNestedBlocks" />
         <module name="EmptyBlock" />
-<!--    <module name="EmptyCatchBlock" />  6.4 or later  -->
+        <module name="EmptyCatchBlock" />
         <module name="LeftCurly" />
         <module name="NeedBraces">
-            <property name="tokens" value="LITERAL_DO" />
+            <property name="allowSingleLineStatement" value="true" />
         </module>
         <module name="RightCurly" />
 
         <module name="HiddenField">
             <property name="ignoreConstructorParameter" value="true" />
             <property name="ignoreSetter" value="true" />
+            <property name="setterCanReturnItsClass" value="true" />
             <property name="ignoreAbstractMethods" value="true" />
         </module>
         <module name="IllegalCatch" />
         <module name="ModifiedControlVariable" />
         <module name="MultipleStringLiterals" />
         <module name="MultipleVariableDeclarations" />
-        <module name="SimplifyBooleanExpression" />
-        <module name="SimplifyBooleanReturn" />
-        <module name="StringLiteralEquality" />
         <module name="NestedForDepth" />
         <module name="NestedIfDepth" />
         <module name="NestedTryDepth" />
         <module name="AvoidStaticImport" />
         <module name="CustomImportOrder" />
         <module name="IllegalImport" />
-        <module name="ImportControl" />
+        <!--module name="ImportControl" /-->
         <module name="ImportOrder" />
         <module name="RedundantImport" />
         <module name="UnusedImports" />
 
         <module name="ArrayTypeStyle" />
         <module name="AvoidEscapedUnicodeCharacters">
-            <property name="allowEscapesForControlCharacters" value="true"/>
-            <property name="allowByTailComment" value="true"/>
-            <property name="allowIfAllCharactersEscaped" value="true"/>
-            <property name="allowNonPrintableEscapes" value="true"/>
+            <property name="allowEscapesForControlCharacters" value="true" />
+            <property name="allowByTailComment" value="true" />
+            <property name="allowIfAllCharactersEscaped" value="true" />
+            <property name="allowNonPrintableEscapes" value="true" />
         </module>
-<!--    <module name="CommentsIndentation" />  6.10 or later  -->
+        <module name="CommentsIndentation" />
         <module name="DescendantToken" />
-        <module name="FileContentsHolder" />
         <module name="FinalParameters" />
         <module name="Indentation">
             <property name="caseIndent" value="0" />
 
     <!-- Modifiers -->
 
+        <module name="ClassMemberImpliedModifier" />
+        <module name="InterfaceMemberImpliedModifier" />
         <module name="ModifierOrder" />
         <module name="RedundantModifier" />
 
                 value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
             />
         </module>
-<!--    <module name="CatchParameterName" />    6.14 or later -->
+        <module name="CatchParameterName" />
         <module name="ClassTypeParameterName" />
         <module name="ConstantName" />
         <module name="InterfaceTypeParameterName" />
+        <module name="LambdaParameterName" />
         <module name="LocalFinalVariableName">
             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
         </module>
             <property name="tokens" value="DOT" />
             <property name="option" value="nl" />
         </module>
+        <module name="SingleSpaceSeparator" />
         <module name="TypecastParenPad" />
-        <module name="WhitespaceAfter" />
+        <module name="WhitespaceAfter" >
+            <property name="tokens" value="COMMA, SEMI," />
+        </module>
         <module name="WhitespaceAround">
             <property
                 name="tokens"
 
     </module>
 
+
 </module>
 
 <!-- EOF -->
diff --git a/pom.xml b/pom.xml
index 7398bab..79c0e61 100644 (file)
--- a/pom.xml
+++ b/pom.xml
         <surefire-plugin.version>3.0.0-M3</surefire-plugin.version>
         <jacoco-plugin.version>0.8.3</jacoco-plugin.version>
 
-        <checkstyle.config.location>${project.mainconf}/checks.xml</checkstyle.config.location>
+        <checkstyle-plugin.version>3.0.0</checkstyle-plugin.version>
+        <checkstyleruntime.version>8.18</checkstyleruntime.version>
+        <checkstyle.config.location>${project.basedir}/config/checkstyle/checkstyle.xml</checkstyle.config.location>
+        <checkstyle.suppressions.location>${project.basedir}/config/checkstyle/checkstyle-suppressions.xml</checkstyle.suppressions.location>
         <checkstyle.enable.rss>false</checkstyle.enable.rss>
 
         <pmd-plugin.version>3.12.0</pmd-plugin.version>
 
     <build>
 
-        <pluginManagement/>
+        <pluginManagement>
+
+            <plugins>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-checkstyle-plugin</artifactId>
+                    <version>${checkstyle-plugin.version}</version>
+                    <dependencies>
+                        <dependency>
+                            <groupId>com.puppycrawl.tools</groupId>
+                            <artifactId>checkstyle</artifactId>
+                            <version>${checkstyleruntime.version}</version>
+                        </dependency>
+                    </dependencies>
+                </plugin>
+
+            </plugins>
+
+        </pluginManagement>
 
         <plugins>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.15</version>
-                <!-- config from property value -->
+                <version>${checkstyle-plugin.version}</version>
             </plugin>
 
             <plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.15</version>
-                <configuration>
-                    <skip>false</skip>
-                    <!-- config from property value -->
-                </configuration>
+                <version>${checkstyle-plugin.version}</version>
                 <reportSets>
                     <reportSet>
                         <reports>