11<?xml version =" 1.0" ?>
22<!DOCTYPE module PUBLIC
3- "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4- "http://www.puppycrawl.com /dtds/configuration_1_3.dtd">
3+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4+ "http://checkstyle.sourceforge.net /dtds/configuration_1_3.dtd">
55
66<!--
7-
8- Checkstyle configuration that checks the Google coding conventions from:
9-
10- - Google Java Style
11- https://google-styleguide.googlecode.com/svn-history/r130/trunk/javaguide.html
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.
129
1310 Checkstyle is very configurable. Be sure to read the documentation at
1411 http://checkstyle.sf.net (or in your downloaded distribution).
1512
16- Most Checks are configurable, be sure to consult the documentation.
17-
1813 To completely disable a check, just comment it out or delete it from the file.
1914
2015 Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
21-
2216 -->
2317
2418<module name = " Checker" >
2519 <property name =" charset" value =" UTF-8" />
2620
27- <property name =" severity" value =" error " />
21+ <property name =" severity" value =" warning " />
2822
23+ <property name =" fileExtensions" value =" java, properties, xml" />
2924 <!-- Checks for whitespace -->
3025 <!-- See http://checkstyle.sf.net/config_whitespace.html -->
3126 <module name =" FileTabCharacter" >
3227 <property name =" eachLine" value =" true" />
3328 </module >
3429
35- <module name =" SuppressionCommentFilter" />
36-
3730 <module name =" TreeWalker" >
38- <module name =" FileContentsHolder" />
3931 <module name =" OuterTypeFilename" />
4032 <module name =" IllegalTokenText" >
4133 <property name =" tokens" value =" STRING_LITERAL, CHAR_LITERAL" />
42- <property name =" format" 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)" />
43- <property name =" message" value =" Avoid using corresponding octal or Unicode escape ." />
34+ <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)" />
35+ <property name =" message" value =" Consider using special escape sequence instead of octal value or Unicode escaped value ." />
4436 </module >
4537 <module name =" AvoidEscapedUnicodeCharacters" >
4638 <property name =" allowEscapesForControlCharacters" value =" true" />
4941 </module >
5042 <module name =" LineLength" >
5143 <property name =" max" value =" 100" />
52- <property name =" ignorePattern" value =" ^package.*|^import.*|a href|href|http://|https://|ftp://|//.* " />
44+ <property name =" ignorePattern" value =" ^package.*|^import.*|a href|href|http://|https://|ftp://" />
5345 </module >
5446 <module name =" AvoidStarImport" />
5547 <module name =" OneTopLevelClass" />
5951 <property name =" tokens" value =" LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
6052 </module >
6153 <module name =" NeedBraces" />
62- <module name =" LeftCurly" >
63- <property name =" maxLineLength" value =" 100" />
54+ <module name =" LeftCurly" />
55+ <module name =" RightCurly" >
56+ <property name =" id" value =" RightCurlySame" />
57+ <property name =" tokens" value =" LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO" />
6458 </module >
65- <module name =" RightCurly" />
6659 <module name =" RightCurly" >
60+ <property name =" id" value =" RightCurlyAlone" />
6761 <property name =" option" value =" alone" />
68- <property name =" tokens" value =" CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT" />
62+ <property name =" tokens" value =" CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT" />
6963 </module >
7064 <module name =" WhitespaceAround" >
7165 <property name =" allowEmptyConstructors" value =" true" />
7266 <property name =" allowEmptyMethods" value =" true" />
7367 <property name =" allowEmptyTypes" value =" true" />
7468 <property name =" allowEmptyLoops" value =" true" />
7569 <message key =" ws.notFollowed"
76- 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)" />
77- <message key =" ws.notPreceded"
78- value =" WhitespaceAround: ''{0}'' is not preceded with whitespace." />
70+ 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)" />
71+ <message key =" ws.notPreceded"
72+ value =" WhitespaceAround: ''{0}'' is not preceded with whitespace." />
7973 </module >
8074 <module name =" OneStatementPerLine" />
8175 <module name =" MultipleVariableDeclarations" />
8882 <property name =" allowNoEmptyLineBetweenFields" value =" true" />
8983 </module >
9084 <module name =" SeparatorWrap" >
85+ <property name =" id" value =" SeparatorWrapDot" />
9186 <property name =" tokens" value =" DOT" />
9287 <property name =" option" value =" nl" />
9388 </module >
9489 <module name =" SeparatorWrap" >
90+ <property name =" id" value =" SeparatorWrapComma" />
9591 <property name =" tokens" value =" COMMA" />
9692 <property name =" option" value =" EOL" />
9793 </module >
94+ <module name =" SeparatorWrap" >
95+ <!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
96+ <property name =" id" value =" SeparatorWrapEllipsis" />
97+ <property name =" tokens" value =" ELLIPSIS" />
98+ <property name =" option" value =" EOL" />
99+ </module >
100+ <module name =" SeparatorWrap" >
101+ <!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
102+ <property name =" id" value =" SeparatorWrapArrayDeclarator" />
103+ <property name =" tokens" value =" ARRAY_DECLARATOR" />
104+ <property name =" option" value =" EOL" />
105+ </module >
106+ <module name =" SeparatorWrap" >
107+ <property name =" id" value =" SeparatorWrapMethodRef" />
108+ <property name =" tokens" value =" METHOD_REF" />
109+ <property name =" option" value =" nl" />
110+ </module >
98111 <module name =" PackageName" >
99112 <property name =" format" value =" ^[a-z]+(\.[a-z][a-z0-9]*)*$" />
100113 <message key =" name.invalidPattern"
101- value =" Package name ''{0}'' must match pattern ''{1}''." />
114+ value =" Package name ''{0}'' must match pattern ''{1}''." />
102115 </module >
103116 <module name =" TypeName" >
104117 <message key =" name.invalidPattern"
105- value =" Type name ''{0}'' must match pattern ''{1}''." />
118+ value =" Type name ''{0}'' must match pattern ''{1}''." />
106119 </module >
107120 <module name =" MemberName" >
108121 <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9]*$" />
109122 <message key =" name.invalidPattern"
110- value =" Member name ''{0}'' must match pattern ''{1}''." />
123+ value =" Member name ''{0}'' must match pattern ''{1}''." />
111124 </module >
112125 <module name =" ParameterName" >
113- <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9]*$" />
126+ <property name =" format" value =" ^[a-z]( [a-z0-9][a-zA-Z0-9]*)? $" />
114127 <message key =" name.invalidPattern"
115- value =" Parameter name ''{0}'' must match pattern ''{1}''." />
128+ value =" Parameter name ''{0}'' must match pattern ''{1}''." />
129+ </module >
130+ <module name =" CatchParameterName" >
131+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
132+ <message key =" name.invalidPattern"
133+ value =" Catch parameter name ''{0}'' must match pattern ''{1}''." />
116134 </module >
117135 <module name =" LocalVariableName" >
118136 <property name =" tokens" value =" VARIABLE_DEF" />
119- <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9]*$" />
120- <property name =" allowOneCharVarInForLoop" value =" true" />
137+ <property name =" format" value =" ^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
121138 <message key =" name.invalidPattern"
122- value =" Local variable name ''{0}'' must match pattern ''{1}''." />
139+ value =" Local variable name ''{0}'' must match pattern ''{1}''." />
123140 </module >
124141 <module name =" ClassTypeParameterName" >
125142 <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
126143 <message key =" name.invalidPattern"
127- value =" Class type name ''{0}'' must match pattern ''{1}''." />
144+ value =" Class type name ''{0}'' must match pattern ''{1}''." />
128145 </module >
129146 <module name =" MethodTypeParameterName" >
130147 <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
131148 <message key =" name.invalidPattern"
132- value =" Method type name ''{0}'' must match pattern ''{1}''." />
149+ value =" Method type name ''{0}'' must match pattern ''{1}''." />
150+ </module >
151+ <module name =" InterfaceTypeParameterName" >
152+ <property name =" format" value =" (^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
153+ <message key =" name.invalidPattern"
154+ value =" Interface type name ''{0}'' must match pattern ''{1}''." />
133155 </module >
134156 <module name =" NoFinalizer" />
135157 <module name =" GenericWhitespace" >
136158 <message key =" ws.followed"
137- value =" GenericWhitespace ''{0}'' is followed by whitespace." />
138- <message key =" ws.preceded"
139- value =" GenericWhitespace ''{0}'' is preceded with whitespace." />
140- <message key =" ws.illegalFollow"
141- value =" GenericWhitespace ''{0}'' should followed by whitespace." />
142- <message key =" ws.notPreceded"
143- value =" GenericWhitespace ''{0}'' is not preceded with whitespace." />
159+ value =" GenericWhitespace ''{0}'' is followed by whitespace." />
160+ <message key =" ws.preceded"
161+ value =" GenericWhitespace ''{0}'' is preceded with whitespace." />
162+ <message key =" ws.illegalFollow"
163+ value =" GenericWhitespace ''{0}'' should followed by whitespace." />
164+ <message key =" ws.notPreceded"
165+ value =" GenericWhitespace ''{0}'' is not preceded with whitespace." />
144166 </module >
145167 <module name =" Indentation" >
146- <property name =" basicOffset" value =" 4 " />
168+ <property name =" basicOffset" value =" 2 " />
147169 <property name =" braceAdjustment" value =" 0" />
148- <property name =" caseIndent" value =" 4 " />
170+ <property name =" caseIndent" value =" 2 " />
149171 <property name =" throwsIndent" value =" 4" />
150- <property name =" lineWrappingIndentation" value =" 8 " />
151- <property name =" arrayInitIndent" value =" 4 " />
172+ <property name =" lineWrappingIndentation" value =" 4 " />
173+ <property name =" arrayInitIndent" value =" 2 " />
152174 </module >
153175 <module name =" AbbreviationAsWordInName" >
154176 <property name =" ignoreFinal" value =" false" />
155177 <property name =" allowedAbbreviationLength" value =" 1" />
156178 </module >
157179 <module name =" OverloadMethodsDeclarationOrder" />
158- <module name =" VariableDeclarationUsageDistance" >
159- <property name =" allowedDistance" value =" 5" />
160- </module >
180+ <module name =" VariableDeclarationUsageDistance" />
161181 <module name =" CustomImportOrder" >
162- <property name =" thirdPartyPackageRegExp" value =" .*" />
163- <property name =" specialImportsRegExp" value =" ^fi.helsinki" />
164182 <property name =" sortImportsInGroupAlphabetically" value =" true" />
165- <property name =" customImportOrderRules" value =" STATIC###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE" />
183+ <property name =" separateLineBetweenGroups" value =" true" />
184+ <property name =" customImportOrderRules" value =" STATIC###THIRD_PARTY_PACKAGE" />
166185 </module >
167186 <module name =" MethodParamPad" />
187+ <module name =" NoWhitespaceBefore" >
188+ <property name =" tokens" value =" COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF" />
189+ <property name =" allowLineBreaks" value =" true" />
190+ </module >
191+ <module name =" ParenPad" />
168192 <module name =" OperatorWrap" >
169193 <property name =" option" value =" NL" />
170- <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 " />
194+ <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 " />
171195 </module >
172196 <module name =" AnnotationLocation" >
197+ <property name =" id" value =" AnnotationLocationMostCases" />
173198 <property name =" tokens" value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
174199 </module >
175200 <module name =" AnnotationLocation" >
201+ <property name =" id" value =" AnnotationLocationVariables" />
176202 <property name =" tokens" value =" VARIABLE_DEF" />
177203 <property name =" allowSamelineMultipleAnnotations" value =" true" />
178204 </module >
179205 <module name =" NonEmptyAtclauseDescription" />
180206 <module name =" JavadocTagContinuationIndentation" />
181- <module name =" SummaryJavadocCheck " >
207+ <module name =" SummaryJavadoc " >
182208 <property name =" forbiddenSummaryFragments" value =" ^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
183209 </module >
184210 <module name =" JavadocParagraph" />
185211 <module name =" AtclauseOrder" >
186212 <property name =" tagOrder" value =" @param, @return, @throws, @deprecated" />
187- <property name =" target" value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, VARIABLE_DEF" />
213+ <property name =" target" value =" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
188214 </module >
189- <!-- module name="JavadocMethod">
215+ <module name =" JavadocMethod" >
190216 <property name =" scope" value =" public" />
191217 <property name =" allowMissingParamTags" value =" true" />
192218 <property name =" allowMissingThrowsTags" value =" true" />
193219 <property name =" allowMissingReturnTag" value =" true" />
194220 <property name =" minLineCount" value =" 2" />
195221 <property name =" allowedAnnotations" value =" Override, Test" />
196222 <property name =" allowThrowsTagsForSubclasses" value =" true" />
197- </module-- >
223+ </module >
198224 <module name =" MethodName" >
199225 <property name =" format" value =" ^[a-z][a-z0-9][a-zA-Z0-9_]*$" />
200226 <message key =" name.invalidPattern"
201- value =" Method name ''{0}'' must match pattern ''{1}''." />
227+ value =" Method name ''{0}'' must match pattern ''{1}''." />
202228 </module >
203229 <module name =" SingleLineJavadoc" >
230+ <property name =" ignoreInlineTags" value =" false" />
231+ </module >
232+ <module name =" EmptyCatchBlock" >
233+ <property name =" exceptionVariableName" value =" expected" />
204234 </module >
235+ <module name =" CommentsIndentation" />
205236 </module >
206- </module >
237+ </module >
0 commit comments