1+ <?xml version =" 1.0" ?>
2+ <!DOCTYPE module PUBLIC
3+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4+ "http://checkstyle.sourceforge.net/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 =" warning" />
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" 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)" />
32+ <property name =" message" value =" Consider using special escape sequence instead of octal value or Unicode escaped value." />
33+ </module >
34+ <module name =" AvoidEscapedUnicodeCharacters" >
35+ <property name =" allowEscapesForControlCharacters" value =" true" />
36+ <property name =" allowByTailComment" value =" true" />
37+ <property name =" allowNonPrintableEscapes" value =" true" />
38+ </module >
39+ <module name =" LineLength" >
40+ <property name =" max" value =" 100" />
41+ <property name =" ignorePattern" value =" ^package.*|^import.*|a href|href|http://|https://|ftp://" />
42+ </module >
43+ <module name =" AvoidStarImport" />
44+ <module name =" OneTopLevelClass" />
45+ <module name =" NoLineWrap" />
46+ <module name =" EmptyBlock" >
47+ <property name =" option" value =" TEXT" />
48+ <property name =" tokens" value =" LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
49+ </module >
50+ <module name =" NeedBraces" />
51+ <module name =" LeftCurly" />
52+ <module name =" RightCurly" >
53+ <property name =" id" value =" RightCurlySame" />
54+ <property name =" tokens" value =" LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO" />
55+ </module >
56+ <module name =" RightCurly" >
57+ <property name =" id" value =" RightCurlyAlone" />
58+ <property name =" option" value =" alone" />
59+ <property name =" tokens" value =" CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT" />
60+ </module >
61+ <module name =" WhitespaceAround" >
62+ <property name =" allowEmptyConstructors" value =" true" />
63+ <property name =" allowEmptyMethods" value =" true" />
64+ <property name =" allowEmptyTypes" value =" true" />
65+ <property name =" allowEmptyLoops" value =" true" />
66+ <message key =" ws.notFollowed"
67+ 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)" />
68+ <message key =" ws.notPreceded"
69+ value =" WhitespaceAround: ''{0}'' is not preceded with whitespace." />
70+ </module >
71+ <module name =" OneStatementPerLine" />
72+ <module name =" MultipleVariableDeclarations" />
73+ <module name =" ArrayTypeStyle" />
74+ <module name =" MissingSwitchDefault" />
75+ <module name =" FallThrough" />
76+ <module name =" UpperEll" />
77+ <module name =" ModifierOrder" />
78+ <module name =" EmptyLineSeparator" >
79+ <property name =" allowNoEmptyLineBetweenFields" value =" true" />
80+ </module >
81+ <module name =" SeparatorWrap" >
82+ <property name =" id" value =" SeparatorWrapDot" />
83+ <property name =" tokens" value =" DOT" />
84+ <property name =" option" value =" nl" />
85+ </module >
86+ <module name =" SeparatorWrap" >
87+ <property name =" id" value =" SeparatorWrapComma" />
88+ <property name =" tokens" value =" COMMA" />
89+ <property name =" option" value =" EOL" />
90+ </module >
91+ <module name =" SeparatorWrap" >
92+ <!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
93+ <property name =" id" value =" SeparatorWrapEllipsis" />
94+ <property name =" tokens" value =" ELLIPSIS" />
95+ <property name =" option" value =" EOL" />
96+ </module >
97+ <module name =" SeparatorWrap" >
98+ <!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
99+ <property name =" id" value =" SeparatorWrapArrayDeclarator" />
100+ <property name =" tokens" value =" ARRAY_DECLARATOR" />
101+ <property name =" option" value =" EOL" />
102+ </module >
103+ <module name =" SeparatorWrap" >
104+ <property name =" id" value =" SeparatorWrapMethodRef" />
105+ <property name =" tokens" value =" METHOD_REF" />
106+ <property name =" option" value =" nl" />
107+ </module >
108+ <module name =" PackageName" >
109+ <property name =" format" value =" ^[a-z]+(\.[a-z][a-z0-9]*)*$" />
110+ <message key =" name.invalidPattern"
111+ value =" Package name ''{0}'' must match pattern ''{1}''." />
112+ </module >
113+ <module name =" TypeName" >
114+ <message key =" name.invalidPattern"
115+ value =" Type name ''{0}'' must match pattern ''{1}''." />
116+ </module >
117+ <module name =" MemberName" >
118+ <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9]*$" />
119+ <message key =" name.invalidPattern"
120+ value =" Member name ''{0}'' must match pattern ''{1}''." />
121+ </module >
122+ <module name =" ParameterName" >
123+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
124+ <message key =" name.invalidPattern"
125+ value =" Parameter name ''{0}'' must match pattern ''{1}''." />
126+ </module >
127+ <module name =" CatchParameterName" >
128+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
129+ <message key =" name.invalidPattern"
130+ value =" Catch parameter name ''{0}'' must match pattern ''{1}''." />
131+ </module >
132+ <module name =" LocalVariableName" >
133+ <property name =" tokens" value =" VARIABLE_DEF" />
134+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
135+ <message key =" name.invalidPattern"
136+ value =" Local variable name ''{0}'' must match pattern ''{1}''." />
137+ </module >
138+ <module name =" ClassTypeParameterName" >
139+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
140+ <message key =" name.invalidPattern"
141+ value =" Class type name ''{0}'' must match pattern ''{1}''." />
142+ </module >
143+ <module name =" MethodTypeParameterName" >
144+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
145+ <message key =" name.invalidPattern"
146+ value =" Method type name ''{0}'' must match pattern ''{1}''." />
147+ </module >
148+ <module name =" InterfaceTypeParameterName" >
149+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
150+ <message key =" name.invalidPattern"
151+ value =" Interface type name ''{0}'' must match pattern ''{1}''." />
152+ </module >
153+ <module name =" NoFinalizer" />
154+ <module name =" GenericWhitespace" >
155+ <message key =" ws.followed"
156+ value =" GenericWhitespace ''{0}'' is followed by whitespace." />
157+ <message key =" ws.preceded"
158+ value =" GenericWhitespace ''{0}'' is preceded with whitespace." />
159+ <message key =" ws.illegalFollow"
160+ value =" GenericWhitespace ''{0}'' should followed by whitespace." />
161+ <message key =" ws.notPreceded"
162+ value =" GenericWhitespace ''{0}'' is not preceded with whitespace." />
163+ </module >
164+ <module name =" Indentation" >
165+ <property name =" basicOffset" value =" 2" />
166+ <property name =" braceAdjustment" value =" 0" />
167+ <property name =" caseIndent" value =" 2" />
168+ <property name =" throwsIndent" value =" 4" />
169+ <property name =" lineWrappingIndentation" value =" 4" />
170+ <property name =" arrayInitIndent" value =" 2" />
171+ </module >
172+ <module name =" AbbreviationAsWordInName" >
173+ <property name =" ignoreFinal" value =" false" />
174+ <property name =" allowedAbbreviationLength" value =" 1" />
175+ </module >
176+ <module name =" OverloadMethodsDeclarationOrder" />
177+ <module name =" VariableDeclarationUsageDistance" />
178+ <module name =" CustomImportOrder" >
179+ <property name =" sortImportsInGroupAlphabetically" value =" true" />
180+ <property name =" separateLineBetweenGroups" value =" true" />
181+ <property name =" customImportOrderRules" value =" STATIC###THIRD_PARTY_PACKAGE" />
182+ </module >
183+ <module name =" MethodParamPad" />
184+ <module name =" NoWhitespaceBefore" >
185+ <property name =" tokens" value =" COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF" />
186+ <property name =" allowLineBreaks" value =" true" />
187+ </module >
188+ <module name =" ParenPad" />
189+ <module name =" OperatorWrap" >
190+ <property name =" option" value =" NL" />
191+ <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, METHOD_REF " />
192+ </module >
193+ <module name =" AnnotationLocation" >
194+ <property name =" id" value =" AnnotationLocationMostCases" />
195+ <property name =" tokens" value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
196+ </module >
197+ <module name =" AnnotationLocation" >
198+ <property name =" id" value =" AnnotationLocationVariables" />
199+ <property name =" tokens" value =" VARIABLE_DEF" />
200+ <property name =" allowSamelineMultipleAnnotations" value =" true" />
201+ </module >
202+ <module name =" NonEmptyAtclauseDescription" />
203+ <module name =" JavadocTagContinuationIndentation" />
204+ <module name =" SummaryJavadoc" >
205+ <property name =" forbiddenSummaryFragments" value =" ^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
206+ </module >
207+ <module name =" JavadocParagraph" />
208+ <module name =" AtclauseOrder" >
209+ <property name =" tagOrder" value =" @param, @return, @throws, @deprecated" />
210+ <property name =" target" value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
211+ </module >
212+ <module name =" JavadocMethod" >
213+ <property name =" scope" value =" public" />
214+ <property name =" allowMissingParamTags" value =" true" />
215+ <property name =" allowMissingThrowsTags" value =" true" />
216+ <property name =" allowMissingReturnTag" value =" true" />
217+ <property name =" minLineCount" value =" 2" />
218+ <property name =" allowedAnnotations" value =" Override, Test" />
219+ <property name =" allowThrowsTagsForSubclasses" value =" true" />
220+ </module >
221+ <module name =" MethodName" >
222+ <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9_]*$" />
223+ <message key =" name.invalidPattern"
224+ value =" Method name ''{0}'' must match pattern ''{1}''." />
225+ </module >
226+ <module name =" SingleLineJavadoc" >
227+ <property name =" ignoreInlineTags" value =" false" />
228+ </module >
229+ <module name =" EmptyCatchBlock" >
230+ <property name =" exceptionVariableName" value =" expected" />
231+ </module >
232+ <module name =" CommentsIndentation" />
233+ </module >
234+ </module >
0 commit comments