163 lines
6.8 KiB
XML
163 lines
6.8 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE module PUBLIC
|
|
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
|
"http://www.checkstyle.org/dtds/configuration_1_3.dtd">
|
|
|
|
<module name="Checker">
|
|
<property name="charset" value="UTF-8"/>
|
|
|
|
<module name="Header">
|
|
<property name="header" value=""/>
|
|
</module>
|
|
|
|
<module name="SuppressionFilter">
|
|
<property name="file" value="${config_loc}/suppressions.xml"/>
|
|
</module>
|
|
|
|
<module name="BeforeExecutionExclusionFileFilter">
|
|
<property name="fileNamePattern" value="module\-info\.java$"/>
|
|
</module>
|
|
|
|
<module name="FileTabCharacter"/>
|
|
<module name="NewlineAtEndOfFile"/>
|
|
|
|
<!-- Prevent empty start and end of blocks - source: comments to https://stackoverflow.com/a/48027770/873282 -->
|
|
<module name="RegexpMultiline">
|
|
<property name="message" value="Blank line at start of block should be removed" />
|
|
<property name="format" value="(\(.*\)|else)\s*\{\s*[\r]?\n\s*[\r]?\n" />
|
|
<property name="fileExtensions" value="groovy,java" />
|
|
</module>
|
|
<module name="RegexpMultiline">
|
|
<property name="message" value="Blank line at end of block should be removed" />
|
|
<property name="format" value="[\r]?\n\s*[\r]?\n\s*\}" />
|
|
<property name="fileExtensions" value="groovy,java" />
|
|
</module>
|
|
|
|
<!-- Checks for size violations: https://checkstyle.sourceforge.io/config_sizes.html -->
|
|
|
|
<!-- LineLength not in place as PreviewerViewer and RelatedArticlesTab have line length with more than 500 charachters -->
|
|
|
|
<module name="TreeWalker">
|
|
<!-- Checks for Javadoc comments: https://checkstyle.org/config_javadoc.html -->
|
|
<module name="InvalidJavadocPosition"/>
|
|
<module name="JavadocMethod">
|
|
<property name="allowMissingParamTags" value="true"/>
|
|
<property name="allowMissingReturnTag" value="true"/>
|
|
</module>
|
|
<module name="RequireEmptyLineBeforeBlockTagGroup"/>
|
|
<module name="JavadocMissingLeadingAsteriskCheck"/>
|
|
|
|
<!-- Checks for imports: https://checkstyle.org/config_import.html -->
|
|
|
|
<module name="UnusedImports"/>
|
|
<module name="RedundantImport"/>
|
|
<module name="AvoidStarImport"/>
|
|
<module name="IllegalImport"/>
|
|
<module name="ImportOrder">
|
|
<property name="groups" value="java,javax,javafx,org.jabref,*"/>
|
|
<property name="ordered" value="true"/>
|
|
<property name="separated" value="true"/>
|
|
<property name="option" value="bottom"/>
|
|
<property name="sortStaticImportsAlphabetically" value="true"/>
|
|
</module>
|
|
|
|
<!-- Checks for whitespace: https://checkstyle.org/config_whitespace.html -->
|
|
|
|
<module name="EmptyForInitializerPad"/>
|
|
<module name="EmptyLineSeparator">
|
|
<!-- check all except variable declarations -->
|
|
<property name="tokens"
|
|
value="IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF"/>
|
|
<property name="allowMultipleEmptyLines" value="false"/>
|
|
<property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
|
|
</module>
|
|
<module name="GenericWhitespace"/>
|
|
<module name="MethodParamPad"/>
|
|
<module name="NoLineWrap"/>
|
|
<module name="NoWhitespaceAfter"/>
|
|
<module name="NoWhitespaceBefore"/>
|
|
<module name="ParenPad"/>
|
|
<module name="SeparatorWrap">
|
|
<property name="tokens" value="COMMA, SEMI, ELLIPSIS, ARRAY_DECLARATOR, RBRACK, METHOD_REF"/>
|
|
</module>
|
|
<module name="SingleSpaceSeparator"/>
|
|
<module name="NoWhitespaceBeforeCaseDefaultColon"/>
|
|
<module name="WhitespaceAfter"/>
|
|
<module name="WhitespaceAround">
|
|
<!-- RCULRY causes issues if classes are nested within arrays, therefore not activated -->
|
|
<property name="tokens"
|
|
value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV,
|
|
DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
|
|
LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED,
|
|
LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
|
|
PLUS, PLUS_ASSIGN, QUESTION,
|
|
SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND"/>
|
|
</module>
|
|
|
|
<!-- Checks for Naming Conventions: https://checkstyle.org/config_naming.html -->
|
|
<module name="ConstantName">
|
|
<property name="format" value="^log(ger)?|[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
|
|
</module>
|
|
<module name="PatternVariableName" />
|
|
<module name="RecordComponentName"/>
|
|
|
|
<!-- Checks for blocks: https://checkstyle.org/config_blocks.html -->
|
|
|
|
<module name="AvoidNestedBlocks"/>
|
|
|
|
<module name="NeedBraces"/>
|
|
|
|
<module name="EmptyBlock">
|
|
<property name="option" value="text"/>
|
|
</module>
|
|
|
|
<!-- Disallows empty catch blocks (not even having a comment): https://checkstyle.sourceforge.io/config_blocks.html#EmptyCatchBlock -->
|
|
<module name="EmptyCatchBlock"/>
|
|
|
|
<!--
|
|
following rule enforces that there are no one line statements such as
|
|
|
|
public String getTabName() { return Localization.lang("XMP metadata"); }
|
|
|
|
-->
|
|
<module name="LeftCurly"/>
|
|
|
|
<module name="RightCurly"/>
|
|
|
|
<!-- coding - https://checkstyle.sourceforge.io/config_coding.html -->
|
|
|
|
<module name="AvoidDoubleBraceInitialization"/>
|
|
|
|
<module name="CovariantEquals"/>
|
|
|
|
<module name="MultipleVariableDeclarations"/>
|
|
|
|
<module name="OneStatementPerLine">
|
|
<property name="treatTryResourcesAsStatement" value="true"/>
|
|
</module>
|
|
|
|
<module name="UnnecessarySemicolonInTryWithResources"/>
|
|
|
|
<!-- Checks for common coding problems: https://checkstyle.org/config_coding.html -->
|
|
|
|
<module name="DeclarationOrder"/>
|
|
<module name="EmptyStatement"/>
|
|
|
|
<module name="EqualsHashCode"/>
|
|
|
|
<!-- force a space after // for comments -->
|
|
<module name="TodoComment">
|
|
<property name="id" value="commentStartWithSpace"/>
|
|
<property name="format" value="^([^\s\/*])"/>
|
|
<message key="todo.match" value="Comment text should start with space."/>
|
|
</module>
|
|
|
|
<module name="MissingDeprecated"/>
|
|
|
|
<!-- Checks for illegal usage of reserved names as identifier names, such as "var", "record" - https://checkstyle.sourceforge.io/config_naming.html#IllegalIdentifierName -->
|
|
<module name="IllegalIdentifierName"/>
|
|
|
|
<module name="RecordTypeParameterNameCheck"/>
|
|
</module>
|
|
</module>
|