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
+ <!-- Checks for whitespace -->
22
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
23
+ <module name =" FileTabCharacter" >
24
+ <property name =" eachLine" value =" true" />
25
+ </module >
26
+
27
+ <module name =" TreeWalker" >
28
+ <module name =" OuterTypeFilename" />
29
+ <module name =" IllegalTokenText" >
30
+ <property name =" tokens" value =" STRING_LITERAL, CHAR_LITERAL" />
31
+ <property name =" format"
32
+ 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)" />
33
+ <property name =" message" value =" Avoid using corresponding octal or Unicode escape." />
34
+ </module >
35
+ <module name =" AvoidEscapedUnicodeCharacters" >
36
+ <property name =" allowEscapesForControlCharacters" value =" true" />
37
+ <property name =" allowByTailComment" value =" true" />
38
+ <property name =" allowNonPrintableEscapes" value =" true" />
39
+ </module >
40
+ <!-- Google's answer here is 100, but for now we're just going to disable this (dwallach)
41
+ <module name="LineLength">
42
+ <property name="max" value="140"/>
43
+ <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
44
+ </module> -->
45
+ <!-- <module name="AvoidStarImport"/> this is actually useful in some cases (dwallach) -->
46
+ <module name =" OneTopLevelClass" />
47
+ <module name =" NoLineWrap" />
48
+ <module name =" EmptyBlock" >
49
+ <property name =" option" value =" TEXT" />
50
+ <property name =" tokens" value =" LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
51
+ </module >
52
+ <module name =" NeedBraces" />
53
+ <module name =" LeftCurly" >
54
+ <property name =" maxLineLength" value =" 100" />
55
+ </module >
56
+ <module name =" RightCurly" />
57
+ <module name =" RightCurly" >
58
+ <property name =" option" value =" alone" />
59
+ <property name =" tokens"
60
+ value =" CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT" />
61
+ </module >
62
+ <module name =" WhitespaceAround" >
63
+ <property name =" allowEmptyConstructors" value =" true" />
64
+ <property name =" allowEmptyMethods" value =" true" />
65
+ <property name =" allowEmptyTypes" value =" true" />
66
+ <property name =" allowEmptyLoops" value =" true" />
67
+ <message key =" ws.notFollowed"
68
+ 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)" />
69
+ <message key =" ws.notPreceded"
70
+ value =" WhitespaceAround: ''{0}'' is not preceded with whitespace." />
71
+ </module >
72
+ <module name =" OneStatementPerLine" />
73
+ <module name =" MultipleVariableDeclarations" />
74
+ <module name =" ArrayTypeStyle" />
75
+ <module name =" MissingSwitchDefault" />
76
+ <module name =" FallThrough" />
77
+ <module name =" UpperEll" />
78
+ <module name =" ModifierOrder" />
79
+ <module name =" EmptyLineSeparator" >
80
+ <property name =" allowNoEmptyLineBetweenFields" value =" true" />
81
+ </module >
82
+ <module name =" SeparatorWrap" >
83
+ <property name =" tokens" value =" DOT" />
84
+ <property name =" option" value =" nl" />
85
+ </module >
86
+ <module name =" SeparatorWrap" >
87
+ <property name =" tokens" value =" COMMA" />
88
+ <property name =" option" value =" EOL" />
89
+ </module >
90
+ <module name =" PackageName" >
91
+ <property name =" format" value =" ^[a-z]+(\.[a-z][a-z0-9]*)*$" />
92
+ <message key =" name.invalidPattern"
93
+ value =" Package name ''{0}'' must match pattern ''{1}''." />
94
+ </module >
95
+ <module name =" TypeName" >
96
+ <message key =" name.invalidPattern"
97
+ value =" Type name ''{0}'' must match pattern ''{1}''." />
98
+ </module >
99
+ <module name =" MemberName" >
100
+ <property name =" format" value =" ^[a-z][a-zA-Z0-9]*$" /> <!-- simplified (dwallach) -->
101
+ <message key =" name.invalidPattern"
102
+ value =" Member name ''{0}'' must match pattern ''{1}''." />
103
+ </module >
104
+ <module name =" ParameterName" >
105
+ <property name =" format" value =" ^[a-z][a-zA-Z0-9]*$" /> <!-- simplified (dwallach) -->
106
+ <message key =" name.invalidPattern"
107
+ value =" Parameter name ''{0}'' must match pattern ''{1}''." />
108
+ </module >
109
+ <!-- <module name="CatchParameterName">
110
+ <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
111
+ <message key="name.invalidPattern"
112
+ value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
113
+ </module> -->
114
+ <module name =" LocalVariableName" >
115
+ <property name =" tokens" value =" VARIABLE_DEF" />
116
+ <property name =" format" value =" ^[a-z][a-zA-Z0-9]*$" /> <!-- simplified (dwallach) -->
117
+ <property name =" allowOneCharVarInForLoop" value =" true" />
118
+ <message key =" name.invalidPattern"
119
+ value =" Local variable name ''{0}'' must match pattern ''{1}''." />
120
+ </module >
121
+ <module name =" ClassTypeParameterName" >
122
+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
123
+ <message key =" name.invalidPattern"
124
+ value =" Class type name ''{0}'' must match pattern ''{1}''." />
125
+ </module >
126
+ <module name =" MethodTypeParameterName" >
127
+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
128
+ <message key =" name.invalidPattern"
129
+ value =" Method type name ''{0}'' must match pattern ''{1}''." />
130
+ </module >
131
+ <module name =" NoFinalizer" />
132
+ <module name =" GenericWhitespace" >
133
+ <message key =" ws.followed"
134
+ value =" GenericWhitespace ''{0}'' is followed by whitespace." />
135
+ <message key =" ws.preceded"
136
+ value =" GenericWhitespace ''{0}'' is preceded with whitespace." />
137
+ <message key =" ws.illegalFollow"
138
+ value =" GenericWhitespace ''{0}'' should followed by whitespace." />
139
+ <message key =" ws.notPreceded"
140
+ value =" GenericWhitespace ''{0}'' is not preceded with whitespace." />
141
+ </module >
142
+ <module name =" Indentation" >
143
+ <property name =" basicOffset" value =" 4" />
144
+ <property name =" braceAdjustment" value =" 0" />
145
+ <property name =" caseIndent" value =" 4" />
146
+ <property name =" throwsIndent" value =" 4" />
147
+ <property name =" lineWrappingIndentation" value =" 4" />
148
+ <property name =" arrayInitIndent" value =" 4" />
149
+ </module >
150
+ <module name =" AbbreviationAsWordInName" >
151
+ <property name =" ignoreFinal" value =" false" />
152
+ <property name =" allowedAbbreviationLength" value =" 3" /> <!-- increased from 1 (dwallach) -->
153
+ </module >
154
+ <module name =" OverloadMethodsDeclarationOrder" />
155
+ <module name =" VariableDeclarationUsageDistance" >
156
+ <property name =" allowedDistance" value =" 30" /> <!-- increased from 3 (dwallach) -->
157
+ </module >
158
+ <!-- too strict (dwallach)
159
+ <module name="CustomImportOrder">
160
+ <property name="specialImportsRegExp" value="com.google"/>
161
+ <property name="sortImportsInGroupAlphabetically" value="true"/>
162
+ <property name="customImportOrderRules" value="STATIC###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE"/>
163
+ </module>
164
+ -->
165
+ <module name =" MethodParamPad" />
166
+ <!-- too strict (dwallach)
167
+ <module name="OperatorWrap">
168
+ <property name="option" value="NL"/>
169
+ <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
170
+ </module>
171
+ -->
172
+ <module name =" AnnotationLocation" >
173
+ <property name =" tokens" value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
174
+ </module >
175
+ <module name =" AnnotationLocation" >
176
+ <property name =" tokens" value =" VARIABLE_DEF" />
177
+ <property name =" allowSamelineMultipleAnnotations" value =" true" />
178
+ </module >
179
+ <module name =" NonEmptyAtclauseDescription" />
180
+ <module name =" JavadocTagContinuationIndentation" />
181
+ <module name =" SummaryJavadoc" >
182
+ <property name =" forbiddenSummaryFragments"
183
+ value =" ^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
184
+ </module >
185
+ <module name =" JavadocParagraph" />
186
+ <module name =" AtclauseOrder" >
187
+ <property name =" tagOrder" value =" @param, @return, @throws, @deprecated" />
188
+ <property name =" target" value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
189
+ </module >
190
+ <module name =" JavadocMethod" >
191
+ <property name =" scope" value =" public" />
192
+ <property name =" allowMissingParamTags" value =" true" />
193
+ <property name =" allowMissingThrowsTags" value =" true" />
194
+ <property name =" allowMissingReturnTag" value =" true" />
195
+ <property name =" minLineCount" value =" 2" />
196
+ <property name =" allowedAnnotations" value =" Override, Test" />
197
+ <property name =" allowThrowsTagsForSubclasses" value =" true" />
198
+ </module >
199
+ <module name =" MethodName" >
200
+ <property name =" format" value =" ^[a-z][a-zA-Z0-9_]*$" /> <!-- simplified a bit (dwallach) -->
201
+ <message key =" name.invalidPattern"
202
+ value =" Method name ''{0}'' must match pattern ''{1}''." />
203
+ </module >
204
+ <module name =" SingleLineJavadoc" >
205
+ <property name =" ignoreInlineTags" value =" false" />
206
+ </module >
207
+ <module name =" EmptyCatchBlock" >
208
+ <property name =" exceptionVariableName" value =" expected" />
209
+ </module >
210
+ <!-- <module name="CommentsIndentation"/> -->
211
+ </module >
212
+ </module >
0 commit comments