1
+ <?xml version =" 1.0" ?>
2
+ <!DOCTYPE module PUBLIC
3
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5
+
6
+ <!--
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.
9
+ Checkstyle is very configurable. Be sure to read the documentation at
10
+ http://checkstyle.sf.net (or in your downloaded distribution).
11
+ To completely disable a check, just comment it out or delete it from the file.
12
+ Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
13
+ -->
14
+
15
+ <module name = " Checker" >
16
+ <property name =" charset" value =" UTF-8" />
17
+
18
+ <property name =" severity" value =" error" />
19
+
20
+ <property name =" fileExtensions" value =" java, properties, xml" />
21
+ <!-- Excludes all 'module-info.java' files -->
22
+ <!-- See https://checkstyle.org/config_filefilters.html -->
23
+ <!-- <module name="BeforeExecutionExclusionFileFilter">-->
24
+ <!-- <property name="fileNamePattern" value="module\-info\.java$"/>-->
25
+ <!-- </module>-->
26
+ <!-- Checks for whitespace -->
27
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
28
+ <module name =" FileTabCharacter" >
29
+ <property name =" eachLine" value =" true" />
30
+ </module >
31
+
32
+ <module name =" TreeWalker" >
33
+ <module name =" OuterTypeFilename" />
34
+ <module name =" IllegalTokenText" >
35
+ <property name =" tokens" value =" STRING_LITERAL, CHAR_LITERAL" />
36
+ <property name =" format"
37
+ 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)" />
38
+ <property name =" message"
39
+ value =" Consider using special escape sequence instead of octal value or Unicode escaped value." />
40
+ </module >
41
+ <module name =" AvoidEscapedUnicodeCharacters" >
42
+ <property name =" allowEscapesForControlCharacters" value =" true" />
43
+ <property name =" allowByTailComment" value =" true" />
44
+ <property name =" allowNonPrintableEscapes" value =" true" />
45
+ </module >
46
+ <module name =" LineLength" >
47
+ <property name =" max" value =" 100" />
48
+ <property name =" ignorePattern" value =" ^package.*|^import.*|a href|href|http://|https://|ftp://" />
49
+ </module >
50
+ <module name =" AvoidStarImport" />
51
+ <module name =" OneTopLevelClass" />
52
+ <module name =" NoLineWrap" />
53
+ <module name =" EmptyBlock" >
54
+ <property name =" option" value =" TEXT" />
55
+ <property name =" tokens"
56
+ value =" LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
57
+ </module >
58
+ <module name =" NeedBraces" />
59
+ <module name =" LeftCurly" />
60
+ <module name =" RightCurly" >
61
+ <property name =" id" value =" RightCurlySame" />
62
+ <property name =" tokens"
63
+ value =" LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
64
+ LITERAL_DO" />
65
+ </module >
66
+ <module name =" RightCurly" >
67
+ <property name =" id" value =" RightCurlyAlone" />
68
+ <property name =" option" value =" alone" />
69
+ <property name =" tokens"
70
+ value =" CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
71
+ INSTANCE_INIT" />
72
+ </module >
73
+ <module name =" WhitespaceAround" >
74
+ <property name =" allowEmptyConstructors" value =" true" />
75
+ <property name =" allowEmptyLambdas" value =" true" />
76
+ <property name =" allowEmptyMethods" value =" true" />
77
+ <property name =" allowEmptyTypes" value =" true" />
78
+ <property name =" allowEmptyLoops" value =" true" />
79
+ <message key =" ws.notFollowed"
80
+ value =" WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)" />
81
+ <message key =" ws.notPreceded"
82
+ value =" WhitespaceAround: ''{0}'' is not preceded with whitespace." />
83
+ </module >
84
+ <module name =" OneStatementPerLine" />
85
+ <module name =" MultipleVariableDeclarations" />
86
+ <module name =" ArrayTypeStyle" />
87
+ <module name =" MissingSwitchDefault" />
88
+ <module name =" FallThrough" />
89
+ <module name =" UpperEll" />
90
+ <module name =" ModifierOrder" />
91
+ <module name =" EmptyLineSeparator" >
92
+ <property name =" allowNoEmptyLineBetweenFields" value =" true" />
93
+ </module >
94
+ <module name =" SeparatorWrap" >
95
+ <property name =" id" value =" SeparatorWrapDot" />
96
+ <property name =" tokens" value =" DOT" />
97
+ <property name =" option" value =" nl" />
98
+ </module >
99
+ <module name =" SeparatorWrap" >
100
+ <property name =" id" value =" SeparatorWrapComma" />
101
+ <property name =" tokens" value =" COMMA" />
102
+ <property name =" option" value =" EOL" />
103
+ </module >
104
+ <module name =" SeparatorWrap" >
105
+ <!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
106
+ <property name =" id" value =" SeparatorWrapEllipsis" />
107
+ <property name =" tokens" value =" ELLIPSIS" />
108
+ <property name =" option" value =" EOL" />
109
+ </module >
110
+ <module name =" SeparatorWrap" >
111
+ <!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
112
+ <property name =" id" value =" SeparatorWrapArrayDeclarator" />
113
+ <property name =" tokens" value =" ARRAY_DECLARATOR" />
114
+ <property name =" option" value =" EOL" />
115
+ </module >
116
+ <!-- <module name="SeparatorWrap">-->
117
+ <!-- <property name="id" value="SeparatorWrapMethodRef"/>-->
118
+ <!-- <property name="tokens" value="METHOD_REF"/>-->
119
+ <!-- <property name="option" value="nl"/>-->
120
+ <!-- </module>-->
121
+ <module name =" PackageName" >
122
+ <property name =" format" value =" ^[a-z]+(\.[a-z][a-z0-9]*)*$" />
123
+ <message key =" name.invalidPattern"
124
+ value =" Package name ''{0}'' must match pattern ''{1}''." />
125
+ </module >
126
+ <module name =" TypeName" >
127
+ <message key =" name.invalidPattern"
128
+ value =" Type name ''{0}'' must match pattern ''{1}''." />
129
+ </module >
130
+ <module name =" MemberName" >
131
+ <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9]*$" />
132
+ <message key =" name.invalidPattern"
133
+ value =" Member name ''{0}'' must match pattern ''{1}''." />
134
+ </module >
135
+ <module name =" ParameterName" >
136
+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
137
+ <message key =" name.invalidPattern"
138
+ value =" Parameter name ''{0}'' must match pattern ''{1}''." />
139
+ </module >
140
+ <!-- <module name="LambdaParameterName">-->
141
+ <!-- <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>-->
142
+ <!-- <message key="name.invalidPattern"-->
143
+ <!-- value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/>-->
144
+ <!-- </module>-->
145
+ <module name =" CatchParameterName" >
146
+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
147
+ <message key =" name.invalidPattern"
148
+ value =" Catch parameter name ''{0}'' must match pattern ''{1}''." />
149
+ </module >
150
+ <module name =" LocalVariableName" >
151
+ <property name =" tokens" value =" VARIABLE_DEF" />
152
+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
153
+ <message key =" name.invalidPattern"
154
+ value =" Local variable name ''{0}'' must match pattern ''{1}''." />
155
+ </module >
156
+ <module name =" ClassTypeParameterName" >
157
+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
158
+ <message key =" name.invalidPattern"
159
+ value =" Class type name ''{0}'' must match pattern ''{1}''." />
160
+ </module >
161
+ <module name =" MethodTypeParameterName" >
162
+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
163
+ <message key =" name.invalidPattern"
164
+ value =" Method type name ''{0}'' must match pattern ''{1}''." />
165
+ </module >
166
+ <module name =" InterfaceTypeParameterName" >
167
+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
168
+ <message key =" name.invalidPattern"
169
+ value =" Interface type name ''{0}'' must match pattern ''{1}''." />
170
+ </module >
171
+ <module name =" NoFinalizer" />
172
+ <module name =" GenericWhitespace" >
173
+ <message key =" ws.followed"
174
+ value =" GenericWhitespace ''{0}'' is followed by whitespace." />
175
+ <message key =" ws.preceded"
176
+ value =" GenericWhitespace ''{0}'' is preceded with whitespace." />
177
+ <message key =" ws.illegalFollow"
178
+ value =" GenericWhitespace ''{0}'' should followed by whitespace." />
179
+ <message key =" ws.notPreceded"
180
+ value =" GenericWhitespace ''{0}'' is not preceded with whitespace." />
181
+ </module >
182
+ <module name =" Indentation" >
183
+ <property name =" basicOffset" value =" 4" />
184
+ <property name =" braceAdjustment" value =" 0" />
185
+ <property name =" caseIndent" value =" 2" />
186
+ <property name =" throwsIndent" value =" 4" />
187
+ <property name =" lineWrappingIndentation" value =" 4" />
188
+ <property name =" arrayInitIndent" value =" 2" />
189
+ </module >
190
+ <module name =" AbbreviationAsWordInName" >
191
+ <property name =" ignoreFinal" value =" false" />
192
+ <property name =" allowedAbbreviationLength" value =" 1" />
193
+ </module >
194
+ <module name =" OverloadMethodsDeclarationOrder" />
195
+ <module name =" VariableDeclarationUsageDistance" />
196
+ <module name =" CustomImportOrder" >
197
+ <property name =" sortImportsInGroupAlphabetically" value =" true" />
198
+ <property name =" separateLineBetweenGroups" value =" true" />
199
+ <property name =" customImportOrderRules" value =" STATIC###THIRD_PARTY_PACKAGE" />
200
+ </module >
201
+ <module name =" MethodParamPad" />
202
+ <!-- <module name="NoWhitespaceBefore">-->
203
+ <!-- <property name="tokens"-->
204
+ <!-- value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>-->
205
+ <!-- <property name="allowLineBreaks" value="true"/>-->
206
+ <!-- </module>-->
207
+ <module name =" ParenPad" />
208
+ <!-- <module name="OperatorWrap">-->
209
+ <!-- <property name="option" value="NL"/>-->
210
+ <!-- <property name="tokens"-->
211
+ <!-- value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,-->
212
+ <!-- LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>-->
213
+ <!-- </module>-->
214
+ <module name =" AnnotationLocation" >
215
+ <property name =" id" value =" AnnotationLocationMostCases" />
216
+ <property name =" tokens"
217
+ value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
218
+ </module >
219
+ <module name =" AnnotationLocation" >
220
+ <property name =" id" value =" AnnotationLocationVariables" />
221
+ <property name =" tokens" value =" VARIABLE_DEF" />
222
+ <property name =" allowSamelineMultipleAnnotations" value =" true" />
223
+ </module >
224
+ <module name =" NonEmptyAtclauseDescription" />
225
+ <module name =" JavadocTagContinuationIndentation" />
226
+ <module name =" SummaryJavadoc" >
227
+ <property name =" forbiddenSummaryFragments"
228
+ value =" ^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
229
+ </module >
230
+ <module name =" JavadocParagraph" />
231
+ <module name =" AtclauseOrder" >
232
+ <property name =" tagOrder" value =" @param, @return, @throws, @deprecated" />
233
+ <property name =" target"
234
+ value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
235
+ </module >
236
+ <module name =" JavadocMethod" >
237
+ <property name =" scope" value =" public" />
238
+ <property name =" allowMissingParamTags" value =" true" />
239
+ <property name =" allowMissingThrowsTags" value =" true" />
240
+ <property name =" allowMissingReturnTag" value =" true" />
241
+ <property name =" minLineCount" value =" 2" />
242
+ <property name =" allowedAnnotations" value =" Override, Test" />
243
+ <property name =" allowThrowsTagsForSubclasses" value =" true" />
244
+ </module >
245
+ <module name =" MethodName" >
246
+ <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9_]*$" />
247
+ <message key =" name.invalidPattern"
248
+ value =" Method name ''{0}'' must match pattern ''{1}''." />
249
+ </module >
250
+ <module name =" SingleLineJavadoc" >
251
+ <property name =" ignoreInlineTags" value =" false" />
252
+ </module >
253
+ <module name =" EmptyCatchBlock" >
254
+ <property name =" exceptionVariableName" value =" expected" />
255
+ </module >
256
+ <module name =" CommentsIndentation" />
257
+ </module >
258
+ </module >
0 commit comments