mirror of
https://github.com/PaperMC/Paper.git
synced 2025-07-31 04:02:06 -07:00
207 lines
8.9 KiB
XML
207 lines
8.9 KiB
XML
<!DOCTYPE module PUBLIC
|
|
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
|
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
|
<module name="Checker">
|
|
<module name="SuppressionFilter">
|
|
<property name="file" value="${config_loc}/suppressions.xml"/>
|
|
<property name="optional" value="false"/>
|
|
</module>
|
|
|
|
<!--Single Suppression Filters-->
|
|
<module name="SuppressionSingleFilter">
|
|
<!--Suppresses warnings except for common TYPE_USE that should be on same line-->
|
|
<property name="checks" value="AnnotationOnSameLine"/>
|
|
<property name="message" value="^Annotation '(?!(${type_use_annotations}))"/>
|
|
</module>
|
|
|
|
<!--Javadoc Comments-->
|
|
<module name="JavadocPackage"/>
|
|
<!--Misc-->
|
|
<module name="NewlineAtEndOfFile"/>
|
|
<module name="OrderedProperties"/>
|
|
<!--Whitespace-->
|
|
<module name="FileTabCharacter"/>
|
|
|
|
<module name="TreeWalker">
|
|
<module name="SuppressionXpathFilter">
|
|
<property name="file" value="${config_loc}/xpath-suppressions.xml"/>
|
|
<property name="optional" value="false"/>
|
|
</module>
|
|
|
|
<!--Annotations-->
|
|
<module name="AnnotationOnSameLine">
|
|
<!--matches all annotations, but most are suppressed in above-->
|
|
<property name="tokens" value="METHOD_DEF"/>
|
|
</module>
|
|
<module name="AnnotationUseStyle"/>
|
|
<module name="MissingDeprecated"/>
|
|
|
|
<!--Block Checks-->
|
|
<module name="AvoidNestedBlocks"/>
|
|
<module name="EmptyBlock"/>
|
|
<module name="LeftCurly"/>
|
|
<module name="RightCurly"/>
|
|
<module name="OneTopLevelClass"/>
|
|
<module name="SealedShouldHavePermitsList"/>
|
|
|
|
<!--Class Design-->
|
|
<module name="FinalClass"/>
|
|
<module name="HideUtilityClassConstructor"/>
|
|
<module name="InterfaceIsType"/>
|
|
|
|
<!--Coding-->
|
|
<module name="ArrayTrailingComma"/>
|
|
<module name="AvoidDoubleBraceInitialization"/>
|
|
<module name="AvoidNoArgumentSuperConstructorCall"/>
|
|
<module name="ConstructorsDeclarationGrouping"/>
|
|
<module name="CovariantEquals"/>
|
|
<module name="DeclarationOrder"/>
|
|
<module name="DefaultComesLast"/>
|
|
<module name="EmptyStatement"/>
|
|
<module name="EqualsAvoidNull"/>
|
|
<module name="EqualsHashCode"/>
|
|
<module name="FallThrough"/>
|
|
<module name="FinalLocalVariable">
|
|
<property name="validateEnhancedForLoopVariable" value="true"/>
|
|
<property name="validateUnnamedVariables" value="true"/>
|
|
<property name="tokens" value="PARAMETER_DEF,VARIABLE_DEF"/>
|
|
</module>
|
|
<module name="IllegalToken"/> <!--just labels by default-->
|
|
<module name="IllegalType"/>
|
|
<module name="PatternVariableAssignment"/>
|
|
<module name="RequireThis">
|
|
<property name="validateOnlyOverlapping" value="false"/>
|
|
</module>
|
|
<module name="SimplifyBooleanExpression"/>
|
|
<module name="SimplifyBooleanReturn"/>
|
|
<module name="StringLiteralEquality"/>
|
|
<module name="UnnecessaryNullCheckWithInstanceOf"/>
|
|
<module name="UnnecessarySemicolonAfterOuterTypeDeclaration"/>
|
|
<module name="UnnecessarySemicolonAfterTypeMemberDeclaration"/>
|
|
<module name="UnnecessarySemicolonInEnumeration"/>
|
|
<module name="UnnecessarySemicolonInTryWithResources"/>
|
|
<module name="UnusedCatchParameterShouldBeUnnamed"/>
|
|
<module name="UnusedLambdaParameterShouldBeUnnamed"/>
|
|
<module name="UnusedLocalVariable"/>
|
|
<module name="WhenShouldBeUsed"/>
|
|
|
|
<!--Headers--> <!--N/A-->
|
|
|
|
<!--Imports-->
|
|
<module name="AvoidStarImport"/>
|
|
<module name="CustomImportOrder">
|
|
<property name="customImportOrderRules" value="THIRD_PARTY_PACKAGE,STATIC"/>
|
|
<property name="standardPackageRegExp" value="^$"/>
|
|
<property name="sortImportsInGroupAlphabetically" value="true"/>
|
|
</module>
|
|
<module name="IllegalImport">
|
|
<property name="regexp" value="true"/>
|
|
<!--checker-qual nullability-->
|
|
<property name="illegalClasses" value="org\.checkerframework\.checker\.nullness\.qual\.(Nullable|NonNull|DefaultQualifier)"/>
|
|
<!--jetbrains nullability-->
|
|
<property name="illegalClasses" value="org\.jetbrains\.annotations\.(NotNull|Nullable|NotNullByDefault)"/>
|
|
<!--javax nullability-->
|
|
</module>
|
|
<module name="IllegalImport">
|
|
<property name="regexp" value="true"/>
|
|
<!--attempts to guard against nested imports (by looking for capital letters in imports)-->
|
|
<property name="illegalClasses" value="^[^\.A-Z]+(\.[^\.A-Z]+)+?(\.[A-Z][^\.]*)(\.[A-Z][^\.]*)+$"/>
|
|
<message key="import.illegal" value="Illegal nested import - {0}"/>
|
|
</module>
|
|
<module name="RedundantImport"/>
|
|
<module name="UnusedImports"/>
|
|
|
|
<!--Javadoc Comments-->
|
|
<module name="AtclauseOrder">
|
|
<property name="tagOrder" value="@param, @return, @throws, @see, @deprecated, @hidden"/>
|
|
</module>
|
|
<module name="InvalidJavadocPosition"/>
|
|
<module name="JavadocBlockTagLocation"/>
|
|
<module name="JavadocContentLocation"/>
|
|
<module name="JavadocLeadingAsteriskAlign"/>
|
|
<module name="JavadocMethod">
|
|
<!--checks all, but doesn't require. If we have a doc, it should be valid-->
|
|
<property name="validateThrows" value="true"/>
|
|
</module>
|
|
<module name="JavadocMissingLeadingAsterisk"/>
|
|
<module name="JavadocMissingWhitespaceAfterAsterisk"/>
|
|
<module name="JavadocStyle"/> <!--checks all, but doesn't require. If we have a doc, it should be valid-->
|
|
<module name="JavadocTagContinuationIndentation"/>
|
|
<module name="JavadocType"/> <!--checks all, but doesn't require. If we have a doc, it should be valid-->
|
|
<module name="NonEmptyAtclauseDescription"/>
|
|
<module name="RequireEmptyLineBeforeBlockTagGroup"/>
|
|
|
|
<!--Metrics--> <!--N/A-->
|
|
|
|
<!--Miscellaneous-->
|
|
<module name="ArrayTypeStyle"/>
|
|
<module name="AvoidEscapedUnicodeCharacters"/>
|
|
<module name="CommentsIndentation"/>
|
|
<module name="FinalParameters">
|
|
<!-- TODO pattern variable assignment isn't checked yet: PATTERN_VARIABLE_DEF-->
|
|
<!-- https://github.com/checkstyle/checkstyle/issues/17366 -->
|
|
<property name="tokens" value="METHOD_DEF,CTOR_DEF,LITERAL_CATCH,FOR_EACH_CLAUSE"/>
|
|
</module>
|
|
|
|
<module name="NoCodeInFile"/>
|
|
<module name="OuterTypeFilename"/>
|
|
<module name="UpperEll"/>
|
|
|
|
<!--Modifiers-->
|
|
<module name="ModifierOrder"/>
|
|
<module name="RedundantModifier"/>
|
|
|
|
<!--Naming Conventions-->
|
|
<module name="AbbreviationAsWordInName">
|
|
<property name="allowedAbbreviations" value="JSON,UUID"/>
|
|
<property name="ignoreFinal" value="false"/>
|
|
</module>
|
|
<module name="ClassTypeParameterName"/>
|
|
<module name="ConstantName"/>
|
|
<module name="IllegalIdentifierName"/>
|
|
<module name="InterfaceTypeParameterName"/>
|
|
<module name="LambdaParameterName"/>
|
|
<module name="LocalFinalVariableName"/>
|
|
<module name="LocalVariableName"/>
|
|
<module name="MemberName"/>
|
|
<module name="MethodName"/>
|
|
<module name="MethodTypeParameterName"/>
|
|
<module name="PackageName">
|
|
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
|
|
</module>
|
|
<module name="ParameterName"/>
|
|
<module name="PatternVariableName"/>
|
|
<module name="RecordComponentName"/>
|
|
<module name="RecordTypeParameterName"/>
|
|
<module name="StaticVariableName"/>
|
|
<module name="TypeName"/>
|
|
|
|
<!--Regexp--> <!--N/A-->
|
|
<!--Size Violations--> <!--N/A-->
|
|
|
|
<!--Whitespace-->
|
|
<module name="EmptyForInitializerPad"/>
|
|
<module name="EmptyForIteratorPad"/>
|
|
<module name="EmptyLineSeparator">
|
|
<property name="allowNoEmptyLineBetweenFields" value="true"/>
|
|
<property name="tokens" value="IMPORT,STATIC_IMPORT,CLASS_DEF,INTERFACE_DEF,ENUM_DEF,STATIC_INIT,INSTANCE_INIT,METHOD_DEF,CTOR_DEF,VARIABLE_DEF,RECORD_DEF,COMPACT_CTOR_DEF"/>
|
|
</module>
|
|
<module name="GenericWhitespace"/>
|
|
<module name="MethodParamPad"/>
|
|
<module name="NoLineWrap"/> <!--just imports and packages-->
|
|
<module name="NoWhitespaceAfter"/>
|
|
<module name="NoWhitespaceBefore"/>
|
|
<module name="NoWhitespaceBeforeCaseDefaultColon"/>
|
|
<module name="ParenPad"/>
|
|
<module name="SingleSpaceSeparator"/>
|
|
<module name="TypecastParenPad"/>
|
|
<module name="WhitespaceAfter"/>
|
|
<module name="WhitespaceAround"/>
|
|
|
|
<!--Custom-->
|
|
<module name="JavadocAlignParameterDescription"/>
|
|
<module name="NullabilityAnnotations"/>
|
|
<module name="RedundantNullability"/>
|
|
</module>
|
|
</module>
|