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 <module name="IllegalCatch">
22 <property name="illegalClassNames"
23 value="java.lang.Exception,
24 java.lang.Throwable,
25 java.lang.RuntimeException,
26 java.lang.NullPointerException"/>
27 </module>
28 <module name="IllegalInstantiation">
29 <property name="classes"
30 value="org.xml.sax.SAXException, org.xml.sax.SAXParseException,
31 org.apache.commons.beanutils.ConversionException,
32 org.antlr.v4.runtime.misc.ParseCancellationException,
33 antlr.RecognitionException, antlr.TokenStreamException,
34 antlr.TokenStreamRecognitionException, antlr.ANTLRException,
35 java.lang.StringBuffer"/>
36 </module>
37 <module name="InnerAssignment"/>
38 <module name="MagicNumber"/>
39 <!-- Filters -->
40 <module name="SuppressionCommentFilter">
41 <!--
42 Use suppressions.xml for suppressions, this is only example.
43 checkFormat will prevent suppression comments from being valid.
44 -->
45 <property name="checkFormat" value="IGNORETHIS"/>
46 <property name="offCommentFormat" value="CSOFF\: .*"/>
47 <property name="onCommentFormat" value="CSON\: .*"/>
48 </module>
49 <!-- Tone down the checking for test code -->
50 <module name="SuppressionXpathSingleFilter">
51 <property name="files" value="[\\/]internal[\\/].*[\\/]\w+Util\.java"/>
52 <property name="checks" value="IllegalCatch"/>
53 </module>
54 <module name="SuppressionXpathSingleFilter">
55 <property name="files" value=".*[\\/]src[\\/]test[\\/]"/>
56 <property name="checks" value="EmptyBlock"/>
57 </module>
58 <module name="SuppressionXpathSingleFilter">
59 <property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
60 <property name="checks" value="JavadocVariable"/>
61 </module>
62 <module name="SuppressionXpathSingleFilter">
63 <property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
64 <property name="checks" value="JavadocType"/>
65 </module>
66 <module name="SuppressionXpathSingleFilter">
67 <property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
68 <property name="checks" value="MagicNumber"/>
69 </module>
70 <module name="SuppressionXpathSingleFilter">
71 <property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
72 <property name="checks" value="AvoidStaticImport"/>
73 </module>
74 <module name="SuppressionXpathSingleFilter">
75 <property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
76 <property name="checks" value="WriteTag"/>
77 </module>
78 <module name="SuppressionXpathSingleFilter">
79 <property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
80 <property name="checks" value="MethodCount"/>
81 </module>
82 <!-- Fixing these cases will decrease code readability -->
83 <module name="SuppressionXpathSingleFilter">
84 <property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
85 <property name="checks" value="MultipleStringLiterals"/>
86 </module>
87 <module name="SuppressWithNearbyCommentFilter">
88 <property name="commentFormat"
89 value="-@cs\[(\w{8,}(\|\w{8,})*)\] \w[\(\)\-\.\'\`\,\:\;\w ]{10,}"/>
90 <property name="checkFormat" value="$1"/>
91 <property name="influenceFormat" value="3"/>
92 </module>
93
94 <!-- Imports -->
95 <module name="AvoidStarImport"/>
96 <module name="AvoidStaticImport"/>
97 <module name="CustomImportOrder">
98 <property name="customImportOrderRules"
99 value="STATIC###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE"/>
100 <property name="standardPackageRegExp" value="^java\."/>
101 <property name="specialImportsRegExp" value="^javax\."/>
102 <property name="thirdPartyPackageRegExp" value="^org\."/>
103 <property name="sortImportsInGroupAlphabetically" value="true"/>
104 <property name="separateLineBetweenGroups" value="true"/>
105 </module>
106 <module name="IllegalImport"/>
107 <module name="ImportOrder">
108 <property name="groups" value="/^java\./,javax,org"/>
109 <property name="ordered" value="true"/>
110 <property name="separated" value="true"/>
111 <property name="option" value="top"/>
112 <property name="sortStaticImportsAlphabetically" value="true"/>
113 </module>
114 <module name="RedundantImport"/>
115 <module name="UnusedImports"/>
116
117 <!-- usuppress javadoc parsing errors, as we test Check not a parser -->
118 <module name="SuppressionXpathSingleFilter">
119 <property name="message" value="Javadoc comment at column \d+ has parse error"/>
120 </module>
121 </module>
122
123
124 <!-- as we run on regression even on non-compiled files we need to skip exceptions on them -->
125 <module name="SuppressionSingleFilter">
126 <property name="message" value="Exception occurred while parsing"/>
127 <property name="checks" value="Checker"/>
128 </module>
129 </module>