OSDN Git Service

Merge commit '2234b50cfbe7c86237086a3bf4e62397814a390e'
[jindolf/JinParser.git] / src / main / config / checks.xml
index dc311b5..bad583f 100644 (file)
@@ -1,13 +1,13 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" ?>
 
 <!DOCTYPE module PUBLIC
-    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
-    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
 
 <!--
     Checkstyle用チェック項目定義。
 
-    Checkstyle5.1以降向けに記述。
+    Checkstyle 6.1 以降向けに記述。
 
     [ http://checkstyle.sourceforge.net/ ]
 
 <module name="Checker">
 
     <property name="charset" value="UTF-8" />
+    <property name="localeCountry" value="JP" />
+    <property name="localeLanguage" value="ja" />
     <property name="severity" value="error" />
 
 
-    <!-- Duplicate Code -->
-    <module name="StrictDuplicateCode">
-        <property name="min" value="20" />
+    <!-- Filters -->
+    <module name="SeverityMatchFilter" />
+    <module name="SuppressionCommentFilter" />
+    <module name="SuppressionFilter">
+        <property name="file" value="src/main/config/suppressions.xml" />
     </module>
+    <module name="SuppressWarningsFilter" />
+    <module name="SuppressWithNearbyCommentFilter" />
 
 
     <!-- Headers -->
     <module name="RegexpHeader">
         <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
         <property name="multiLines" value="2" />
+        <property name="fileExtensions" value="java" />
     </module>
 
 
 
 
     <!-- Miscellaneous -->
-    <module name="NewlineAtEndOfFile" />
+    <module name="NewlineAtEndOfFile">
+        <property name="fileExtensions" value="java" />
+    </module>
     <module name="Translation" />
+    <module name="UniqueProperties" />
 
 
     <!-- Regexp -->
+    <module name="RegexpMultiline">
+        <property name="format" value="[\u000b\f\u001a]" />
+    </module>
+<!--<module name="RegexpOnFilename" />   6.15 or later -->
     <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" />
+    <module name="FileLength">
+        <property name="max" value="2000"/>
+    </module>
 
 
     <!-- Whitespace -->
     <module name="FileTabCharacter" />
 
 
-<!-- Filters
-    <module name="SeverityMatchFilter" />
-    <module name="SuppressionFilter" />
-    <module name="SuppressionCommentFilter" />
-    <module name="SuppressWithNearbyCommentFilter" />
--->
-
-
     <module name="TreeWalker">
 
-        <property name="tabWidth" value="4" />
+        <property name="tabWidth" value="8"/>
 
 
     <!-- Annotations -->
 
+        <module name="AnnotationLocation" />
         <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" />  6.4 or later  -->
         <module name="LeftCurly" />
         <module name="NeedBraces">
             <property name="tokens" value="LITERAL_DO" />
         </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="InnerTypeLast" />
+        <module name="InterfaceIsType" />
         <module name="MutableException" />
+        <module name="OneTopLevelClass" />
         <module name="ThrowsCount">
             <property name="max" value="4" />
         </module>
+        <module name="VisibilityModifier" />
 
 
     <!-- Coding -->
         <module name="ArrayTrailingComma" />
         <module name="AvoidInlineConditionals" />
         <module name="CovariantEquals" />
-        <module name="DoubleCheckedLocking" />
+        <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="ignoreAbstractMethods" value="true" />
         </module>
+        <module name="IllegalCatch" />
         <module name="IllegalInstantiation" />
+        <module name="IllegalThrows" />
         <module name="IllegalToken">
-            <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
+            <property name="tokens" value="LITERAL_NATIVE" />
         </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="format" value="^0_*[0-7]" />
+            <property name="message" value="inhibit octal number" />
         </module>
+        <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="MultipleStringLiterals" />
+        <module name="MultipleVariableDeclarations" />
         <module name="SimplifyBooleanExpression" />
         <module name="SimplifyBooleanReturn" />
         <module name="StringLiteralEquality" />
+        <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="ParameterAssignment" />
+        <module name="RequireThis">
+            <property name="checkMethods" value="false" />
+        </module>
         <module name="ReturnCount">
-            <property name="max" value="3" />
+            <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="SimplifyBooleanExpression" />
+        <module name="SimplifyBooleanReturn" />
+        <module name="StringLiteralEquality" />
+        <module name="SuperClone" />
+        <module name="SuperFinalize" />
         <module name="UnnecessaryParentheses" />
+        <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="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="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" />  6.10 or later  -->
         <module name="DescendantToken" />
-<!--
+        <module name="FileContentsHolder" />
+        <module name="FinalParameters" />
         <module name="Indentation">
-            <property name="basicOffset" value="4" />
             <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 name="OuterTypeFilename" />
+        <module name="TodoComment">
+            <property name="format" value="TODO" />
         </module>
+        <module name="TrailingComment" />
+        <module name="UncommentedMain" />
+        <module name="UpperEll" />
+
 
     <!-- Modifiers -->
 
 
     <!-- Naming Conventions -->
 
-        <module name="AbstractClassName" />
+        <module name="AbbreviationAsWordInName" />
+        <module name="AbstractClassName">
+            <property
+                name="format"
+                value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
+            />
+        </module>
+<!--    <module name="CatchParameterName" />    6.14 or later -->
         <module name="ClassTypeParameterName" />
         <module name="ConstantName" />
+        <module name="InterfaceTypeParameterName" />
         <module name="LocalFinalVariableName">
             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
         </module>
         <module name="TypeName" />
 
 
+    <!-- Regex -->
+
+        <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="RegexpSinglelineJava">
+            <property name="format" value="\u0000" />
+        </module>
+
+
     <!-- 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="ParameterNumber" />
 
 
     <!-- Whitespace -->
 
-        <module name="GenericWhitespace" />
         <module name="EmptyForInitializerPad" />
         <module name="EmptyForIteratorPad" />
+        <module name="EmptyLineSeparator">
+            <property
+                name="tokens"
+                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">
-            <property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL" />
+            <property
+                name="tokens"
+                value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
+            />
         </module>
+        <module name="NoLineWrap" />
         <module name="NoWhitespaceAfter">
             <property name="allowLineBreaks" value="false" />
-            <property name="tokens" value="DEC, DOT, INC" />
+            <property name="tokens" value="INC, DEC, DOT" />
         </module>
         <module name="NoWhitespaceBefore">
             <property name="allowLineBreaks" value="false" />
-            <property name="tokens" value="POST_DEC, POST_INC" />
+            <property name="tokens" value="COMMA, POST_INC, POST_DEC" />
         </module>
         <module name="NoWhitespaceBefore">
             <property name="allowLineBreaks" value="true" />
                        BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
                        PLUS_ASSIGN, MINUS_ASSIGN,
                        STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
-                       SL_ASSIGN, SR_ASSIGN"
+                       SL_ASSIGN, SR_ASSIGN, BSR_ASSIGN"
             />
         </module>
         <module name="OperatorWrap">
             <property name="option" value="nl" />
             <property
                 name="tokens"
-                value="BAND, BOR, BXOR,
-                       MINUS, STAR, DIV, MOD,
+                value="QUESTION,
+                       BAND, BOR, BXOR,
+                       PLUS, MINUS, STAR, DIV, MOD,
                        LAND, LOR,
-                       EQUAL"
+                       EQUAL, NOT_EQUAL"
             />
         </module>
         <module name="ParenPad">
             <property name="option" value="nospace" />
-            <property name="tokens" value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL" />
+            <property
+                name="tokens"
+                value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
+            />
         </module>
-        <module name="TypecastParenPad" />
-        <module name="WhitespaceAfter">
-            <property name="tokens" value="COMMA, SEMI" />
+        <module name="SeparatorWrap">
+            <property name="tokens" value="DOT" />
+            <property name="option" value="nl" />
         </module>
+        <module name="TypecastParenPad" />
+        <module name="WhitespaceAfter" />
         <module name="WhitespaceAround">
             <property
                 name="tokens"
                        SL, SR,
                        SL_ASSIGN, SR_ASSIGN,
                        MINUS, STAR, DIV, MOD,
-                       PLUS_ASSIGN, MINUS_ASSIGN, STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
+                       PLUS_ASSIGN, MINUS_ASSIGN,
+                       STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
                        EQUAL, NOT_EQUAL, GT, GE, LT, LE,
                        "
             />
         </module>
 
 
-<!-- 代用品で解決
-        <module name="Header" />
-        <module name="RegexpSingleline" />
-        <module name="RegexpMultiline" />
-        <module name="RegexpSinglelineJava" />
--->
-
-<!-- バグ?
-        <module name="RequireThis" />
--->
-
-<!-- Obsolated
-        <module name="TabCharacter" />
--->
-
     </module>
+
 </module>
 
 <!-- EOF -->