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      <!-- Size Violations -->
20      <module name="FileLength">
21          <property name="fileExtensions" value="java"/>
22      </module>
23      <module name="LineLength">
24          <property name="fileExtensions" value="java"/>
25          <property name="max" value="100"/>
26          <property name="ignorePattern" value="^ *\* *([^ ]+|\{@code .*|&lt;a href=&quot;[^&quot;]+&quot;&gt;)$"/>
27      </module>
28  
29      <!-- Whitespace -->
30      <module name="FileTabCharacter">
31          <property name="eachLine" value="false"/>
32      </module>
33  
34      <module name="TreeWalker">
35          <property name="tabWidth" value="4"/>
36  
37          <!-- Annotations -->
38          <module name="AnnotationLocation">
39              <property name="tokens" value="ANNOTATION_DEF"/>
40              <property name="tokens" value="ANNOTATION_FIELD_DEF"/>
41              <property name="tokens" value="PACKAGE_DEF"/>
42              <property name="tokens" value="ENUM_CONSTANT_DEF"/>
43              <property name="tokens" value="VARIABLE_DEF"/>
44              <property name="allowSamelineSingleParameterlessAnnotation" value="false"/>
45          </module>
46          <module name="AnnotationOnSameLine">
47              <!-- we can not use it as it conflicts with AnnotationLocation -->
48              <property name="severity" value="ignore"/>
49              <property name="tokens" value="METHOD_DEF"/>
50              <property name="tokens" value="CTOR_DEF"/>
51              <property name="tokens" value="TYPECAST"/>
52              <property name="tokens" value="DOT"/>
53              <property name="tokens" value="CLASS_DEF"/>
54              <property name="tokens" value="ENUM_DEF"/>
55              <property name="tokens" value="INTERFACE_DEF"/>
56              <property name="tokens" value="TYPE_ARGUMENT"/>
57              <property name="tokens" value="ANNOTATION_DEF"/>
58              <property name="tokens" value="LITERAL_NEW"/>
59              <property name="tokens" value="LITERAL_THROWS"/>
60              <property name="tokens" value="VARIABLE_DEF"/>
61              <property name="tokens" value="PARAMETER_DEF"/>
62              <property name="tokens" value="IMPLEMENTS_CLAUSE"/>
63              <property name="tokens" value="ANNOTATION_FIELD_DEF"/>
64          </module>
65          <module name="AnnotationUseStyle"/>
66          <module name="MissingDeprecated"/>
67          <module name="MissingOverride"/>
68          <module name="PackageAnnotation"/>
69          <module name="SuppressWarnings">
70              <property name="format" value="^((?!unchecked|deprecation|rawtypes|resource).)*$"/>
71              <message key="suppressed.warning.not.allowed"
72                       value="The warning ''{0}'' cannot be suppressed at this location.
73               Only few javac warnings are allowed to suppress.
74               If try to suppress checkstyle/pmd/..... violation please do this in their config file.
75               If you try to suppress IntelliJ IDEA inspection,
76               please use javadoc block tag @noinspection"
77              />
78          </module>
79          <module name="SuppressWarningsHolder"/>
80  
81          <!-- Block Checks -->
82          <module name="AvoidNestedBlocks">
83              <property name="allowInSwitchCase" value="true"/>
84          </module>
85          <module name="EmptyBlock">
86              <property name="tokens" value="LITERAL_CATCH"/>
87              <property name="tokens" value="ARRAY_INIT"/>
88              <property name="tokens" value="LITERAL_DEFAULT"/>
89              <property name="tokens" value="LITERAL_CASE"/>
90              <property name="tokens" value="INSTANCE_INIT"/>
91              <property name="tokens" value="LITERAL_DO"/>
92              <property name="tokens" value="LITERAL_ELSE"/>
93              <property name="tokens" value="LITERAL_FINALLY"/>
94              <property name="tokens" value="LITERAL_FOR"/>
95              <property name="tokens" value="LITERAL_IF"/>
96              <property name="tokens" value="LITERAL_SWITCH"/>
97              <property name="tokens" value="LITERAL_SYNCHRONIZED"/>
98              <property name="tokens" value="LITERAL_TRY"/>
99              <property name="tokens" value="LITERAL_WHILE"/>
100             <property name="tokens" value="STATIC_INIT"/>
101             <property name="option" value="text"/>
102         </module>
103         <module name="EmptyCatchBlock"/>
104         <module name="LeftCurly"/>
105         <module name="NeedBraces"/>
106         <module name="NeedBraces">
107             <property name="tokens" value="LAMBDA"/>
108             <property name="allowSingleLineStatement" value="true"/>
109         </module>
110         <module name="RightCurly">
111             <property name="tokens" value="METHOD_DEF"/>
112             <property name="tokens" value="CTOR_DEF"/>
113             <property name="tokens" value="CLASS_DEF"/>
114             <property name="tokens" value="INSTANCE_INIT"/>
115             <property name="tokens" value="LITERAL_FOR"/>
116             <property name="tokens" value="STATIC_INIT"/>
117             <property name="tokens" value="LITERAL_WHILE"/>
118             <property name="tokens" value="LITERAL_CATCH"/>
119             <property name="tokens" value="LITERAL_ELSE"/>
120             <property name="tokens" value="LITERAL_FINALLY"/>
121             <property name="tokens" value="LITERAL_IF"/>
122             <property name="tokens" value="LITERAL_TRY"/>
123             <property name="tokens" value="ANNOTATION_DEF"/>
124             <property name="tokens" value="ENUM_DEF"/>
125             <property name="option" value="alone"/>
126         </module>
127         <module name="RightCurly">
128             <property name="tokens" value="LITERAL_DO"/>
129             <property name="option" value="same"/>
130         </module>
131     </module>
132     <!-- as we run on regression even on non-compiled files we need to skip exceptions on them -->
133     <module name="SuppressionSingleFilter">
134       <property name="message" value="Exception occurred while parsing"/>
135       <property name="checks" value="Checker"/>
136     </module>
137 </module>