2016-05-20 12:07:40 -04:00
<?xml version="1.0"?>
2018-05-15 23:58:20 -07:00
< !DOCTYPE
module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
2016-05-20 12:07:40 -04:00
<!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html.
Checkstyle is very configurable. Be sure to read the documentation at
http://checkstyle.sf.net (or in your downloaded distribution).
To completely disable a check, just comment it out or delete it from the file.
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
-->
2018-05-15 23:58:20 -07:00
<module name= "Checker" >
<property name= "charset"
value="UTF-8" />
<property name= "severity"
value="error" />
<module name= "SuppressionFilter" >
<property name= "file"
value="styleguide/suppressions.xml" />
</module>
<property name= "fileExtensions"
value="java, properties, xml" />
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name= "FileTabCharacter" >
<property name= "eachLine"
value="true" />
</module>
<module name= "NewlineAtEndOfFile" >
<property name= "lineSeparator"
value="lf" />
</module>
<module name= "SuppressWarningsFilter" />
<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." />
2016-05-20 12:07:40 -04:00
</module>
2018-05-15 23:58:20 -07:00
<module name= "AvoidEscapedUnicodeCharacters" >
<property name= "allowEscapesForControlCharacters"
value="true" />
<property name= "allowByTailComment"
value="true" />
<property name= "allowNonPrintableEscapes"
value="true" />
2016-05-20 12:07:40 -04:00
</module>
2018-05-15 23:58:20 -07:00
<module name= "LineLength" >
<property name= "max"
value="100" />
<property name= "ignorePattern"
value="^package.*|^import.*|a href|href|http://|https://|ftp://" />
2017-07-28 22:24:05 -07:00
</module>
2018-05-15 23:58:20 -07:00
<module name= "AvoidStarImport" />
<module name= "RedundantImport" />
<module name= "UnusedImports" />
<module name= "OneTopLevelClass" />
<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= "LeftCurly" >
<property name= "maxLineLength"
value="100" />
</module>
<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= "WhitespaceAround" >
<property name= "allowEmptyConstructors"
value="true" />
<property name= "allowEmptyMethods"
value="true" />
<property name= "allowEmptyTypes"
value="true" />
<property name= "allowEmptyLoops"
value="true" />
<message key= "ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)" />
<message key= "ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace." />
</module>
<module name= "WhitespaceAfter" />
<module name= "OneStatementPerLine" />
<module name= "MultipleVariableDeclarations" />
<module name= "ArrayTypeStyle" />
<module name= "MissingSwitchDefault" />
<module name= "FallThrough" />
<module name= "SimplifyBooleanExpression" />
<module name= "SimplifyBooleanReturn" />
<module name= "StringLiteralEquality" />
<module name= "UnnecessaryParentheses" />
<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="^m_[a-z][a-z0-9][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-z0-9][a-zA-Z0-9]*$" />
<message key= "name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''." />
</module>
<module name= "CatchParameterName" >
<property name= "format"
value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key= "name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''." />
</module>
<module name= "LocalVariableName" >
<property name= "tokens"
value="VARIABLE_DEF" />
<property name= "format"
value="^[a-z][a-z0-9][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= "InterfaceTypeParameterName" >
<property name= "format"
value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key= "name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''." />
</module>
<module name= "NoFinalizer" />
<module name= "GenericWhitespace" >
<message key= "ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace." />
<message key= "ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace." />
<message key= "ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace." />
<message key= "ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace." />
</module>
<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= "lineWrappingIndentation"
value="4" />
<property name= "arrayInitIndent"
value="2" />
</module>
<module name= "AbbreviationAsWordInName" >
<property name= "ignoreFinal"
value="false" />
<property name= "allowedAbbreviationLength"
value="3" />
</module>
<module name= "OverloadMethodsDeclarationOrder" />
<module name= "VariableDeclarationUsageDistance" />
<module name= "MethodParamPad" />
<module name= "TypecastParenPad" />
<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= "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" />
<module name= "JavadocTagContinuationIndentation" />
<module name= "SummaryJavadoc" >
<property name= "forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
</module>
<module name= "JavadocParagraph" />
<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" >
<property name= "scope"
value="public" />
<property name= "allowMissingParamTags"
value="true" />
<property name= "allowMissingThrowsTags"
value="true" />
<property name= "allowMissingReturnTag"
value="true" />
<property name= "minLineCount"
value="2" />
<property name= "allowedAnnotations"
value="Override, Test, Before, After, BeforeClass, AfterClass, Parameters" />
<property name= "allowUndeclaredRTE"
value="true" />
<property name= "allowThrowsTagsForSubclasses"
value="true" />
<property name= "suppressLoadErrors"
value="true" />
</module>
<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= "ignoreInlineTags"
value="false" />
</module>
<module name= "EmptyCatchBlock" >
<property name= "exceptionVariableName"
value="expected" />
2016-05-20 12:07:40 -04:00
</module>
2018-05-15 23:58:20 -07:00
<module name= "CommentsIndentation" />
</module>
2016-05-20 12:07:40 -04:00
</module>