<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-FileCopyrightText: 2022 Paul Schaub <info@pgpainless.org> SPDX-License-Identifier: CC0-1.0 --> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> <module name="Checker"> <!-- Suppressions --> <module name="SuppressionFilter"> <property name="file" value="${config_loc}/suppressions.xml"/> </module> <module name="NewlineAtEndOfFile"> <property name="lineSeparator" value="lf"/> </module> <module name="RegexpSingleline"> <!-- Matches StringBuilder.append(String) calls where the argument is a String of length one. Those should be replaced with append(char) for performance reasons. TODO: This could be more advanced in order to match also - .append("\u1234") --> <property name="format" value="\.append\("(.|\\.)"\)"/> <property name="message" value="Don't use StringBuilder.append(String) when you can use StringBuilder.append(char). Solution: Replace double quotes of append's argument with single quotes."/> </module> <!-- Whitespace only lines --> <module name="RegexpSingleline"> <property name="format" value="^\s+$"/> <property name="message" value="Line containing only whitespace character(s)"/> </module> <!-- Mixed spaces/tabs --> <module name="RegexpSingleline"> <!-- We use {2,} instead of + here to address the typical case where a file was written with tabs but javadoc is causing '\t *' --> <property name="format" value="^\t+ {2,}"/> <property name="message" value="Line containing space(s) after tab(s)"/> </module> <!-- Trailing whitespaces --> <module name="RegexpSingleline"> <!-- Explaining the following Regex \s+ $ | +- End of Line (2) +- At least one whitespace (1) Rationale: Matches trailing whitespace (2) in lines containing at least one (1) non-whitespace character --> <property name="format" value="\s+$"/> <property name="message" value="Line containing trailing whitespace character(s)"/> </module> <!-- <module name="RegexpSingleline"> --> <!-- <property name="format" value="fqdn"/> --> <!-- </module> --> <!-- Space after // --> <module name="RegexpSingleline"> <property name="format" value="^\s*//[^\s]"/> <property name="message" value="Comment start ('//') followed by non-space character. You would not continue after a punctuation without a space, would you?"/> </module> <module name="JavadocPackage"> </module> <module name="TreeWalker"> <module name="SuppressionCommentFilter"/> <module name="FinalClass"/> <module name="UnusedImports"> <property name="processJavadoc" value="true"/> </module> <module name="AvoidStarImport"/> <module name="IllegalImport"/> <module name="RedundantImport"/> <module name="RedundantModifier"/> <module name="ModifierOrder"/> <module name="UpperEll"/> <module name="ArrayTypeStyle"/> <module name="GenericWhitespace"/> <module name="EmptyStatement"/> <module name="PackageDeclaration"/> <module name="LeftCurly"/> <!-- printStackTrace --> <module name="RegexpSinglelineJava"> <property name="format" value="printStackTrace"/> <property name="message" value="Usage of printStackTrace. Either rethrow exception, or log using Logger."/> <property name="ignoreComments" value="true"/> </module> <!-- println --> <module name="RegexpSinglelineJava"> <property name="format" value="println"/> <property name="message" value="Usage of println"/> <property name="ignoreComments" value="true"/> </module> <!-- Spaces instead of Tabs --> <module name="RegexpSinglelineJava"> <property name="format" value="^\t+"/> <property name="message" value="Indent must not use tab characters. Use space instead."/> </module> <module name="JavadocMethod"> <!-- TODO stricten those checks --> <property name="scope" value="public"/> <!--<property name="allowUndeclaredRTE" value="true"/>--> <property name="allowMissingParamTags" value="true"/> <property name="allowMissingThrowsTags" value="true"/> <property name="allowMissingReturnTag" value="true"/> <property name="allowMissingJavadoc" value="true"/> <property name="suppressLoadErrors" value="true"/> </module> <module name="JavadocStyle"> <property name="scope" value="public"/> <property name="checkEmptyJavadoc" value="true"/> <property name="checkHtml" value="false"/> </module> <module name="ParenPad"> </module> <!-- Whitespace after key tokens --> <module name="NoWhitespaceAfter"> <property name="tokens" value="INC , DEC , UNARY_MINUS , UNARY_PLUS , BNOT, LNOT , DOT , ARRAY_DECLARATOR , INDEX_OP "/> </module> <!-- Whitespace after key words --> <module name="WhitespaceAfter"> <property name="tokens" value="TYPECAST , LITERAL_IF , LITERAL_ELSE , LITERAL_WHILE , LITERAL_DO , LITERAL_FOR , DO_WHILE "/> </module> <module name="WhitespaceAround"> <property name="ignoreEnhancedForColon" value="false" /> <!-- Currently disabled tokens: LCURLY, RCURLY, WILDCARD_TYPE, GENERIC_START, GENERIC_END --> <property name="tokens" value="ASSIGN , ARRAY_INIT , BAND , BAND_ASSIGN , BOR , BOR_ASSIGN , BSR , BSR_ASSIGN , BXOR , BXOR_ASSIGN , COLON , DIV , DIV_ASSIGN , DO_WHILE , EQUAL , GE , GT , LAMBDA , LAND , 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> <!-- <module name="CustomImportOrder"> <property name="customImportOrderRules" value="STATIC###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE"/> <property name="specialImportsRegExp" value="^org\.org.pgpainless.core\.org.pgpainless.core"/> <property name="sortImportsInGroupAlphabetically" value="true"/> <property name="separateLineBetweenGroups" value="true"/> </module> --> </module> </module>