Skip to content

Instantly share code, notes, and snippets.

@isatimur
Created October 19, 2017 01:15
Show Gist options
  • Save isatimur/3f7112ff8981f972964f9101e069a40f to your computer and use it in GitHub Desktop.
Save isatimur/3f7112ff8981f972964f9101e069a40f to your computer and use it in GitHub Desktop.
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
<property name="charset" value="UTF-8"/>
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
<property name="tabWidth" value="4"/>
<!-- Checks for Annotations -->
<!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle -->
<module name="AnnotationUseStyle"/>
<!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle#MissingDeprecated -->
<module name="MissingDeprecated"/>
<!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle#MissingOverride -->
<module name="MissingOverride"/>
<!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle#PackageAnnotation -->
<module name="PackageAnnotation"/>
<!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle#SuppressWarningsHolder -->
<module name="SuppressWarningsHolder" />
<!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle#AnnotationLocation -->
<module name="AnnotationLocation">
<property name="allowSamelineMultipleAnnotations" value="false"/>
<property name="allowSamelineSingleParameterlessAnnotation" value="true"/>
<property name="allowSamelineParameterizedAnnotation" value="false"/>
</module>
<!-- Checks for Block -->
<!-- See http://checkstyle.sourceforge.net/config_blocks.html#EmptyBlock -->
<module name="EmptyBlock">
<property name="option" value="text"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_blocks.html#EmptyCatchBlock -->
<module name="EmptyCatchBlock"/>
<!-- See http://checkstyle.sourceforge.net/config_blocks.html#LeftCurly -->
<module name="LeftCurly"/>
<!-- See http://checkstyle.sourceforge.net/config_blocks.html#LeftCurly#NeedBraces -->
<module name="NeedBraces">
<property name="allowSingleLineStatement" value="true"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_blocks.html#RightCurly -->
<module name="RightCurly"/>
<!-- See http://checkstyle.sourceforge.net/config_blocks.html#AvoidNestedBlocks -->
<module name="AvoidNestedBlocks"/>
<!-- Checks for Class Design -->
<!-- See http://checkstyle.sourceforge.net/config_design.html#VisibilityModifier -->
<module name="VisibilityModifier">
<property name="protectedAllowed" value="true"/>
<property name="packageAllowed" value="true"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_design.html#FinalClass -->
<module name="FinalClass"/>
<!-- See http://checkstyle.sourceforge.net/config_design.html#InterfaceIsType -->
<module name="InterfaceIsType"/>
<!-- See http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor -->
<module name="HideUtilityClassConstructor"/>
<!-- See http://checkstyle.sourceforge.net/config_design.html#MutableException -->
<module name="MutableException"/>
<!-- See http://checkstyle.sourceforge.net/config_design.html#ThrowsCount -->
<module name="ThrowsCount">
<property name="max" value="3"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_design.html#InnerTypeLast -->
<module name="InnerTypeLast"/>
<!-- See http://checkstyle.sourceforge.net/config_design.html#OneTopLevelClass -->
<module name="OneTopLevelClass"/>
<!-- Checks for Coding -->
<!-- See http://checkstyle.sourceforge.net/config_coding.html#CovariantEquals -->
<module name="CovariantEquals"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#EmptyStatement -->
<module name="EmptyStatement"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#EqualsAvoidNull -->
<module name="EqualsAvoidNull"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#EqualsHashCode -->
<module name="EqualsHashCode"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#HiddenField -->
<module name="HiddenField">
<property name="ignoreSetter" value="true"/>
<property name="ignoreConstructorParameter" value="true"/>
<property name="setterCanReturnItsClass" value="true"/>
<property name="tokens" value="VARIABLE_DEF, LAMBDA"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#HiddenField#InnerAssignment -->
<module name="InnerAssignment"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#HiddenField#MagicNumber -->
<module name="MagicNumber">
<property name="ignoreNumbers" value="-4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 24, 31, 32, 60, 64, 100, 128, 256, 512, 1000, 1024"/>
<property name="ignoreHashCodeMethod" value="true"/>
<property name="ignoreAnnotation" value="true"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#HiddenField#MissingSwitchDefault -->
<module name="MissingSwitchDefault"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#HiddenField#ModifiedControlVariable -->
<module name="ModifiedControlVariable"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#SimplifyBooleanExpression -->
<module name="SimplifyBooleanExpression"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#SimplifyBooleanReturn -->
<module name="SimplifyBooleanReturn"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#StringLiteralEquality -->
<module name="StringLiteralEquality"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#NestedForDepth -->
<module name="NestedForDepth">
<property name="max" value="3"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#NestedIfDepth -->
<module name="NestedIfDepth">
<property name="max" value="3"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#NestedTryDepth -->
<module name="NestedTryDepth"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#IllegalThrows -->
<module name="IllegalThrows"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#PackageDeclaration -->
<module name="PackageDeclaration"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#ReturnCount -->
<module name="ReturnCount"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#DeclarationOrder -->
<module name="DeclarationOrder"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#ParameterAssignment -->
<module name="ParameterAssignment"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#ExplicitInitialization -->
<module name="ExplicitInitialization"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#DefaultComesLast -->
<module name="DefaultComesLast"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#MultipleVariableDeclarations -->
<module name="MultipleVariableDeclarations"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#UnnecessaryParentheses -->
<module name="UnnecessaryParentheses"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#OneStatementPerLine -->
<module name="OneStatementPerLine"/>
<!-- See http://checkstyle.sourceforge.net/config_coding.html#OverloadMethodsDeclarationOrder -->
<module name="OverloadMethodsDeclarationOrder"/>
<!-- Checks for Imports -->
<!-- See http://checkstyle.sourceforge.net/config_imports.html#AvoidStarImport -->
<module name="AvoidStarImport"/>
<!-- See http://checkstyle.sourceforge.net/config_imports.html#IllegalImport -->
<module name="IllegalImport"/>
<!-- See http://checkstyle.sourceforge.net/config_imports.html#RedundantImport -->
<module name="RedundantImport"/>
<!-- See http://checkstyle.sourceforge.net/config_imports.html#UnusedImports -->
<module name="UnusedImports"/>
<!-- See http://checkstyle.sourceforge.net/config_imports.html#ImportOrder -->
<module name="ImportOrder">
<property name="groups" value="/\./,/^javax?\./"/>
<property name="ordered" value="true"/>
<property name="separated" value="true"/>
<property name="option" value="bottom"/>
</module>
<!-- Checks for Javadoc -->
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocType -->
<module name="JavadocType">
<property name="authorFormat" value="\S"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocMethod -->
<module name="JavadocMethod">
<property name="scope" value="public"/>
<property name="allowMissingPropertyJavadoc" value="true"/>
<property name="allowMissingThrowsTags" value="true"/>
<property name="tokens" value="METHOD_DEF"/>
<property name="ignoreMethodNamesRegex" value="with.*" />
</module>
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocStyle -->
<module name="JavadocStyle"/>
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription -->
<module name="NonEmptyAtclauseDescription"/>
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation -->
<module name="JavadocTagContinuationIndentation"/>
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#AtclauseOrder -->
<module name="AtclauseOrder"/>
<!-- Miscellaneous other checks -->
<!-- See http://checkstyle.sourceforge.net/config_misc.html#TodoComment -->
<module name="TodoComment">
<property name="severity" value="warning"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_misc.html#UncommentedMain -->
<module name="UncommentedMain"/>
<!-- See http://checkstyle.sourceforge.net/config_misc.html#UpperEll -->
<module name="UpperEll"/>
<!-- See http://checkstyle.sourceforge.net/config_misc.html#ArrayTypeStyle -->
<module name="ArrayTypeStyle"/>
<!-- See http://checkstyle.sourceforge.net/config_misc.html#Indentation -->
<module name="Indentation"/>
<!-- See http://checkstyle.sourceforge.net/config_misc.html#OuterTypeFilename -->
<module name="OuterTypeFilename"/>
<!-- Checks for Modifiers -->
<!-- See http://checkstyle.sourceforge.net/config_modifier.html#ModifierOrder -->
<module name="ModifierOrder"/>
<!-- See http://checkstyle.sourceforge.net/config_modifier.html#RedundantModifier -->
<module name="RedundantModifier"/>
<!-- Checks for Naming Conventions -->
<!-- See http://checkstyle.sourceforge.net/config_naming.html#Modules -->
<module name="ClassTypeParameterName">
<property name="format" value="^[A-Z]+[0-9]?$"/>
</module>
<module name="ConstantName"/>
<module name="LocalFinalVariableName"/>
<module name="LocalVariableName"/>
<module name="MemberName" />
<module name="MethodName"/>
<module name="MethodTypeParameterName">
<property name="format" value="^[A-Z]+[0-9]?$"/>
</module>
<module name="InterfaceTypeParameterName">
<property name="format" value="^[A-Z]+[0-9]?$"/>
</module>
<module name="PackageName"/>
<module name="ParameterName"/>
<module name="StaticVariableName"/>
<module name="TypeName"/>
<!-- Checks Size Violations -->
<!-- See http://checkstyle.sourceforge.net/config_sizes.html#ExecutableStatementCount -->
<module name="ExecutableStatementCount">
<property name="max" value="50"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_sizes.html#LineLength -->
<module name="LineLength">
<property name="max" value="140" />
<property name="ignorePattern" value="@version|@see|@todo|TODO"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_sizes.html#AnonInnerLength -->
<module name="AnonInnerLength"/>
<!-- See http://checkstyle.sourceforge.net/config_sizes.html#ParameterNumber -->
<module name="ParameterNumber">
<property name="ignoreOverriddenMethods" value="true"/>
<property name="tokens" value="METHOD_DEF"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_sizes.html#OuterTypeNumber -->
<module name="OuterTypeNumber"/>
<!-- Checks for Whitespaces -->
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#GenericWhitespace -->
<module name="GenericWhitespace"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#EmptyForInitializerPad -->
<module name="EmptyForInitializerPad"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#EmptyForIteratorPad -->
<module name="EmptyForIteratorPad">
<property name="option" value="space"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#MethodParamPad -->
<module name="MethodParamPad"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#NoWhitespaceAfter -->
<module name="NoWhitespaceAfter"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#NoWhitespaceBefore -->
<module name="NoWhitespaceBefore"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#OperatorWrap -->
<module name="OperatorWrap">
<property name="option" value="eol"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#ParenPad -->
<module name="ParenPad"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#TypecastParenPad -->
<module name="TypecastParenPad"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#WhitespaceAfter -->
<module name="WhitespaceAfter">
<property name="tokens" value="COMMA, SEMI"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#WhitespaceAround -->
<module name="WhitespaceAround"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#NoLineWrap -->
<module name="NoLineWrap"/>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#EmptyLineSeparator -->
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true"/>
<property name="tokens" value="IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#SeparatorWrap -->
<module name="SeparatorWrap">
<property name="option" value="nl"/>
<property name="tokens" value="DOT"/>
</module>
</module>
<!-- Regexp checks -->
<!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpMultiline -->
<module name="RegexpMultiline">
<property name="format" value="\r?\n[ \t\x0B\f]*\r?\n[ \t\x0B\f]*\r?\n"/>
<property name="fileExtensions" value="java"/>
<property name="message" value="Two consecutive empty lines"/>
</module>
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html#FileTabCharacter -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
<property name="fileExtensions" value=".java"/>
</module>
</module>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment