1 <?xml version="1.0"?>
2 <!DOCTYPE module PUBLIC
3 "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
4 "https://checkstyle.org/dtds/configuration_1_3.dtd">
5
6 <module name = "Checker">
7 <property name="charset" value="UTF-8"/>
8
9 <!-- do not change severity to 'error', as that will hide errors caused by exceptions -->
10 <property name="severity" value="warning"/>
11
12 <!-- haltOnException is required for exception fixes and reporting of all exceptions -->
13 <property name="haltOnException" value="false"/>
14
15 <!-- BeforeExecutionFileFilters is required for sources of java9 -->
16 <module name="BeforeExecutionExclusionFileFilter">
17 <property name="fileNamePattern" value="module\-info\.java$" />
18 </module>
19
20 <module name="TreeWalker">
21 <!-- Naming Conventions -->
22 <module name="AbbreviationAsWordInName">
23 <property name="ignoreFinal" value="false"/>
24 <property name="allowedAbbreviationLength" value="0"/>
25 <property name="allowedAbbreviations" value="AST"/>
26 </module>
27 <module name="AbstractClassName"/>
28 <module name="ClassTypeParameterName"/>
29 <module name="ConstantName"/>
30 <module name="InterfaceTypeParameterName"/>
31 <module name="LocalFinalVariableName"/>
32 <module name="LocalVariableName">
33 <property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
34 <property name="allowOneCharVarInForLoop" value="true"/>
35 </module>
36 <module name="MemberName">
37 <property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
38 </module>
39 <module name="MethodName"/>
40 <module name="MethodTypeParameterName"/>
41 <module name="PackageName"/>
42 <module name="ParameterName">
43 <property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
44 <property name="ignoreOverridden" value="true"/>
45 </module>
46 <module name="LambdaParameterName">
47 <property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
48 </module>
49 <module name="CatchParameterName">
50 <property name="format" value="^(ex|[a-z][a-z][a-zA-Z]+)$"/>
51 </module>
52 <module name="StaticVariableName">
53 <property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
54 </module>
55 <module name="TypeName"/>
56
57 <!-- Regexp -->
58 <module name="Regexp"/>
59 <module name="RegexpSinglelineJava"/>
60 <module name="RegexpSinglelineJava">
61 <property name="format" value="[^\p{ASCII}]"/>
62 <property name="ignoreComments" value="true"/>
63 </module>
64
65 <!-- Size Violations -->
66 <module name="AnonInnerLength"/>
67 <module name="ExecutableStatementCount">
68 <property name="max" value="30"/>
69 </module>
70 <module name="MethodCount">
71 <property name="maxTotal" value="34"/>
72 </module>
73 <module name="MethodLength"/>
74 <module name="OuterTypeNumber"/>
75 <module name="ParameterNumber"/>
76
77 <!-- Whitespace -->
78 <module name="EmptyForInitializerPad"/>
79 <module name="EmptyForIteratorPad"/>
80 <module name="EmptyLineSeparator">
81 <property name="allowNoEmptyLineBetweenFields" value="true"/>
82 <property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
83 </module>
84 <module name="GenericWhitespace"/>
85 <module name="MethodParamPad"/>
86 <module name="NoLineWrap"/>
87 <module name="NoWhitespaceAfter">
88 <property name="tokens" value="ARRAY_INIT"/>
89 <property name="tokens" value="AT"/>
90 <property name="tokens" value="BNOT"/>
91 <property name="tokens" value="DEC"/>
92 <property name="tokens" value="DOT"/>
93 <property name="tokens" value="INC"/>
94 <property name="tokens" value="LNOT"/>
95 <property name="tokens" value="UNARY_MINUS"/>
96 <property name="tokens" value="UNARY_PLUS"/>
97 <property name="tokens" value="ARRAY_DECLARATOR"/>
98 <property name="tokens" value="INDEX_OP"/>
99 <property name="tokens" value="METHOD_REF"/>
100 </module>
101 <module name="NoWhitespaceBefore"/>
102 <module name="NoWhitespaceBefore">
103 <property name="tokens" value="DOT"/>
104 <property name="tokens" value="METHOD_REF"/>
105 <property name="allowLineBreaks" value="true"/>
106 </module>
107 <module name="OperatorWrap">
108 <property name="tokens" value="QUESTION"/>
109 <property name="tokens" value="COLON"/>
110 <property name="tokens" value="EQUAL"/>
111 <property name="tokens" value="NOT_EQUAL"/>
112 <property name="tokens" value="DIV"/>
113 <property name="tokens" value="PLUS"/>
114 <property name="tokens" value="MINUS"/>
115 <property name="tokens" value="STAR"/>
116 <property name="tokens" value="MOD"/>
117 <property name="tokens" value="SR"/>
118 <property name="tokens" value="BSR"/>
119 <property name="tokens" value="GE"/>
120 <property name="tokens" value="GT"/>
121 <property name="tokens" value="SL"/>
122 <property name="tokens" value="LE"/>
123 <property name="tokens" value="LT"/>
124 <property name="tokens" value="BXOR"/>
125 <property name="tokens" value="BOR"/>
126 <property name="tokens" value="LOR"/>
127 <property name="tokens" value="BAND"/>
128 <property name="tokens" value="LAND"/>
129 <property name="tokens" value="TYPE_EXTENSION_AND"/>
130 <property name="tokens" value="LITERAL_INSTANCEOF"/>
131 <property name="tokens" value="METHOD_REF"/>
132 <property name="option" value="nl"/>
133 </module>
134 <module name="OperatorWrap">
135 <property name="tokens" value="ASSIGN"/>
136 <property name="tokens" value="DIV_ASSIGN"/>
137 <property name="tokens" value="PLUS_ASSIGN"/>
138 <property name="tokens" value="MINUS_ASSIGN"/>
139 <property name="tokens" value="STAR_ASSIGN"/>
140 <property name="tokens" value="MOD_ASSIGN"/>
141 <property name="tokens" value="SR_ASSIGN"/>
142 <property name="tokens" value="BSR_ASSIGN"/>
143 <property name="tokens" value="SL_ASSIGN"/>
144 <property name="tokens" value="BXOR_ASSIGN"/>
145 <property name="tokens" value="BOR_ASSIGN"/>
146 <property name="tokens" value="BAND_ASSIGN"/>
147 <property name="option" value="eol"/>
148 </module>
149 <module name="ParenPad"/>
150 <module name="SeparatorWrap">
151 <property name="tokens" value="DOT"/>
152 <property name="tokens" value="AT"/>
153 <property name="tokens" value="METHOD_REF"/>
154 <property name="option" value="nl"/>
155 </module>
156 <module name="SeparatorWrap">
157 <property name="tokens" value="COMMA"/>
158 <property name="tokens" value="RBRACK"/>
159 <property name="tokens" value="ARRAY_DECLARATOR"/>
160 <property name="tokens" value="ELLIPSIS"/>
161 <property name="tokens" value="SEMI"/>
162 <property name="option" value="EOL"/>
163 </module>
164 <module name="SingleSpaceSeparator">
165 <property name="validateComments" value="false"/>
166 </module>
167 <module name="TypecastParenPad"/>
168 <module name="WhitespaceAfter"/>
169 <module name="WhitespaceAround"/>
170
171 <!-- usuppress javadoc parsing errors, as we test Check not a parser -->
172 <module name="SuppressionXpathSingleFilter">
173 <property name="message" value="Javadoc comment at column \d+ has parse error"/>
174 </module>
175 </module>
176
177 <!-- as we run on regression even on non-compiled files we need to skip exceptions on them -->
178 <module name="SuppressionSingleFilter">
179 <property name="message" value="Exception occurred while parsing"/>
180 <property name="checks" value="Checker"/>
181 </module>
182 </module>