1<?xml version="1.0"?> 2<!DOCTYPE module PUBLIC 3 "-//Puppy Crawl//DTD Check Configuration 1.3//EN" 4 "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> 5 6<module name="Checker"> 7 <!-- 8 If you set the basedir property below, then all reported file 9 names will be relative to the specified directory. See 10 http://checkstyle.sourceforge.net/5.x/config.html#Checker 11 12 <property name="basedir" value="${basedir}"/> 13 --> 14 15 <property name="severity" value="error"/> 16 17 <module name="SuppressionFilter"> 18 <property name="file" value="${checkstyle.suppressions.file}"/> 19 </module> 20 21 <module name="SuppressionCommentFilter"> 22 <property name="offCommentFormat" value="CSOFF\: ([\w\|]+)"/> 23 <property name="onCommentFormat" value="CSON\: ([\w\|]+)"/> 24 <property name="checkFormat" value="$1"/> 25 </module> 26 27 <module name="JavadocPackage"> 28 <property name="allowLegacy" value="false"/> 29 </module> 30 31 <!-- this causes a ton of noise due to how this is abused in core for dealing with database dialects.--> 32 <!--module name="Translation"> 33 <property name="severity" value="warning"/> 34 </module--> 35 36 <module name="FileTabCharacter"> 37 <property name="eachLine" value="false"/> 38 </module> 39 40 <module name="FileLength"> 41 <property name="fileExtensions" value="java"/> 42 </module> 43 44 <module name="NewlineAtEndOfFile"> 45 <property name="fileExtensions" value="java"/> 46 <property name="lineSeparator" value="lf"/> 47 </module> 48 49 <module name="RegexpHeader"> 50 <property name="headerFile" value="${checkstyle.header.file}"/> 51 <property name="fileExtensions" value="java"/> 52 <property name="id" value="header"/> 53 </module> 54 55 <module name="RegexpSingleline"> 56 <property name="format" value="\s+$"/> 57 <property name="minimum" value="0"/> 58 <property name="maximum" value="0"/> 59 </module> 60 61 <module name="TreeWalker"> 62 <property name="tabWidth" value="4"/> 63 <module name="FileContentsHolder"/> 64 <module name="AvoidStarImport"/> 65 <module name="ConstantName"/> 66 <module name="EmptyBlock"/> 67 <module name="EmptyForIteratorPad"/> 68 <module name="EqualsHashCode"/> 69 <module name="OneStatementPerLine"/> 70 71 <!-- module name="IllegalCatch"/ --> 72 <!--module name="ImportControl"> 73 <property name="file" value="${checkstyle.importcontrol.file}"/> 74 </module--> 75 <module name="IllegalImport"/> 76 <module name="IllegalInstantiation"/> 77 <module name="IllegalThrows"/> 78 <module name="InnerAssignment"/> 79 <module name="JavadocType"> 80 <property name="authorFormat" value="\S"/> 81 </module> 82 <module name="JavadocMethod"> 83 <property name="allowUndeclaredRTE" value="true"/> 84 <property name="allowThrowsTagsForSubclasses" value="true"/> 85 <property name="allowMissingPropertyJavadoc" value="true"/> 86 </module> 87 <module name="JavadocVariable"/> 88 <module name="JavadocStyle"> 89 <property name="scope" value="public"/> 90 </module> 91 92 <module name="LeftCurly"> 93 <property name="option" value="eol"/> 94 <property name="tokens" value="CLASS_DEF"/> 95 <property name="tokens" value="CTOR_DEF"/> 96 <property name="tokens" value="INTERFACE_DEF"/> 97 <property name="tokens" value="METHOD_DEF"/> 98 <property name="tokens" value="LITERAL_CATCH"/> 99 <property name="tokens" value="LITERAL_DO"/> 100 <property name="tokens" value="LITERAL_ELSE"/> 101 <property name="tokens" value="LITERAL_FINALLY"/> 102 <property name="tokens" value="LITERAL_FOR"/> 103 <property name="tokens" value="LITERAL_IF"/> 104 <property name="tokens" value="LITERAL_SWITCH"/> 105 <property name="tokens" value="LITERAL_SYNCHRONIZED"/> 106 <property name="tokens" value="LITERAL_TRY"/> 107 <property name="tokens" value="LITERAL_WHILE"/> 108 </module> 109 110 <module name="OuterTypeNumber"/> 111 <module name="LineLength"> 112 <property name="ignorePattern" value="^ *\* *[^ ]+$"/> 113 <property name="max" value="150"/> 114 </module> 115 116 <module name="MethodCount"> 117 <property name="maxTotal" value="80"/> 118 </module> 119 120 <module name="LocalFinalVariableName"/> 121 <module name="LocalVariableName"/> 122 <module name="MemberName"> 123 <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> 124 </module> 125 <module name="MethodLength"> 126 <property name="max" value="160"/> 127 <property name="countEmpty" value="false"/> 128 </module> 129 <module name="MethodName"/> 130 <module name="MethodParamPad"/> 131 <module name="ModifierOrder"/> 132 <module name="NeedBraces"/> 133 <module name="NoWhitespaceAfter"> 134 <property name="tokens" value="ARRAY_INIT"/> 135 <property name="tokens" value="BNOT"/> 136 <property name="tokens" value="DEC"/> 137 <property name="tokens" value="DOT"/> 138 <property name="tokens" value="INC"/> 139 <property name="tokens" value="LNOT"/> 140 <property name="tokens" value="UNARY_MINUS"/> 141 <property name="tokens" value="UNARY_PLUS"/> 142 </module> 143 144 <module name="NoWhitespaceBefore"/> 145 <module name="NoWhitespaceBefore"> 146 <property name="tokens" value="DOT"/> 147 <property name="allowLineBreaks" value="true"/> 148 </module> 149 150 <module name="OperatorWrap"/> 151 <module name="OperatorWrap"> 152 <property name="tokens" value="ASSIGN"/> 153 <property name="tokens" value="DIV_ASSIGN"/> 154 <property name="tokens" value="PLUS_ASSIGN"/> 155 <property name="tokens" value="MINUS_ASSIGN"/> 156 <property name="tokens" value="STAR_ASSIGN"/> 157 <property name="tokens" value="MOD_ASSIGN"/> 158 <property name="tokens" value="SR_ASSIGN"/> 159 <property name="tokens" value="BSR_ASSIGN"/> 160 <property name="tokens" value="SL_ASSIGN"/> 161 <property name="tokens" value="BXOR_ASSIGN"/> 162 <property name="tokens" value="BOR_ASSIGN"/> 163 <property name="tokens" value="BAND_ASSIGN"/> 164 <property name="option" value="eol"/> 165 </module> 166 <module name="PackageName"/> 167 <module name="ParameterName"> 168 <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> 169 </module> 170 <module name="ParameterNumber"> 171 <property name="id" value="paramNum"/> 172 </module> 173 <module name="ParenPad"/> 174 <module name="TypecastParenPad"/> 175 <module name="RedundantImport"/> 176 <module name="RedundantModifier"/> 177 <module name="RightCurly"> 178 <property name="option" value="same"/> 179 </module> 180 <module name="SimplifyBooleanExpression"/> 181 <module name="SimplifyBooleanReturn"/> 182 <module name="StaticVariableName"> 183 <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> 184 </module> 185 <module name="TypeName"/> 186 <module name="UnusedImports"/> 187 <module name="UpperEll"/> 188 <module name="VisibilityModifier"/> 189 <module name="WhitespaceAfter"/> 190 <module name="WhitespaceAround"/> 191 <module name="GenericWhitespace"/> 192 <module name="FinalClass"/> 193 <module name="MissingSwitchDefault"/> 194 <!--module name="MagicNumber"/--> 195 <!--module name="Indentation"> 196 <property name="basicOffset" value="4"/> 197 <property name="braceAdjustment" value="0"/> 198 <property name="caseIndent" value="0"/> 199 </module--> 200 <!--module name="ArrayTrailingComma"/--> 201 <module name="FinalLocalVariable"/> 202 <module name="EqualsAvoidNull"/> 203 <module name="ParameterAssignment"/> 204 205 <!-- Generates quite a few errors --> 206 <module name="CyclomaticComplexity"> 207 <property name="severity" value="ignore"/> 208 </module> 209 210 <module name="NestedForDepth"> 211 <property name="max" value="2"/> 212 </module> 213 <module name="NestedIfDepth"> 214 <property name="max" value="4"/> 215 </module> 216 <module name="NestedTryDepth"> 217 <property name="max" value="2"/> 218 </module> 219 <!--module name="ExplicitInitialization"/--> 220 <module name="AnnotationUseStyle"/> 221 <module name="MissingDeprecated"/> 222 <module name="MissingOverride"> 223 <property name="javaFiveCompatibility" value="true"/> 224 </module> 225 <module name="PackageAnnotation"/> 226 <module name="SuppressWarnings"/> 227 <module name="OuterTypeFilename"/> 228 <module name="HideUtilityClassConstructor"/> 229 </module> 230</module>