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 .*|<a href="[^"]+">)$"/>
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>