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 <!-- Coding --> 22 <module name="ArrayTrailingComma"/> 23 <module name="AvoidDoubleBraceInitialization"/> 24 <module name="AvoidInlineConditionals"/> 25 <module name="AvoidNoArgumentSuperConstructorCall"/> 26 <module name="CovariantEquals"/> 27 <module name="DeclarationOrder"/> 28 <module name="DefaultComesLast"/> 29 <module name="EmptyStatement"/> 30 <module name="EqualsAvoidNull"/> 31 <module name="EqualsHashCode"/> 32 <module name="ExplicitInitialization"/> 33 <module name="FallThrough"/> 34 <module name="FinalLocalVariable"/> 35 <module name="HiddenField"> 36 <property name="ignoreConstructorParameter" value="true"/> 37 <property name="ignoreSetter" value="true"/> 38 <property name="setterCanReturnItsClass" value="true"/> 39 </module> 40 <module name="IllegalCatch"> 41 <property name="illegalClassNames" 42 value="java.lang.Exception, 43 java.lang.Throwable, 44 java.lang.RuntimeException, 45 java.lang.NullPointerException"/> 46 </module> 47 <module name="IllegalInstantiation"> 48 <property name="classes" 49 value="org.xml.sax.SAXException, org.xml.sax.SAXParseException, 50 org.apache.commons.beanutils.ConversionException, 51 org.antlr.v4.runtime.misc.ParseCancellationException, 52 antlr.RecognitionException, antlr.TokenStreamException, 53 antlr.TokenStreamRecognitionException, antlr.ANTLRException, 54 java.lang.StringBuffer"/> 55 </module> 56 <module name="IllegalThrows"/> 57 <module name="IllegalToken"> 58 <property name="tokens" value="LABELED_STAT"/> 59 <property name="tokens" value="LITERAL_NATIVE"/> 60 <property name="tokens" value="LITERAL_VOLATILE"/> 61 <property name="tokens" value="LITERAL_ASSERT"/> 62 </module> 63 <module name="IllegalTokenText"> 64 <property name="tokens" value="STRING_LITERAL"/> 65 <property name="format" value="^(US-ASCII|ISO-8859-1|UTF-8|UTF-16BE|UTF-16LE|UTF-16)$"/> 66 <property name="ignoreCase" value="true"/> 67 </module> 68 <module name="IllegalType"> 69 <property name="illegalClassNames" 70 value="java.util.HashSet, HashSet, java.util.LinkedHashMap, LinkedHashMap, 71 java.util.TreeMap, TreeMap, java.util.HashMap, HashMap, 72 java.util.LinkedHashSet, LinkedHashSet, java.util.TreeSet, TreeSet, 73 java.lang.StringBuffer, StringBuffer"/> 74 </module> 75 <module name="InnerAssignment"/> 76 <module name="MagicNumber"/> 77 <module name="MissingCtor"> 78 <!-- 79 we will not use that fanatic validation, extra code is not good 80 But this Check will exists as it was created by community demand. 81 --> 82 <property name="severity" value="ignore"/> 83 </module> 84 <module name="MissingSwitchDefault"/> 85 <module name="ModifiedControlVariable"/> 86 <module name="MultipleStringLiterals"/> 87 <module name="MultipleVariableDeclarations"/> 88 <module name="NestedForDepth"> 89 <property name="max" value="2"/> 90 </module> 91 <module name="NestedIfDepth"> 92 <property name="max" value="3"/> 93 </module> 94 <module name="NestedTryDepth"/> 95 <module name="NoArrayTrailingComma"> 96 <!-- This Check is conflicting with ArrayTrailingComma --> 97 <property name="severity" value="ignore"/> 98 </module> 99 <module name="NoClone"/> 100 <module name="NoEnumTrailingComma"> 101 <!-- This Check is conflicting with our vision of code 102 to be same as ArrayTrailingComma requires it --> 103 <property name="severity" value="ignore"/> 104 </module> 105 <module name="NoFinalizer"/> 106 <module name="OneStatementPerLine"/> 107 <module name="OverloadMethodsDeclarationOrder"/> 108 <module name="PackageDeclaration"/> 109 <module name="ParameterAssignment"/> 110 <module name="RequireThis"/> 111 <module name="ReturnCount"> 112 <property name="max" value="1"/> 113 <property name="maxForVoid" value="0"/> 114 </module> 115 <module name="SimplifyBooleanExpression"/> 116 <module name="SimplifyBooleanReturn"/> 117 <module name="StringLiteralEquality"/> 118 <module name="SuperClone"/> 119 <module name="SuperFinalize"/> 120 <module name="UnnecessaryParentheses"/> 121 <module name="UnnecessarySemicolonAfterOuterTypeDeclaration"/> 122 <module name="UnnecessarySemicolonAfterTypeMemberDeclaration"/> 123 <module name="UnnecessarySemicolonInEnumeration"/> 124 <module name="UnnecessarySemicolonInTryWithResources"/> 125 <module name="VariableDeclarationUsageDistance"/> 126 <!-- usuppress javadoc parsing errors, as we test Check not a parser --> 127 <module name="SuppressionXpathSingleFilter"> 128 <property name="message" value="Javadoc comment at column \d+ has parse error"/> 129 </module> 130 </module> 131 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>