187 lines
7.6 KiB
XML
187 lines
7.6 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE module PUBLIC
|
|
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
|
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
|
|
|
<!--
|
|
Google Java Style configuration for LoChat.
|
|
Based on Google Java Style Guide:
|
|
https://google.github.io/styleguide/javaguide.html
|
|
-->
|
|
<module name="Checker">
|
|
<property name="charset" value="UTF-8"/>
|
|
<property name="severity" value="warning"/>
|
|
<property name="fileExtensions" value="java"/>
|
|
|
|
<!-- File length: max 600 lines -->
|
|
<module name="FileLength">
|
|
<property name="max" value="600"/>
|
|
</module>
|
|
|
|
<!-- Line length: max 100 characters (Google style) -->
|
|
<module name="LineLength">
|
|
<property name="max" value="100"/>
|
|
<property name="ignorePattern"
|
|
value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
|
|
</module>
|
|
|
|
<!-- No tabs allowed (Google style: spaces only) -->
|
|
<module name="FileTabCharacter"/>
|
|
|
|
<module name="TreeWalker">
|
|
|
|
<!-- ========== Google Style: Indentation ========== -->
|
|
<!-- Basic offset: 2, continuation indent: 4 (Google style) -->
|
|
<module name="Indentation">
|
|
<property name="basicOffset" value="2"/>
|
|
<property name="braceAdjustment" value="0"/>
|
|
<property name="caseIndent" value="2"/>
|
|
<property name="throwsIndent" value="4"/>
|
|
<property name="arrayInitIndent" value="2"/>
|
|
<property name="lineWrappingIndentation" value="4"/>
|
|
<property name="forceStrictCondition" value="false"/>
|
|
</module>
|
|
|
|
<!-- ========== Google Style: Braces ========== -->
|
|
<!-- Braces required for if/for/while/do (Google style) -->
|
|
<module name="NeedBraces"/>
|
|
<!-- Left brace at end of line (Google style) -->
|
|
<module name="LeftCurly">
|
|
<property name="option" value="eol"/>
|
|
</module>
|
|
<!-- Right brace alone on line (Google style) -->
|
|
<module name="RightCurly">
|
|
<property name="option" value="alone"/>
|
|
</module>
|
|
|
|
<!-- ========== Google Style: Whitespace ========== -->
|
|
<module name="WhitespaceAround">
|
|
<property name="allowEmptyConstructors" value="true"/>
|
|
<property name="allowEmptyMethods" value="true"/>
|
|
<property name="allowEmptyTypes" value="true"/>
|
|
<property name="allowEmptyLoops" value="true"/>
|
|
<property name="allowEmptyLambdas" value="true"/>
|
|
<property name="allowEmptyCatches" value="true"/>
|
|
</module>
|
|
<module name="WhitespaceAfter"/>
|
|
<module name="NoWhitespaceBefore">
|
|
<property name="tokens" value="COMMA, SEMI, POST_INC, POST_DEC, DOT, METHOD_REF"/>
|
|
</module>
|
|
<module name="NoWhitespaceAfter">
|
|
<property name="tokens"
|
|
value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS, ARRAY_DECLARATOR"/>
|
|
</module>
|
|
<module name="GenericWhitespace"/>
|
|
<module name="MethodParamPad"/>
|
|
<module name="ParenPad"/>
|
|
<module name="TypecastParenPad"/>
|
|
<module name="NoLineWrap"/>
|
|
|
|
<!-- ========== Google Style: Naming ========== -->
|
|
<module name="PackageName">
|
|
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
|
|
</module>
|
|
<module name="TypeName"/>
|
|
<module name="MethodName"/>
|
|
<module name="MemberName"/>
|
|
<module name="ParameterName"/>
|
|
<module name="LocalVariableName"/>
|
|
<module name="ConstantName"/>
|
|
<module name="CatchParameterName"/>
|
|
<module name="ClassTypeParameterName"/>
|
|
<module name="MethodTypeParameterName"/>
|
|
<module name="InterfaceTypeParameterName"/>
|
|
<module name="LambdaParameterName"/>
|
|
<module name="PatternVariableName"/>
|
|
<module name="RecordComponentName"/>
|
|
<module name="LocalFinalVariableName"/>
|
|
<module name="StaticVariableName"/>
|
|
<module name="AbbreviationAsWordInName">
|
|
<property name="allowedAbbreviationLength" value="0"/>
|
|
<property name="ignoreFinal" value="false"/>
|
|
<property name="allowedAbbreviations" value="IO, URL, HTML, XML, JSON, SQL, API, PM, RP, GUI, ID"/>
|
|
</module>
|
|
|
|
<!-- ========== Google Style: Imports ========== -->
|
|
<module name="AvoidStarImport"/>
|
|
<module name="UnusedImports"/>
|
|
<module name="RedundantImport"/>
|
|
<module name="ImportOrder">
|
|
<property name="groups" value="com,net,org,java,javax"/>
|
|
<property name="ordered" value="true"/>
|
|
<property name="separated" value="true"/>
|
|
<property name="option" value="top"/>
|
|
<property name="sortStaticImportsAlphabetically" value="true"/>
|
|
</module>
|
|
|
|
<!-- ========== Google Style: Modifiers ========== -->
|
|
<module name="ModifierOrder"/>
|
|
<module name="RedundantModifier"/>
|
|
|
|
<!-- ========== Code Quality ========== -->
|
|
<module name="EmptyStatement"/>
|
|
<module name="EqualsHashCode"/>
|
|
<module name="SimplifyBooleanExpression"/>
|
|
<module name="SimplifyBooleanReturn"/>
|
|
<module name="StringLiteralEquality"/>
|
|
<module name="DefaultComesLast"/>
|
|
<module name="MultipleVariableDeclarations"/>
|
|
<module name="FallThrough"/>
|
|
<module name="HideUtilityClassConstructor"/>
|
|
<module name="OneTopLevelClass"/>
|
|
<module name="OneStatementPerLine"/>
|
|
<module name="EmptyBlock">
|
|
<property name="option" value="text"/>
|
|
</module>
|
|
<module name="EmptyCatchBlock">
|
|
<property name="exceptionVariableName" value="expected|ignore"/>
|
|
</module>
|
|
<module name="MissingSwitchDefault"/>
|
|
<module name="UpperEll"/>
|
|
<module name="ArrayTypeStyle"/>
|
|
<module name="CommentsIndentation"/>
|
|
<module name="UnnecessaryParentheses"/>
|
|
|
|
<!-- ========== Metrics ========== -->
|
|
<module name="MethodLength">
|
|
<property name="max" value="60"/>
|
|
<property name="countEmpty" value="false"/>
|
|
</module>
|
|
<module name="CyclomaticComplexity">
|
|
<property name="max" value="15"/>
|
|
</module>
|
|
<module name="ParameterNumber">
|
|
<property name="max" value="7"/>
|
|
</module>
|
|
<module name="NestedIfDepth">
|
|
<property name="max" value="3"/>
|
|
</module>
|
|
<module name="NestedTryDepth">
|
|
<property name="max" value="2"/>
|
|
</module>
|
|
|
|
<!-- ========== Google Style: Javadoc ========== -->
|
|
<module name="JavadocMethod">
|
|
<property name="accessModifiers" value="public, protected"/>
|
|
<property name="allowMissingParamTags" value="false"/>
|
|
<property name="allowMissingReturnTag" value="false"/>
|
|
<property name="allowedAnnotations" value="Override, Test"/>
|
|
<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF"/>
|
|
</module>
|
|
<module name="MissingJavadocMethod">
|
|
<property name="scope" value="public"/>
|
|
<property name="minLineCount" value="2"/>
|
|
<property name="allowedAnnotations" value="Override, Test"/>
|
|
<property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
|
|
</module>
|
|
<module name="MissingJavadocType">
|
|
<property name="scope" value="public"/>
|
|
</module>
|
|
<module name="JavadocType">
|
|
<property name="scope" value="public"/>
|
|
</module>
|
|
<module name="JavadocStyle"/>
|
|
<module name="NonEmptyAtclause"/>
|
|
|
|
</module>
|
|
</module>
|