OSDN Git Service

Merge pomconfig into develop
[mikutoga/Pmd2XML.git] / config / checkstyle / checkstyle.xml
similarity index 60%
rename from src/main/config/checks.xml
rename to config/checkstyle/checkstyle.xml
index 3e31cbb..7d19930 100644 (file)
@@ -1,17 +1,16 @@
 <?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.21 or later
 
-    Checkstyle 5.5 以降向けに記述。
+    [ https://checkstyle.org/ ]
 
-    [ http://checkstyle.sourceforge.net/ ]
-
-    Copyright(c) 2010 olyutorskii
+    Copyright(c) 2019 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, properties, xml, xsd, md, txt" />
     <property name="severity" value="error" />
 
 
     <!-- Filters -->
-    <module name="SeverityMatchFilter" />
-    <module name="SuppressionFilter">
-        <property name="file" value="src/main/config/suppressions.xml" />
-    </module>
-    <module name="SuppressionCommentFilter" />
-    <module name="SuppressWithNearbyCommentFilter" />
 
-
-    <!-- Duplicate Code -->
-    <module name="StrictDuplicateCode">
-        <property name="min" value="20" />
-    </module>
+    <module name="SeverityMatchFilter" />
+    <!--module name="SuppressionFilter" /-->
+    <module name="SuppressWarningsFilter" />
+    <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" />
 
 
     <!-- Javadoc Comments -->
+
     <module name="JavadocPackage" />
 
 
     <!-- Miscellaneous -->
+
     <module name="NewlineAtEndOfFile">
-        <property name="fileExtensions" value="java" />
+        <property name="fileExtensions" value="java, properties, xml, xsd, md, txt" />
     </module>
     <module name="Translation" />
+    <module name="UniqueProperties" />
 
 
     <!-- Regexp -->
+
+    <module name="RegexpMultiline">
+        <property name="format" value="[\u000b\f\u001a]" />
+    </module>
+    <module name="RegexpOnFilename" />
     <module name="RegexpSingleline">
         <property name="format" value="\s+$" />
-        <property name="minimum" value="0" />
-        <property name="maximum" value="0" />
+    </module>
+    <module name="RegexpSingleline">
+        <!-- scm conflict -->
+        <property name="format" value="&lt;&lt;&lt;&lt;&lt;" />
     </module>
 
 
     <!-- Size Violations -->
+
     <module name="FileLength" />
 
 
     <!-- Whitespace -->
+
     <module name="FileTabCharacter" />
 
 
+    <module name="BeforeExecutionExclusionFileFilter">
+        <property name="fileNamePattern" value="module\-info\.java$" />
+    </module>
+
+
     <module name="TreeWalker">
 
-        <module name="FileContentsHolder" />
+        <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" />
         <module name="PackageAnnotation" />
         <module name="SuppressWarnings" />
+        <module name="SuppressWarningsHolder" />
 
 
     <!-- Block Checks -->
 
+        <module name="AvoidNestedBlocks" />
         <module name="EmptyBlock" />
+        <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="AvoidNestedBlocks" />
 
 
     <!-- Class Design -->
 
-        <module name="VisibilityModifier" />
+        <module name="DesignForExtension" />
         <module name="FinalClass" />
-        <module name="InterfaceIsType" />
         <module name="HideUtilityClassConstructor" />
-<!--    <module name="DesignForExtension" />  -->
-        <module name="MutableException" />
-        <module name="ThrowsCount">
-            <property name="max" value="4" />
-        </module>
         <module name="InnerTypeLast" />
+        <module name="InterfaceIsType" />
+        <module name="MutableException" />
+        <module name="OneTopLevelClass" />
+        <module name="ThrowsCount" />
+        <module name="VisibilityModifier" />
 
 
     <!-- Coding -->
         <module name="ArrayTrailingComma" />
         <module name="AvoidInlineConditionals" />
         <module name="CovariantEquals" />
-<!--    <module name="DoubleCheckedLocking" />  5.6 obsolete -->
+        <module name="DeclarationOrder" />
+        <module name="DefaultComesLast" />
         <module name="EmptyStatement" />
         <module name="EqualsAvoidNull" />
         <module name="EqualsHashCode" />
-<!--    <module name="FinalLocalVariable" />  -->
+        <module name="ExplicitInitialization" />
+        <module name="FallThrough" />
+        <module name="FinalLocalVariable" />
         <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="IllegalInstantiation" />
+        <module name="IllegalThrows" />
         <module name="IllegalToken">
-            <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
-        </module>
-        <module name="IllegalTokenText">
-            <property name="tokens" value="NUM_INT, NUM_LONG" />
-            <property name="format" value="^0[^lx]" />
-            <property name="ignoreCase" value="true" />
+            <property name="tokens" value="LITERAL_NATIVE" />
         </module>
+        <module name="IllegalTokenText" />
+        <module name="IllegalType" />
         <module name="InnerAssignment" />
         <module name="MagicNumber" />
+        <module name="MissingCtor" />
         <module name="MissingSwitchDefault" />
         <module name="ModifiedControlVariable" />
-        <module name="RedundantThrows">
-            <property name="allowUnchecked" value="true" />
-            <property name="allowSubclasses" value="true" />
-        </module>
-        <module name="SimplifyBooleanExpression" />
-        <module name="SimplifyBooleanReturn" />
-        <module name="StringLiteralEquality" />
+        <module name="MultipleStringLiterals" />
+        <module name="MultipleVariableDeclarations" />
         <module name="NestedForDepth" />
         <module name="NestedIfDepth" />
         <module name="NestedTryDepth" />
         <module name="NoClone" />
         <module name="NoFinalizer" />
-        <module name="SuperClone" />
-        <module name="SuperFinalize" />
-        <module name="IllegalCatch" />
-        <module name="IllegalThrows" />
+        <module name="OneStatementPerLine" />
+        <module name="OverloadMethodsDeclarationOrder" />
         <module name="PackageDeclaration" />
-        <module name="JUnitTestCase" />
-        <module name="ReturnCount">
-            <property name="max" value="5" />
-        </module>
-        <module name="IllegalType" />
-        <module name="DeclarationOrder" />
         <module name="ParameterAssignment" />
-<!--    <module name="ExplicitInitialization" />  -->
-        <module name="DefaultComesLast" />
-        <module name="MissingCtor" />
-        <module name="FallThrough" />
-        <module name="MultipleStringLiterals" />
-        <module name="MultipleVariableDeclarations" />
         <module name="RequireThis">
             <property name="checkMethods" value="false" />
         </module>
+        <module name="ReturnCount" />
+        <module name="SimplifyBooleanExpression" />
+        <module name="SimplifyBooleanReturn" />
+        <module name="StringLiteralEquality" />
+        <module name="SuperClone" />
+        <module name="SuperFinalize" />
         <module name="UnnecessaryParentheses" />
-        <module name="OneStatementPerLine" />
+        <module name="VariableDeclarationUsageDistance">
+            <property name="allowedDistance" value="5"/>
+        </module>
 
 
     <!-- Imports -->
 
         <module name="AvoidStarImport" />
         <module name="AvoidStaticImport" />
+        <module name="CustomImportOrder" />
         <module name="IllegalImport" />
+        <!--module name="ImportControl" /-->
+        <module name="ImportOrder" />
         <module name="RedundantImport" />
         <module name="UnusedImports" />
-        <module name="ImportOrder" />
-<!--    <module name="ImportControl" />  -->
 
 
     <!-- Javadoc Comments -->
 
-        <module name="JavadocType" />
+        <module name="AtclauseOrder" />
         <module name="JavadocMethod" />
-        <module name="JavadocVariable">
-            <property name="scope" value="protected" />
-        </module>
+        <module name="JavadocParagraph" />
         <module name="JavadocStyle">
             <property
                 name="endOfSentenceFormat"
             <property name="checkEmptyJavadoc" value="true" />
             <property name="checkHtml" value="true" />
         </module>
-<!--    <module name="WriteTag" />  -->
+        <module name="JavadocTagContinuationIndentation" />
+        <module name="JavadocType" />
+        <module name="JavadocVariable">
+            <property name="scope" value="protected" />
+        </module>
+        <module name="MissingJavadocMethod" />
+        <module name="MissingJavadocType" />
+        <module name="NonEmptyAtclauseDescription" />
+        <module name="SingleLineJavadoc" />
+        <module name="SummaryJavadocCheck" />
+        <module name="WriteTag" />
 
 
     <!-- Metrics -->
         <module name="ClassDataAbstractionCoupling" />
         <module name="ClassFanOutComplexity" />
         <module name="CyclomaticComplexity" />
-        <module name="NPathComplexity" />
         <module name="JavaNCSS" />
+        <module name="NPathComplexity" />
 
 
     <!-- Miscellaneous -->
 
-        <module name="TodoComment">
-            <property name="format" value="TODO" />
-        </module>
-        <module name="UncommentedMain" />
-        <module name="UpperEll" />
         <module name="ArrayTypeStyle" />
-<!--    <module name="FinalParameters" />  -->
-<!--    <module name="DescendantToken" />  -->
-<!--
+        <module name="AvoidEscapedUnicodeCharacters">
+            <property name="allowEscapesForControlCharacters" value="true" />
+            <property name="allowByTailComment" value="true" />
+            <property name="allowIfAllCharactersEscaped" value="true" />
+            <property name="allowNonPrintableEscapes" value="true" />
+        </module>
+        <module name="CommentsIndentation" />
+        <module name="DescendantToken" />
+        <module name="FinalParameters" />
         <module name="Indentation">
             <property name="caseIndent" value="0" />
         </module>
--->
-<!--    <module name="TrailingComment" />  -->
-        <module name="Regexp">
-            <property name="format" value="@author" />
-            <property name="illegalPattern" value="true" />
-        </module>
-        <module name="Regexp">
-            <property name="format" value="^ \* Copyright\(c\)" />
-        </module>
-        <module name="Regexp">
-            <property name="format" value="^ \* License : The MIT License" />
-            <property name="duplicateLimit" value="1" />
-        </module>
         <module name="OuterTypeFilename" />
+        <module name="TodoComment">
+            <property name="format" value="TODO" />
+        </module>
+        <module name="TrailingComment" />
+        <module name="UncommentedMain" />
+        <module name="UpperEll" />
 
 
     <!-- Modifiers -->
 
+        <module name="ClassMemberImpliedModifier" />
+        <module name="InterfaceMemberImpliedModifier" />
         <module name="ModifierOrder" />
         <module name="RedundantModifier" />
 
 
     <!-- Naming Conventions -->
 
-        <module name="AbstractClassName">
-            <property
-                name="format"
-                value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
-            />
-        </module>
+        <module name="AbbreviationAsWordInName" />
+        <module name="AbstractClassName" />
+        <module name="CatchParameterName" />
         <module name="ClassTypeParameterName" />
         <module name="ConstantName" />
-        <module name="LocalFinalVariableName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
-        </module>
-        <module name="LocalVariableName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
-        </module>
-        <module name="MemberName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
-        </module>
+        <module name="InterfaceTypeParameterName" />
+        <module name="LambdaParameterName" />
+        <module name="LocalFinalVariableName" />
+        <module name="LocalVariableName" />
+        <module name="MemberName" />
         <module name="MethodName" />
         <module name="MethodTypeParameterName" />
         <module name="PackageName" />
-        <module name="ParameterName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+        <module name="ParameterName" />
+        <module name="StaticVariableName" />
+        <module name="TypeName" />
+
+
+    <!-- Regex -->
+
+        <module name="Regexp">
+            <property name="format" value="@author" />
+            <property name="illegalPattern" value="true" />
         </module>
-        <module name="StaticVariableName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+        <module name="Regexp">
+            <property name="format" value="^ \* Copyright\(c\)" />
+        </module>
+        <module name="Regexp">
+            <property name="format" value="^ \* License : The MIT License" />
+            <property name="duplicateLimit" value="1" />
+        </module>
+        <module name="RegexpSinglelineJava">
+            <property name="format" value="\u0000" />
         </module>
-        <module name="TypeName" />
 
 
     <!-- Size Violations -->
 
+        <module name="AnonInnerLength" />
         <module name="ExecutableStatementCount" />
         <module name="LineLength">
             <property name="max" value="78" />
         </module>
+        <module name="MethodCount" />
         <module name="MethodLength" />
-        <module name="AnonInnerLength" />
-        <module name="ParameterNumber" />
         <module name="OuterTypeNumber" />
-        <module name="MethodCount" />
+        <module name="ParameterNumber" />
 
 
     <!-- Whitespace -->
 
-        <module name="GenericWhitespace" />
         <module name="EmptyForInitializerPad" />
         <module name="EmptyForIteratorPad" />
-        <module name="MethodParamPad">
+        <module name="EmptyLineSeparator">
             <property
                 name="tokens"
-                value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
-            />
-        </module>
-        <module name="NoWhitespaceAfter">
-            <property name="allowLineBreaks" value="false" />
-            <property name="tokens" value="DEC, DOT, INC" />
-        </module>
-        <module name="NoWhitespaceBefore">
-            <property name="allowLineBreaks" value="false" />
-            <property name="tokens" value="POST_DEC, POST_INC" />
-        </module>
-        <module name="NoWhitespaceBefore">
-            <property name="allowLineBreaks" value="true" />
-            <property name="tokens" value="SEMI" />
-        </module>
-        <module name="OperatorWrap">
-            <property name="option" value="eol" />
-            <property
-                name="tokens"
-                value="ASSIGN,
-                       BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
-                       PLUS_ASSIGN, MINUS_ASSIGN,
-                       STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
-                       SL_ASSIGN, SR_ASSIGN"
-            />
-        </module>
-        <module name="OperatorWrap">
-            <property name="option" value="nl" />
-            <property
-                name="tokens"
-                value="BAND, BOR, BXOR,
-                       MINUS, STAR, DIV, MOD,
-                       LAND, LOR,
-                       EQUAL"
+                value="PACKAGE_DEF,
+                       IMPORT,
+                       CLASS_DEF,
+                       INTERFACE_DEF,
+                       ENUM_DEF,
+                       STATIC_INIT,
+                       INSTANCE_INIT,
+                       METHOD_DEF,
+                       CTOR_DEF,
+                       "
             />
         </module>
+        <module name="GenericWhitespace" />
+        <module name="MethodParamPad" />
+        <module name="NoLineWrap" />
+        <module name="NoWhitespaceAfter" />
+        <module name="NoWhitespaceBefore" />
+        <module name="OperatorWrap" />
         <module name="ParenPad">
             <property name="option" value="nospace" />
             <property
                 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
             />
         </module>
+        <module name="SeparatorWrap">
+            <property name="tokens" value="DOT"/>
+            <property name="option" value="nl"/>
+        </module>
+        <module name="SingleSpaceSeparator" />
         <module name="TypecastParenPad" />
-        <module name="WhitespaceAfter">
-            <property name="tokens" value="COMMA, SEMI" />
+        <module name="WhitespaceAfter" >
+            <property name="tokens" value="COMMA, SEMI," />
         </module>
         <module name="WhitespaceAround">
             <property
         </module>
 
 
-<!-- 代用品で解決
-        <module name="Header" />
-        <module name="RegexpSingleline" />
-        <module name="RegexpMultiline" />
-        <module name="RegexpSinglelineJava" />
--->
+    </module>
 
-<!-- Obsolated
-        <module name="TabCharacter" />
--->
 
     </module>
 
-</module>
-
 <!-- EOF -->