2014-07-02 14:14:58 -07:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name= "Checker" >
<module name= "FileLength" />
<module name= "FileTabCharacter" />
2014-07-14 21:23:04 -07:00
<module name= "SuppressionFilter" >
2014-11-02 13:34:21 -08:00
<property name= "file" value= "${checkStyleConfigDir}/checkstyle_suppressions.xml" />
2014-07-14 21:23:04 -07:00
</module>
2014-07-02 14:14:58 -07:00
<!-- Trailing spaces -->
<module name= "RegexpSingleline" >
<property name= "format" value= "\s+$" />
<property name= "message" value= "Line has trailing spaces." />
</module>
2015-06-09 13:49:05 -07:00
<!-- Ensure trailling newline for compatibility -->
2017-10-05 04:15:55 +01:00
<module name= "NewlineAtEndOfFile" >
<property name= "lineSeparator" value= "lf" />
</module>
2015-06-09 13:49:05 -07:00
2014-07-02 14:14:58 -07:00
<!-- Space after 'for' and 'if' -->
<module name= "RegexpSingleline" >
<property name= "format" value= "^\s*(for|if)\b[^ ]" />
<property name= "message" value= "Space needed before opening parenthesis." />
</module>
<!-- For each spacing -->
<module name= "RegexpSingleline" >
<property name= "format" value= "^\s*for \(.*?([^ ]:|:[^ ])" />
<property name= "message" value= "Space needed around ':' character." />
</module>
2025-05-15 16:48:29 -07:00
<module name= "SuppressWarningsFilter" />
2023-04-03 13:07:44 -07:00
<module name= "TreeWalker" >
2025-05-15 16:48:29 -07:00
<module name= "SuppressWarningsHolder" />
2014-07-02 14:14:58 -07:00
<!-- Checks for uncommented main() methods (debugging leftovers). -->
<!-- Checks that long constants are defined with an upper ell. -->
<!-- See http://checkstyle.sourceforge.net/config_misc.html#UpperEll -->
<module name= "UpperEll" />
<!-- Checks the style of array type definitions. -->
<!-- See http://checkstyle.sourceforge.net/config_misc.html#ArrayTypeStyle -->
<module name= "ArrayTypeStyle" />
<!-- Checks that the outer type name and the file name match. -->
<!-- See http://checkstyle.sourceforge.net/config_misc.html#OuterTypeFilename -->
<module name= "OuterTypeFilename" />
<!-- Validates Javadoc comments to help ensure they are well formed. -->
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocStyle -->
<module name= "JavadocStyle" />
2014-07-14 21:23:04 -07:00
<module name= "JavadocType" >
<property name= "scope" value= "public" />
</module>
2014-07-02 14:14:58 -07:00
<!-- Each of these naming modules validates identifiers for particular
code elements. -->
<!-- See http://checkstyle.sourceforge.net/config_naming.html -->
<module name= "ConstantName" >
<property name= "format" value= "^[A-Z][A-Z0-9\$]*(_[A-Z0-9\$]+)*$" />
</module>
<module name= "LocalFinalVariableName" />
<module name= "LocalVariableName" />
<module name= "MemberName" >
<property name= "format" value= "^[a-z][a-zA-Z0-9_\$]*$" />
</module>
2014-11-07 12:36:13 -08:00
<module name= "MethodName" >
<property name= "format" value= "^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$" />
</module>
2014-07-02 14:14:58 -07:00
<module name= "PackageName" />
<module name= "ParameterName" />
<module name= "StaticVariableName" />
<module name= "TypeName" />
<!-- Checks for imports. -->
<!-- See http://checkstyle.sourceforge.net/config_imports.html -->
<module name= "AvoidStarImport" />
<module name= "RedundantImport" />
<module name= "UnusedImports" />
2014-09-03 11:05:51 +02:00
<!-- Default sun.* packages -->
<module name= "IllegalImport" >
<property name= "illegalPkgs" value= "sun" />
<message key= "import.illegal" value= "Import from illegal package - {0}. Programs that contain direct calls to the sun.* packages are not 100% Pure Java." />
</module>
<!-- Prevent importing JUnit 3 classes and Assert methods -->
<module name= "IllegalImport" >
<property name= "illegalPkgs" value= "junit" />
<message key= "import.illegal" value= "Import from illegal package - {0}. Tests are written in JUnit 4, use org.junit.* equivalents." />
</module>
2014-09-03 15:16:35 +02:00
<!-- Prevent importing Mockito matchers directly -->
<module name= "IllegalImport" >
<property name= "illegalPkgs" value= "org.mockito.internal" />
2017-11-25 16:15:23 -08:00
<message key= "import.illegal" value= "Import from illegal package - {0}. Use org.mockito.Matchers to instantiate argument matchers." />
2014-09-03 15:16:35 +02:00
</module>
2017-11-25 16:15:23 -08:00
2014-07-02 14:14:58 -07:00
<!-- Modifier Checks. -->
<!-- See http://checkstyle.sourceforge.net/config_modifier.html -->
<module name= "ModifierOrder" />
<!-- Checks for blocks. -->
<!-- See http://checkstyle.sourceforge.net/config_blocks.html -->
2017-09-11 07:26:14 -07:00
<module name= "AvoidNestedBlocks" >
2019-05-23 16:20:37 -07:00
<property name= "allowInSwitchCase" value= "true" />
2017-09-11 07:26:14 -07:00
</module>
2014-07-02 14:14:58 -07:00
<module name= "EmptyBlock" >
<property name= "option" value= "text" />
</module>
<module name= "NeedBraces" />
<module name= "LeftCurly" />
<module name= "RightCurly" >
<property name= "tokens"
2019-05-23 16:20:37 -07:00
value= "LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_ELSE" />
2014-07-02 14:14:58 -07:00
</module>
<!-- Checks for common coding problems. -->
<!-- See http://checkstyle.sourceforge.net/config_coding.html -->
<module name= "CovariantEquals" />
<module name= "DefaultComesLast" />
<module name= "EmptyStatement" />
<module name= "EqualsHashCode" />
<module name= "NoClone" />
<module name= "NoFinalizer" />
<module name= "OneStatementPerLine" />
<module name= "IllegalInstantiation" />
<module name= "SimplifyBooleanExpression" />
<module name= "SimplifyBooleanReturn" />
<module name= "StringLiteralEquality" />
<module name= "UnnecessaryParentheses" />
<!-- Checks for class design. -->
<!-- See http://checkstyle.sourceforge.net/config_design.html -->
<module name= "FinalClass" />
<module name= "InterfaceIsType" />
</module>
2019-05-23 16:20:37 -07:00
</module>