Skip to content

Commit e1e7936

Browse files
committed
chore(checkstyle.xml): update checkstyle
1 parent 0d769b9 commit e1e7936

File tree

1 file changed

+98
-244
lines changed

1 file changed

+98
-244
lines changed

checkstyle.xml

Lines changed: 98 additions & 244 deletions
Original file line numberDiff line numberDiff line change
@@ -1,264 +1,118 @@
1-
<?xml version="1.0"?>
21
<!DOCTYPE module PUBLIC
3-
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
4-
"https://checkstyle.org/dtds/configuration_1_3.dtd">
2+
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
3+
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
54

65
<!--
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.org (or in your downloaded distribution).
11-
To completely disable a check, just comment it out or delete it from the file.
12-
To suppress certain violations please review suppression filters.
13-
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
14-
-->
6+
Checkstyle configuration based on the Google coding conventions from:
157
16-
<module name = "Checker">
17-
<property name="charset" value="UTF-8"/>
8+
- Google Java Style
9+
https://google.github.io/styleguide/javaguide.html
1810
19-
<property name="severity" value="warning"/>
11+
-->
2012

21-
<property name="fileExtensions" value="java, properties, xml"/>
22-
<!-- Excludes all 'module-info.java' files -->
23-
<!-- See https://checkstyle.org/config_filefilters.html -->
24-
<module name="BeforeExecutionExclusionFileFilter">
25-
<property name="fileNamePattern" value="module\-info\.java$"/>
26-
</module>
27-
<!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
28-
<module name="SuppressionFilter">
29-
<property name="file" value="${org.checkstyle.google.suppressionfilter.config}" default="checkstyle-suppressions.xml" />
30-
<property name="optional" value="true"/>
13+
<module name="Checker">
14+
15+
<module name="FileLength">
16+
<property name="max" value="10000"/>
3117
</module>
18+
<module name="FileTabCharacter"/>
3219

33-
<!-- Checks for whitespace -->
34-
<!-- See http://checkstyle.org/config_whitespace.html -->
35-
<module name="FileTabCharacter">
36-
<property name="eachLine" value="true"/>
20+
<!-- Space after 'for' and 'if' -->
21+
<module name="RegexpSingleline">
22+
<property name="format" value="^\s*(for|if)\b[^ ]"/>
23+
<property name="message" value="Space needed before opening parenthesis."/>
3724
</module>
3825

39-
<module name="LineLength">
40-
<property name="fileExtensions" value="java"/>
41-
<property name="max" value="120"/>
42-
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
26+
<!-- For each spacing -->
27+
<module name="RegexpSingleline">
28+
<property name="format" value="^\s*for \(.*?([^ ]:|:[^ ])"/>
29+
<property name="message" value="Space needed around ':' character."/>
4330
</module>
4431

4532
<module name="TreeWalker">
46-
<module name="OuterTypeFilename"/>
47-
<module name="IllegalTokenText">
48-
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
49-
<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)"/>
50-
<property name="message" value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
51-
</module>
52-
<module name="AvoidEscapedUnicodeCharacters">
53-
<property name="allowEscapesForControlCharacters" value="true"/>
54-
<property name="allowByTailComment" value="true"/>
55-
<property name="allowNonPrintableEscapes" value="true"/>
33+
34+
<!-- Checks for Javadoc comments. -->
35+
<!-- See http://checkstyle.sf.net/config_javadoc.html -->
36+
<module name="JavadocStyle"/>
37+
38+
39+
<!-- Checks for Naming Conventions. -->
40+
<!-- See http://checkstyle.sf.net/config_naming.html -->
41+
<!--<module name="ConstantName"/>-->
42+
<module name="LocalFinalVariableName"/>
43+
<module name="LocalVariableName"/>
44+
<module name="MemberName"/>
45+
<module name="MethodName"/>
46+
<module name="StaticVariableName"/>
47+
<module name="TypeName"/>
48+
<module name="PackageName">
49+
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9_]*)*$"/>
50+
<message key="name.invalidPattern"
51+
value="Package name ''{0}'' must match pattern ''{1}''."/>
5652
</module>
53+
54+
<!-- Checks for imports -->
55+
<!-- See http://checkstyle.sf.net/config_import.html -->
5756
<module name="AvoidStarImport"/>
58-
<module name="OneTopLevelClass"/>
59-
<module name="NoLineWrap">
60-
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT"/>
57+
<module name="IllegalImport"/>
58+
<!-- defaults to sun.* packages -->
59+
<module name="RedundantImport"/>
60+
<module name="UnusedImports">
61+
<property name="processJavadoc" value="true"/>
6162
</module>
62-
<module name="EmptyBlock">
63-
<property name="option" value="TEXT"/>
64-
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_ELSE, LITERAL_SWITCH"/>
65-
</module>
66-
<module name="NeedBraces">
67-
<property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/>
68-
</module>
69-
<module name="LeftCurly">
70-
<property name="tokens" value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF,
71-
INTERFACE_DEF, LAMBDA, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT,
72-
LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF,
73-
LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF,
74-
OBJBLOCK, STATIC_INIT"/>
75-
</module>
76-
<module name="RightCurly">
77-
<property name="id" value="RightCurlySame"/>
78-
<property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
79-
LITERAL_DO"/>
80-
</module>
81-
<module name="RightCurly">
82-
<property name="id" value="RightCurlyAlone"/>
83-
<property name="option" value="alone"/>
84-
<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
85-
INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF"/>
86-
</module>
87-
<module name="SuppressionXpathSingleFilter">
88-
<!-- suppresion is required till https://github.com/checkstyle/checkstyle/issues/7541 -->
89-
<property name="id" value="RightCurlyAlone"/>
90-
<property name="query" value="//RCURLY[parent::SLIST[count(./*)=1]
91-
or preceding-sibling::*[last()][self::LCURLY]]"/>
63+
64+
65+
<!-- Checks for Size Violations. -->
66+
<!-- See http://checkstyle.sf.net/config_sizes.html -->
67+
<module name="MethodLength">
68+
<property name="max" value="200"/>
9269
</module>
93-
<module name="OneStatementPerLine"/>
94-
<module name="MultipleVariableDeclarations"/>
70+
71+
72+
<!-- Checks for whitespace -->
73+
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
74+
<module name="GenericWhitespace"/>
75+
<module name="MethodParamPad"/>
76+
<module name="ParenPad"/>
77+
<module name="TypecastParenPad"/>
78+
<module name="WhitespaceAfter"/>
79+
80+
81+
<!-- Modifier Checks -->
82+
<!-- See http://checkstyle.sf.net/config_modifiers.html -->
83+
<module name="ModifierOrder"/>
84+
<module name="RedundantModifier"/>
85+
86+
87+
<!-- Checks for blocks. You know, those { }'s -->
88+
<!-- See http://checkstyle.sf.net/config_blocks.html -->
89+
<module name="AvoidNestedBlocks"/>
90+
<module name="LeftCurly"/>
91+
<module name="RightCurly"/>
92+
93+
94+
<!-- Checks for common coding problems -->
95+
<!-- See http://checkstyle.sf.net/config_coding.html -->
96+
<module name="CovariantEquals"/>
97+
<module name="EmptyStatement"/>
98+
<module name="EqualsHashCode"/>
99+
<module name="IllegalInstantiation"/>
100+
<module name="SimplifyBooleanExpression"/>
101+
<module name="SimplifyBooleanReturn"/>
102+
103+
<!-- Checks for class design -->
104+
<!-- See http://checkstyle.sf.net/config_design.html -->
105+
<module name="HideUtilityClassConstructor"/>
106+
107+
<!-- Miscellaneous other checks. -->
108+
<!-- See http://checkstyle.sf.net/config_misc.html -->
95109
<module name="ArrayTypeStyle"/>
96-
<module name="MissingSwitchDefault"/>
97-
<module name="FallThrough"/>
98110
<module name="UpperEll"/>
99-
<module name="ModifierOrder"/>
100-
<module name="EmptyLineSeparator">
101-
<property name="tokens" value="IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF,
102-
STATIC_INIT, INSTANCE_INIT, CTOR_DEF, VARIABLE_DEF"/>
103-
<property name="allowNoEmptyLineBetweenFields" value="true"/>
104-
</module>
105-
<module name="SeparatorWrap">
106-
<property name="id" value="SeparatorWrapDot"/>
107-
<property name="tokens" value="DOT"/>
108-
<property name="option" value="nl"/>
109-
</module>
110-
<module name="SeparatorWrap">
111-
<property name="id" value="SeparatorWrapComma"/>
112-
<property name="tokens" value="COMMA"/>
113-
<property name="option" value="EOL"/>
114-
</module>
115-
<module name="SeparatorWrap">
116-
<!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
117-
<property name="id" value="SeparatorWrapEllipsis"/>
118-
<property name="tokens" value="ELLIPSIS"/>
119-
<property name="option" value="EOL"/>
120-
</module>
121-
<module name="SeparatorWrap">
122-
<!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
123-
<property name="id" value="SeparatorWrapArrayDeclarator"/>
124-
<property name="tokens" value="ARRAY_DECLARATOR"/>
125-
<property name="option" value="EOL"/>
126-
</module>
127-
<module name="SeparatorWrap">
128-
<property name="id" value="SeparatorWrapMethodRef"/>
129-
<property name="tokens" value="METHOD_REF"/>
130-
<property name="option" value="nl"/>
131-
</module>
132-
<module name="PackageName">
133-
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9_]*)*$"/>
134-
<message key="name.invalidPattern" value="Package name ''{0}'' must match pattern ''{1}''."/>
135-
</module>
136-
<module name="TypeName">
137-
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF"/>
138-
<message key="name.invalidPattern" value="Type name ''{0}'' must match pattern ''{1}''."/>
139-
</module>
140-
<module name="MemberName">
141-
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
142-
<message key="name.invalidPattern" value="Member name ''{0}'' must match pattern ''{1}''."/>
143-
</module>
144-
<module name="ParameterName">
145-
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
146-
<message key="name.invalidPattern" value="Parameter name ''{0}'' must match pattern ''{1}''."/>
147-
</module>
148-
<module name="LambdaParameterName">
149-
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
150-
<message key="name.invalidPattern" value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/>
151-
</module>
152-
<module name="CatchParameterName">
153-
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
154-
<message key="name.invalidPattern" value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
155-
</module>
156-
<module name="LocalVariableName">
157-
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
158-
<message key="name.invalidPattern" value="Local variable name ''{0}'' must match pattern ''{1}''."/>
159-
</module>
160-
<module name="ClassTypeParameterName">
161-
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
162-
<message key="name.invalidPattern" value="Class type name ''{0}'' must match pattern ''{1}''."/>
163-
</module>
164-
<module name="MethodTypeParameterName">
165-
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
166-
<message key="name.invalidPattern" value="Method type name ''{0}'' must match pattern ''{1}''."/>
167-
</module>
168-
<module name="InterfaceTypeParameterName">
169-
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
170-
<message key="name.invalidPattern" value="Interface type name ''{0}'' must match pattern ''{1}''."/>
171-
</module>
172-
<module name="NoFinalizer"/>
173-
<module name="GenericWhitespace">
174-
<message key="ws.followed" value="GenericWhitespace ''{0}'' is followed by whitespace."/>
175-
<message key="ws.preceded" value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
176-
<message key="ws.illegalFollow" value="GenericWhitespace ''{0}'' should followed by whitespace."/>
177-
<message key="ws.notPreceded" value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
178-
</module>
179-
<module name="Indentation">
180-
<property name="basicOffset" value="2"/>
181-
<property name="braceAdjustment" value="0"/>
182-
<property name="caseIndent" value="2"/>
183-
<property name="throwsIndent" value="4"/>
184-
<property name="lineWrappingIndentation" value="4"/>
185-
<property name="arrayInitIndent" value="2"/>
186-
</module>
187-
<module name="AbbreviationAsWordInName">
188-
<property name="ignoreFinal" value="false"/>
189-
<property name="allowedAbbreviationLength" value="5"/>
190-
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF,
191-
PARAMETER_DEF, VARIABLE_DEF"/>
192-
</module>
193-
<module name="CustomImportOrder">
194-
<property name="sortImportsInGroupAlphabetically" value="true"/>
195-
<property name="separateLineBetweenGroups" value="true"/>
196-
<property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>
197-
<property name="tokens" value="IMPORT, STATIC_IMPORT, PACKAGE_DEF"/>
198-
</module>
199-
<module name="MethodParamPad">
200-
<property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF,
201-
SUPER_CTOR_CALL, ENUM_CONSTANT_DEF"/>
202-
</module>
203-
<module name="NoWhitespaceBefore">
204-
<property name="tokens" value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
205-
<property name="allowLineBreaks" value="true"/>
206-
</module>
207-
<module name="ParenPad">
208-
<property name="tokens" value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF,
209-
EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW,
210-
LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL,
211-
METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA"/>
212-
</module>
213-
<module name="OperatorWrap">
214-
<property name="option" value="NL"/>
215-
<property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,
216-
LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
217-
</module>
218-
<module name="AnnotationLocation">
219-
<property name="id" value="AnnotationLocationMostCases"/>
220-
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
221-
</module>
222-
<module name="AnnotationLocation">
223-
<property name="id" value="AnnotationLocationVariables"/>
224-
<property name="tokens" value="VARIABLE_DEF"/>
225-
<property name="allowSamelineMultipleAnnotations" value="true"/>
226-
</module>
227-
<module name="NonEmptyAtclauseDescription"/>
228-
<module name="InvalidJavadocPosition"/>
229-
<module name="JavadocTagContinuationIndentation"/>
230-
<module name="SummaryJavadoc">
231-
<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
232-
</module>
233-
<module name="JavadocParagraph"/>
234-
<module name="AtclauseOrder">
235-
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
236-
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
237-
</module>
238-
<module name="JavadocMethod">
239-
<property name="scope" value="public"/>
240-
<property name="allowMissingParamTags" value="true"/>
241-
<property name="allowMissingReturnTag" value="true"/>
242-
<property name="allowedAnnotations" value="Override, Test"/>
243-
<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF"/>
244-
</module>
245-
<module name="MissingJavadocMethod">
246-
<property name="scope" value="public"/>
247-
<property name="minLineCount" value="2"/>
248-
<property name="allowedAnnotations" value="Override, Test"/>
249-
<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF"/>
250-
</module>
251-
<module name="MethodName">
252-
<property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
253-
<message key="name.invalidPattern" value="Method name ''{0}'' must match pattern ''{1}''."/>
254-
</module>
255-
<module name="CommentsIndentation">
256-
<property name="tokens" value="SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN"/>
257-
</module>
258-
<!-- https://checkstyle.org/config_filters.html#SuppressionXpathFilter -->
259-
<module name="SuppressionXpathFilter">
260-
<property name="file" value="${org.checkstyle.google.suppressionxpathfilter.config}" default="checkstyle-xpath-suppressions.xml" />
261-
<property name="optional" value="true"/>
262-
</module>
111+
112+
<!-- Make the @SuppressWarnings annotations available to Checkstyle -->
113+
<module name="SuppressWarningsHolder" />
263114
</module>
264-
</module>
115+
116+
<!-- Filter out Checkstyle warnings that have been suppressed with the @SuppressWarnings annotation -->
117+
<module name="SuppressWarningsFilter" />
118+
</module>

0 commit comments

Comments
 (0)