Checkstyle is configured to run in the validation phase in spring-data-parent, spring-data-neo4j used to use validate as well. Also, spring-data-neo4j has checkstyle configured to check the test sources as well. The later is done in test-compile. So checkstyle was executed indeed twice during validation, once for the sources and once for the test-compile. This commit changes spring-data-neo4j’s configuration to run in verify, after tests ran. This makes checkstyle only run once. For a quick look if all sources are correct, one can use ` ./mvnw checkstyle:check@verify` before running a full blown `./mvnw verify`. While the Java compiler now can flag invalid code immediate, checkstyle will discover the rest only afterwards. While working on this a flaw in the combine.self="override" attribute was discovered: It works of course only for the maven configurational attributes, not for the checkstyle rules themselve. Therefor the `io.spring.nohttp.checkstyle.check.NoHttpCheck` has been added to the local configuration as well. In the process of the bug fix, the sort pom plugin has been applied with the configuration as already available.
145 lines
8.0 KiB
XML
145 lines
8.0 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE module PUBLIC
|
|
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
|
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
|
|
|
<module name="Checker">
|
|
<!-- Most of them took inspiration from https://github.com/spring-io/spring-javaformat/blob/500ef15dc3dabb79298968d2d323ef3c4230fc44/src/checkstyle/checkstyle.xml -->
|
|
|
|
<property name="fileExtensions" value="java, properties, xml"/>
|
|
|
|
<module name="BeforeExecutionExclusionFileFilter">
|
|
<property name="fileNamePattern" value="module\-info\.java$"/>
|
|
</module>
|
|
|
|
<module name="RegexpHeader">
|
|
<property name="headerFile" value="${checkstyle.header.file}" />
|
|
<property name="fileExtensions" value="java" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck">
|
|
<property name="lineSeparator" value="lf"/>
|
|
</module>
|
|
|
|
<module name="NewlineAtEndOfFile"/>
|
|
<module name="SuppressWarningsFilter" />
|
|
|
|
<module name="io.spring.nohttp.checkstyle.check.NoHttpCheck">
|
|
<!-- XML requires double escaping, config gets XML-processed twice -->
|
|
<property name="allowlist" value="http://www\.querydsl\.com.*&#10;http://www\.prowaveconsulting\.com.*&#10;http://www\.scispike\.com.*&#10;http://.*.icu-project\.org.*" />
|
|
</module>
|
|
|
|
<module name="com.puppycrawl.tools.checkstyle.TreeWalker">
|
|
<module name="SuppressWarningsHolder" />
|
|
|
|
<!-- Coding -->
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.CovariantEqualsCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.EmptyStatementCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.EqualsHashCodeCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.SimplifyBooleanExpressionCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.SimplifyBooleanReturnCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.StringLiteralEqualityCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.NestedForDepthCheck">
|
|
<property name="max" value="3" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.NestedIfDepthCheck">
|
|
<property name="max" value="3" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.NestedTryDepthCheck">
|
|
<property name="max" value="3" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleVariableDeclarationsCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.RequireThisCheck">
|
|
<property name="checkMethods" value="false" />
|
|
<property name="validateOnlyOverlapping" value="true" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.HiddenFieldCheck">
|
|
<property name="ignoreConstructorParameter" value="true" />
|
|
<property name="ignoreSetter" value="true" />
|
|
<property name="setterCanReturnItsClass" value="true" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.coding.OneStatementPerLineCheck" />
|
|
|
|
<!-- Imports -->
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStarImportCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStaticImportCheck">
|
|
<property name="excludes"
|
|
value="org.neo4j.cypherdsl.core.Cypher.*, org.neo4j.cypherdsl.core.Functions.*, org.neo4j.cypherdsl.core.Conditions.*, org.neo4j.cypherdsl.core.Predicates.*, org.apiguardian.api.API.Status.*, org.assertj.core.api.Assertions.*, org.assertj.core.api.Assumptions.*, org.hamcrest.CoreMatchers.*, org.hamcrest.Matchers.*, org.mockito.Mockito.*, org.mockito.ArgumentMatchers.*" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.imports.IllegalImportCheck">
|
|
<property name="regexp" value="true" />
|
|
<property name="illegalPkgs"
|
|
value="^sun.*, ^org\.apache\.commons\.(?!compress|dbcp2|lang|lang3|logging|pool2).*, ^com\.google\.common.*, ^org\.flywaydb\.core\.internal.*, ^org\.testcontainers\.shaded.*, ^org\.neo4j\.driver\.internal\.shaded.*, ^org\.slf4j.*, ^org\.jetbrains.*" />
|
|
<property name="illegalClasses"
|
|
value="^reactor\.core\.support\.Assert, ^org\.junit\.rules\.ExpectedException, ^org\.junit\.Test" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.imports.RedundantImportCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck">
|
|
<property name="processJavadoc" value="true" />
|
|
</module>
|
|
|
|
<!-- Block Checks -->
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.blocks.EmptyBlockCheck">
|
|
<property name="option" value="text" />
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.blocks.LeftCurlyCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.blocks.AvoidNestedBlocksCheck" />
|
|
|
|
<!-- Miscellaneous -->
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.indentation.CommentsIndentationCheck">
|
|
<property name="tokens" value="BLOCK_COMMENT_BEGIN"/>
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.UpperEllCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.OuterTypeFilenameCheck" />
|
|
|
|
<!-- Modifiers -->
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.modifier.RedundantModifierCheck" />
|
|
|
|
<!-- Regexp -->
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpCheck">
|
|
<property name="format" value="[ \t]+$" />
|
|
<property name="illegalPattern" value="true" />
|
|
<property name="message" value="Trailing whitespace" />
|
|
</module>
|
|
|
|
<!-- Whitespace -->
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.GenericWhitespaceCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck" >
|
|
<property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS, ARRAY_DECLARATOR"/>
|
|
</module>
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceBeforeCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.ParenPadCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.TypecastParenPadCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck" />
|
|
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck">
|
|
<property name="allowEmptyTypes" value="true" />
|
|
<property name="allowEmptyConstructors" value="true" />
|
|
<property name="allowEmptyMethods" value="true" />
|
|
<property name="allowEmptyCatches" value="true" />
|
|
</module>
|
|
|
|
<!-- We have some empty blocks and statements. -->
|
|
<module name="SuppressionCommentFilter"/>
|
|
|
|
<!-- Java Doc-->
|
|
<module name="AtclauseOrder" />
|
|
<module name="JavadocType">
|
|
<property name="scope" value="public"/>
|
|
<property name="allowUnknownTags" value="true" />
|
|
</module>
|
|
|
|
<module name="MissingJavadocType" />
|
|
<module name="NonEmptyAtclauseDescription" />
|
|
|
|
<!-- System.outs -->
|
|
<module name="Regexp">
|
|
<property name="format" value="System\.out\.println"/>
|
|
<property name="illegalPattern" value="true"/>
|
|
</module>
|
|
</module>
|
|
</module>
|