2017-03-04 20:49:11 +01:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<!DOCTYPE module PUBLIC
|
|
|
|
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
|
|
|
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
2022-01-30 10:20:08 +01:00
|
|
|
<!--
|
|
|
|
Note: Checkstyle likes to introduce breaking changes like removing support for certain properties. Since this
|
|
|
|
configuration is also used by CodeClimate, we should keep it in sync with the version that they use:
|
|
|
|
https://github.com/codeclimate/codeclimate-checkstyle/blob/master/bin/install-checkstyle.sh
|
|
|
|
https://docs.codeclimate.com/docs/checkstyle (currently outdated)
|
|
|
|
-->
|
2017-03-04 20:49:11 +01:00
|
|
|
|
|
|
|
<module name="Checker">
|
|
|
|
<property name="charset" value="UTF-8"/>
|
|
|
|
<property name="severity" value="warning"/>
|
2018-09-01 08:38:14 +02:00
|
|
|
<property name="fileExtensions" value="java"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
|
|
|
|
<module name="SuppressWarningsFilter" />
|
|
|
|
|
2019-11-26 22:00:44 +01:00
|
|
|
<module name="LineLength">
|
|
|
|
<property name="max" value="120"/>
|
|
|
|
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
|
|
|
|
</module>
|
|
|
|
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="TreeWalker">
|
|
|
|
<module name="SuppressWarningsHolder"/>
|
|
|
|
<module name="OuterTypeFilename"/>
|
|
|
|
<module name="IllegalTokenText">
|
|
|
|
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
|
|
|
|
<property name="format" value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
|
|
|
|
<property name="message" value="Avoid using corresponding octal or Unicode escape."/>
|
|
|
|
</module>
|
|
|
|
<module name="AvoidEscapedUnicodeCharacters">
|
|
|
|
<property name="allowEscapesForControlCharacters" value="true"/>
|
|
|
|
<property name="allowByTailComment" value="true"/>
|
|
|
|
<property name="allowNonPrintableEscapes" value="true"/>
|
|
|
|
</module>
|
|
|
|
<module name="TodoComment">
|
2017-03-26 13:20:40 +02:00
|
|
|
<!-- Allow comments which have an issue number as they are accounted for in the issue tracker -->
|
|
|
|
<property name="format" value="TODO(?! #\d+:)|FIXME"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
</module>
|
|
|
|
<module name="GenericWhitespace"/>
|
2018-09-01 08:38:14 +02:00
|
|
|
<module name="WhitespaceAfter"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="AvoidStarImport"/>
|
|
|
|
<module name="RedundantImport"/>
|
|
|
|
<module name="UnusedImports"/>
|
|
|
|
<module name="OneTopLevelClass"/>
|
|
|
|
<module name="FinalClass"/>
|
|
|
|
<module name="HideUtilityClassConstructor"/>
|
|
|
|
<module name="InnerTypeLast"/>
|
|
|
|
<module name="VisibilityModifier"/>
|
|
|
|
<module name="AvoidNestedBlocks"/>
|
|
|
|
<module name="NoLineWrap"/>
|
|
|
|
<module name="EmptyBlock">
|
|
|
|
<property name="option" value="TEXT"/>
|
|
|
|
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
|
|
|
|
</module>
|
|
|
|
<module name="NeedBraces"/>
|
|
|
|
<module name="RightCurly"/>
|
|
|
|
<module name="RightCurly">
|
|
|
|
<property name="option" value="alone"/>
|
|
|
|
<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
|
|
|
|
</module>
|
|
|
|
<module name="OneStatementPerLine"/>
|
|
|
|
<module name="MultipleVariableDeclarations"/>
|
|
|
|
<module name="ArrayTypeStyle"/>
|
|
|
|
<module name="MissingSwitchDefault"/>
|
2017-03-23 10:34:28 +01:00
|
|
|
<module name="DefaultComesLast"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="FallThrough"/>
|
2017-03-23 10:34:28 +01:00
|
|
|
<module name="NestedTryDepth"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="UpperEll"/>
|
|
|
|
<module name="ModifierOrder"/>
|
|
|
|
<module name="RedundantModifier"/>
|
|
|
|
<module name="EmptyLineSeparator">
|
|
|
|
<property name="allowNoEmptyLineBetweenFields" value="true"/>
|
|
|
|
</module>
|
|
|
|
<module name="SeparatorWrap">
|
|
|
|
<property name="tokens" value="DOT"/>
|
|
|
|
<property name="option" value="nl"/>
|
|
|
|
</module>
|
|
|
|
<module name="SeparatorWrap">
|
|
|
|
<property name="tokens" value="COMMA"/>
|
|
|
|
<property name="option" value="EOL"/>
|
|
|
|
</module>
|
|
|
|
<module name="PackageName">
|
|
|
|
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Package name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="TypeName">
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Type name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="MemberName">
|
|
|
|
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Member name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="ParameterName">
|
|
|
|
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="LocalVariableName">
|
|
|
|
<property name="tokens" value="VARIABLE_DEF"/>
|
|
|
|
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
|
|
|
|
<property name="allowOneCharVarInForLoop" value="true"/>
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="ClassTypeParameterName">
|
|
|
|
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Class type name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="MethodTypeParameterName">
|
|
|
|
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Method type name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="NoFinalizer"/>
|
|
|
|
<module name="AbbreviationAsWordInName">
|
|
|
|
<property name="ignoreFinal" value="false"/>
|
|
|
|
<property name="allowedAbbreviationLength" value="1"/>
|
|
|
|
</module>
|
2017-03-23 10:34:28 +01:00
|
|
|
<module name="DeclarationOrder"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="OverloadMethodsDeclarationOrder"/>
|
|
|
|
<module name="VariableDeclarationUsageDistance"/>
|
|
|
|
<module name="MethodParamPad"/>
|
2017-03-23 10:34:28 +01:00
|
|
|
<module name="StringLiteralEquality"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="BooleanExpressionComplexity">
|
|
|
|
<property name="max" value="5"/>
|
|
|
|
</module>
|
|
|
|
<module name="OperatorWrap">
|
|
|
|
<property name="option" value="NL"/>
|
|
|
|
<property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
|
|
|
|
</module>
|
|
|
|
<module name="CyclomaticComplexity">
|
|
|
|
<property name="max" value="15"/>
|
|
|
|
</module>
|
|
|
|
<module name="JavaNCSS">
|
|
|
|
<property name="methodMaximum" value="40"/>
|
|
|
|
<property name="classMaximum" value="1000"/>
|
|
|
|
</module>
|
|
|
|
<module name="AnnotationLocation">
|
|
|
|
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
|
|
|
|
</module>
|
|
|
|
<module name="AnnotationLocation">
|
|
|
|
<property name="tokens" value="VARIABLE_DEF"/>
|
|
|
|
<property name="allowSamelineMultipleAnnotations" value="true"/>
|
|
|
|
</module>
|
|
|
|
<module name="NonEmptyAtclauseDescription"/>
|
2022-01-30 10:32:49 +01:00
|
|
|
<module name="JavadocTagContinuationIndentation">
|
|
|
|
<property name="offset" value="2"/>
|
|
|
|
</module>
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="AtclauseOrder">
|
|
|
|
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
|
|
|
|
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
|
|
|
|
</module>
|
|
|
|
<module name="JavadocMethod">
|
2020-09-16 11:52:54 +02:00
|
|
|
<property name="allowedAnnotations" value="Override, EventHandler"/>
|
2019-11-26 22:00:44 +01:00
|
|
|
<property name="tokens" value="METHOD_DEF, ANNOTATION_FIELD_DEF"/> <!-- exclude CTOR_DEF -->
|
|
|
|
</module>
|
|
|
|
<module name="MissingJavadocMethod">
|
|
|
|
<property name="scope" value="package"/>
|
2017-03-04 20:49:11 +01:00
|
|
|
<property name="minLineCount" value="4"/>
|
2020-09-16 11:52:54 +02:00
|
|
|
<property name="allowedAnnotations" value="Override, EventHandler"/>
|
2017-03-23 10:34:28 +01:00
|
|
|
<property name="tokens" value="METHOD_DEF, ANNOTATION_FIELD_DEF"/> <!-- exclude CTOR_DEF -->
|
2017-03-04 20:49:11 +01:00
|
|
|
</module>
|
2019-11-26 22:00:44 +01:00
|
|
|
<module name="MissingJavadocMethod">
|
|
|
|
<property name="scope" value="private"/>
|
2017-03-23 10:34:28 +01:00
|
|
|
<property name="minLineCount" value="16"/>
|
2020-09-16 11:52:54 +02:00
|
|
|
<property name="allowedAnnotations" value="Override, EventHandler"/>
|
2017-03-23 10:34:28 +01:00
|
|
|
<property name="tokens" value="METHOD_DEF, ANNOTATION_FIELD_DEF"/> <!-- exclude CTOR_DEF -->
|
|
|
|
</module>
|
|
|
|
<!-- TODO Checkstyle/#4089: need "allowedAnnotations" property to skip @Comment fields
|
|
|
|
<module name="JavadocVariable">
|
|
|
|
<property name="scope" value="package"/>
|
|
|
|
<property name="tokens" value="VARIABLE_DEF"/>
|
|
|
|
</module>
|
|
|
|
-->
|
2017-03-04 20:49:11 +01:00
|
|
|
<module name="MethodName">
|
|
|
|
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
|
|
|
|
<message key="name.invalidPattern"
|
|
|
|
value="Method name ''{0}'' must match pattern ''{1}''."/>
|
|
|
|
</module>
|
|
|
|
<module name="SingleLineJavadoc">
|
|
|
|
<property name="ignoredTags" value="@return"/>
|
|
|
|
</module>
|
|
|
|
<module name="EmptyCatchBlock">
|
|
|
|
<property name="exceptionVariableName" value="ignore|ignored"/>
|
|
|
|
</module>
|
2017-03-12 18:43:37 +01:00
|
|
|
<module name="MissingOverride"/>
|
2017-03-18 20:24:25 +01:00
|
|
|
<module name="EqualsHashCode"/>
|
2017-03-26 12:10:51 +02:00
|
|
|
<module name="EqualsAvoidNull"/>
|
2022-08-21 01:12:57 +02:00
|
|
|
<module name="Regexp">
|
|
|
|
<property name="format" value="\.to(Lower|Upper)Case\(\)"/>
|
|
|
|
<property name="illegalPattern" value="true"/>
|
|
|
|
<property name="ignoreComments" value="true"/>
|
|
|
|
<property name="message" value="Use toLowerCase/toUpperCase with Locale"/>
|
|
|
|
</module>
|
2017-03-04 20:49:11 +01:00
|
|
|
</module>
|
|
|
|
<module name="FileTabCharacter"/>
|
|
|
|
</module>
|