|
1 | 1 | <?xml version="1.0"?>
|
2 | 2 | <!DOCTYPE module PUBLIC
|
3 |
| - "-//Puppy Crawl//DTD Check Configuration 1.3//EN" |
4 |
| - "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> |
| 3 | + "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" |
| 4 | + "https://checkstyle.org/dtds/configuration_1_3.dtd"> |
5 | 5 |
|
6 | 6 | <!--
|
7 | 7 | Checkstyle configuration that checks the Google coding conventions from Google Java Style
|
8 |
| - that can be found at https://google.github.io/styleguide/javaguide.html. |
| 8 | + that can be found at https://google.github.io/styleguide/javaguide.html |
9 | 9 |
|
10 | 10 | Checkstyle is very configurable. Be sure to read the documentation at
|
11 | 11 | http://checkstyle.sf.net (or in your downloaded distribution).
|
|
14 | 14 |
|
15 | 15 | Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
|
16 | 16 | -->
|
17 |
| -<module name="Checker"> |
| 17 | + |
| 18 | +<module name = "Checker"> |
18 | 19 | <property name="charset" value="UTF-8"/>
|
19 | 20 |
|
20 | 21 | <property name="severity" value="error"/>
|
21 | 22 |
|
22 | 23 | <property name="fileExtensions" value="java, properties, xml"/>
|
23 |
| - |
24 |
| - <!-- Suppresions for resources --> |
25 |
| - <module name="SuppressionFilter"> |
26 |
| - <property name="file" value="${config_loc}/test_suppressions.xml"/> |
| 24 | + <!-- Excludes all 'module-info.java' files --> |
| 25 | + <!-- See https://checkstyle.org/config_filefilters.html --> |
| 26 | + <module name="BeforeExecutionExclusionFileFilter"> |
| 27 | + <property name="fileNamePattern" value="module\-info\.java$"/> |
27 | 28 | </module>
|
28 |
| - |
29 | 29 | <!-- Checks for whitespace -->
|
30 | 30 | <!-- See http://checkstyle.sf.net/config_whitespace.html -->
|
31 | 31 | <module name="FileTabCharacter">
|
32 | 32 | <property name="eachLine" value="true"/>
|
33 | 33 | </module>
|
34 | 34 |
|
35 |
| - <module name="NewlineAtEndOfFile"> |
36 |
| - <property name="lineSeparator" value="lf"/> |
| 35 | + <module name="LineLength"> |
| 36 | + <property name="fileExtensions" value="java"/> |
| 37 | + <property name="max" value="150"/> |
| 38 | + <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/> |
37 | 39 | </module>
|
38 | 40 |
|
39 | 41 | <module name="TreeWalker">
|
40 | 42 | <module name="OuterTypeFilename"/>
|
41 | 43 | <module name="IllegalTokenText">
|
42 | 44 | <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
|
43 | 45 | <property name="format"
|
44 |
| - value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/> |
45 |
| - <property name="message" value="Avoid using corresponding octal or Unicode escape."/> |
| 46 | + value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/> |
| 47 | + <property name="message" |
| 48 | + value="Consider using special escape sequence instead of octal value or Unicode escaped value."/> |
46 | 49 | </module>
|
47 | 50 | <module name="AvoidEscapedUnicodeCharacters">
|
48 | 51 | <property name="allowEscapesForControlCharacters" value="true"/>
|
49 | 52 | <property name="allowByTailComment" value="true"/>
|
50 | 53 | <property name="allowNonPrintableEscapes" value="true"/>
|
51 | 54 | </module>
|
52 |
| - <module name="LineLength"> |
53 |
| - <property name="max" value="150"/> |
54 |
| - <property name="ignorePattern" |
55 |
| - value="^package.*|^import.*|a href|href|http://|https://|ftp://"/> |
56 |
| - </module> |
57 | 55 | <module name="AvoidStarImport"/>
|
58 | 56 | <module name="UnusedImports"/>
|
59 | 57 | <module name="OneTopLevelClass"/>
|
|
68 | 66 | <module name="RightCurly">
|
69 | 67 | <property name="id" value="RightCurlySame"/>
|
70 | 68 | <property name="tokens"
|
71 |
| - value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO"/> |
| 69 | + value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, |
| 70 | + LITERAL_DO"/> |
72 | 71 | </module>
|
73 | 72 | <module name="RightCurly">
|
74 | 73 | <property name="id" value="RightCurlyAlone"/>
|
75 | 74 | <property name="option" value="alone"/>
|
76 | 75 | <property name="tokens"
|
77 |
| - value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT"/> |
| 76 | + value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, |
| 77 | + INSTANCE_INIT"/> |
78 | 78 | </module>
|
79 | 79 | <module name="WhitespaceAround">
|
80 | 80 | <property name="allowEmptyConstructors" value="true"/>
|
| 81 | + <property name="allowEmptyLambdas" value="true"/> |
81 | 82 | <property name="allowEmptyMethods" value="true"/>
|
82 | 83 | <property name="allowEmptyTypes" value="true"/>
|
83 | 84 | <property name="allowEmptyLoops" value="true"/>
|
|
92 | 93 | <module name="MissingSwitchDefault"/>
|
93 | 94 | <module name="FallThrough"/>
|
94 | 95 | <module name="UpperEll"/>
|
95 |
| - <module name="TodoComment"> |
96 |
| - <property name="format" value="(TODO)|(FIXME)"/> |
97 |
| - </module> |
98 | 96 | <module name="ModifierOrder"/>
|
99 | 97 | <module name="EmptyLineSeparator">
|
100 | 98 | <property name="allowNoEmptyLineBetweenFields" value="true"/>
|
101 |
| - <property name="allowMultipleEmptyLines" value="false"/> |
102 |
| - <property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/> |
103 | 99 | </module>
|
104 | 100 | <module name="SeparatorWrap">
|
105 | 101 | <property name="id" value="SeparatorWrapDot"/>
|
|
111 | 107 | <property name="tokens" value="COMMA"/>
|
112 | 108 | <property name="option" value="EOL"/>
|
113 | 109 | </module>
|
| 110 | + <module name="SeparatorWrap"> |
| 111 | + <!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 --> |
| 112 | + <property name="id" value="SeparatorWrapEllipsis"/> |
| 113 | + <property name="tokens" value="ELLIPSIS"/> |
| 114 | + <property name="option" value="EOL"/> |
| 115 | + </module> |
| 116 | + <module name="SeparatorWrap"> |
| 117 | + <!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 --> |
| 118 | + <property name="id" value="SeparatorWrapArrayDeclarator"/> |
| 119 | + <property name="tokens" value="ARRAY_DECLARATOR"/> |
| 120 | + <property name="option" value="EOL"/> |
| 121 | + </module> |
| 122 | + <module name="SeparatorWrap"> |
| 123 | + <property name="id" value="SeparatorWrapMethodRef"/> |
| 124 | + <property name="tokens" value="METHOD_REF"/> |
| 125 | + <property name="option" value="nl"/> |
| 126 | + </module> |
114 | 127 | <module name="PackageName">
|
115 | 128 | <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
|
116 | 129 | <message key="name.invalidPattern"
|
|
126 | 139 | value="Member name ''{0}'' must match pattern ''{1}''."/>
|
127 | 140 | </module>
|
128 | 141 | <module name="ParameterName">
|
129 |
| - <property name="id" value="ParameterNameNonPublic"/> |
130 | 142 | <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
|
131 |
| - <property name="accessModifiers" value="protected, package, private"/> |
132 |
| - <property name="ignoreOverridden" value="true"/> |
133 | 143 | <message key="name.invalidPattern"
|
134 | 144 | value="Parameter name ''{0}'' must match pattern ''{1}''."/>
|
135 | 145 | </module>
|
136 |
| - <module name="ParameterName"> |
137 |
| - <property name="id" value="ParameterNamePublic"/> |
138 |
| - <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/> |
139 |
| - <property name="accessModifiers" value="public"/> |
140 |
| - <property name="ignoreOverridden" value="true"/> |
| 146 | + <module name="LambdaParameterName"> |
| 147 | + <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/> |
141 | 148 | <message key="name.invalidPattern"
|
142 |
| - value="Parameter name ''{0}'' must match pattern ''{1}''."/> |
| 149 | + value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/> |
143 | 150 | </module>
|
144 | 151 | <module name="CatchParameterName">
|
145 |
| - <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/> |
| 152 | + <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/> |
146 | 153 | <message key="name.invalidPattern"
|
147 | 154 | value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
|
148 | 155 | </module>
|
149 | 156 | <module name="LocalVariableName">
|
150 | 157 | <property name="tokens" value="VARIABLE_DEF"/>
|
151 |
| - <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/> |
152 |
| - <property name="allowOneCharVarInForLoop" value="true"/> |
| 158 | + <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/> |
153 | 159 | <message key="name.invalidPattern"
|
154 | 160 | value="Local variable name ''{0}'' must match pattern ''{1}''."/>
|
155 | 161 | </module>
|
|
199 | 205 | <property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>
|
200 | 206 | </module>
|
201 | 207 | <module name="MethodParamPad"/>
|
| 208 | + <module name="NoWhitespaceBefore"> |
| 209 | + <property name="tokens" |
| 210 | + value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/> |
| 211 | + <property name="allowLineBreaks" value="true"/> |
| 212 | + </module> |
202 | 213 | <module name="ParenPad"/>
|
203 | 214 | <module name="OperatorWrap">
|
204 | 215 | <property name="option" value="NL"/>
|
205 | 216 | <property name="tokens"
|
206 |
| - value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/> |
| 217 | + value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, |
| 218 | + LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/> |
207 | 219 | </module>
|
208 | 220 | <module name="AnnotationLocation">
|
209 | 221 | <property name="id" value="AnnotationLocationMostCases"/>
|
210 |
| - <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/> |
| 222 | + <property name="tokens" |
| 223 | + value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/> |
211 | 224 | </module>
|
212 | 225 | <module name="AnnotationLocation">
|
213 | 226 | <property name="id" value="AnnotationLocationVariables"/>
|
214 | 227 | <property name="tokens" value="VARIABLE_DEF"/>
|
215 | 228 | <property name="allowSamelineMultipleAnnotations" value="true"/>
|
216 | 229 | </module>
|
217 | 230 | <module name="NonEmptyAtclauseDescription"/>
|
| 231 | + <module name="InvalidJavadocPosition"/> |
218 | 232 | <module name="JavadocTagContinuationIndentation"/>
|
219 | 233 | <module name="SummaryJavadoc">
|
220 | 234 | <property name="forbiddenSummaryFragments"
|
221 | 235 | value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
|
222 | 236 | </module>
|
| 237 | + <module name="JavadocParagraph"/> |
223 | 238 | <module name="AtclauseOrder">
|
224 | 239 | <property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
|
225 | 240 | <property name="target"
|
226 | 241 | value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
|
227 | 242 | </module>
|
228 | 243 | <module name="JavadocMethod">
|
229 | 244 | <property name="scope" value="public"/>
|
230 |
| - <property name="allowMissingJavadoc" value="true"/> |
231 | 245 | <property name="allowMissingParamTags" value="true"/>
|
232 | 246 | <property name="allowMissingThrowsTags" value="true"/>
|
233 | 247 | <property name="allowMissingReturnTag" value="true"/>
|
234 |
| - <property name="minLineCount" value="2"/> |
235 | 248 | <property name="allowedAnnotations" value="Override, Test"/>
|
236 | 249 | <property name="allowThrowsTagsForSubclasses" value="true"/>
|
237 |
| - <property name="ignoreMethodNamesRegex" value="main"/> |
238 | 250 | </module>
|
239 | 251 | <module name="MethodName">
|
240 | 252 | <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
|
|
0 commit comments