<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd"> <module name="Checker"> <!-- Tabs are strictly banned --> <module name="FileTabCharacter"/> <module name="SuppressWarningsFilter" /> <module name="TreeWalker"> <module name="SuppressWarningsHolder" /> <!-- allows for @SuppressWarnings annotation --> <!-- Important basics --> <!-- <module name="PackageDeclaration"/> Unlikely that we would miss this in a PR --> <module name="OuterTypeFilename"/> <!-- TypeName -> TypeName.java --> <!-- Control package usage, so people don't insert Bukkit into WE where it shouldn't belong, etc. It is a bit draconian, so update as necessary! --> <!-- <module name="ImportControl"> <property name="file" value="${config_loc}/import-control.xml"/> </module> --> <!-- Code --> <module name="HideUtilityClassConstructor"/> <!-- Utility classes should not have a constructor --> <module name="CovariantEquals"/> <module name="EqualsHashCode"/> <!-- equals() and hashCode() go together --> <module name="NestedTryDepth"> <!-- SHOULD not need to adjust this --> <property name="max" value="2"/> </module> <module name="SuperFinalize"/> <!-- We don't actually use this --> <!-- Style --> <module name="LeftCurly"> <!-- Left brace never goes on another line --> <property name="option" value="eol"/> </module> <!-- We don't check right brance --> <module name="DefaultComesLast"/> <!-- default case in switch should be last --> <module name="GenericWhitespace"/> <!-- Naming --> <module name="ClassTypeParameterName"> <property name="format" value="^[A-Z][a-zA-Z0-9]*$"/> </module> <module name="LocalFinalVariableName"/> <module name="LocalVariableName"> <property name="format" value="^[a-z_][a-zA-Z0-9]*$"/> </module> <module name="MemberName"> <property name="format" value="^[a-z_][a-zA-Z0-9]*$"/> </module> <module name="MethodName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> </module> <!-- <module name="PackageName"/> Unlikely that we would miss this in a PR --> <module name="ParameterName"/> <!-- <module name="TypeName"/> Unlikely that we would miss this in a PR --> <!-- Validate assignment operators --> <module name="WhitespaceAround"> <property name="tokens" value="ASSIGN"/> </module> <!-- Validate String.to(Lower|Upper)Case() calls include Locale argument --> <module name="Regexp"> <property name="message" value="Case-conversion calls must include an explicit Locale"/> <property name="format" value="(?!Character)\.to(Lower|Upper)Case\(\)"/> <property name="illegalPattern" value="true"/> </module> </module> <!-- Validate that command annotations are formatted correctly --> <module name="RegexpMultiline"> <property name="format" value="^( +)@(Arg|Switch|Command)\(.*?\n\1 {5,}"/> </module> </module>