This commit configures Checkstyle and updates the build to comply with that configuration. The Eclipse JDT metadata has also been updated so that the output of Eclipse’s code formatting and clean-up is compliant with Checkstyle. The use of the latest version (6.10.1) of Checkstyle has required an upgrade to Gradle 2.7. Gradle hardcode’s the name of the Checkstyle’s main class which has changed between version 5 (Gradle’s default) and version 6. Closes gh-119
157 lines
5.9 KiB
XML
157 lines
5.9 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
|
|
<module name="Checker">
|
|
|
|
<!-- Root Checks -->
|
|
<module name="RegexpHeader">
|
|
<property name="headerFile" value="${checkstyle.config.dir}/checkstyle-header.txt" />
|
|
<property name="fileExtensions" value="java" />
|
|
</module>
|
|
<module name="NewlineAtEndOfFile" />
|
|
|
|
<module name="SuppressionFilter">
|
|
<property name="file" value="${checkstyle.config.dir}/checkstyle-suppressions.xml"/>
|
|
</module>
|
|
|
|
<!-- TreeWalker Checks -->
|
|
<module name="TreeWalker">
|
|
|
|
<!-- Annotations -->
|
|
<module name="AnnotationUseStyle">
|
|
<property name="elementStyle" value="compact" />
|
|
</module>
|
|
<module name="MissingOverride" />
|
|
<module name="PackageAnnotation" />
|
|
<module name="AnnotationLocation">
|
|
<property name="allowSamelineSingleParameterlessAnnotation"
|
|
value="false" />
|
|
</module>
|
|
|
|
<!-- Block Checks -->
|
|
<module name="EmptyBlock">
|
|
<property name="option" value="text" />
|
|
</module>
|
|
<module name="LeftCurly" />
|
|
<module name="RightCurly">
|
|
<property name="option" value="alone" />
|
|
</module>
|
|
<module name="NeedBraces" />
|
|
<module name="AvoidNestedBlocks" />
|
|
|
|
<!-- Class Design -->
|
|
<module name="FinalClass" />
|
|
<module name="InterfaceIsType" />
|
|
<module name="HideUtilityClassConstructor" />
|
|
<module name="MutableException" />
|
|
<module name="InnerTypeLast" />
|
|
<module name="OneTopLevelClass" />
|
|
|
|
<!-- Coding -->
|
|
<module name="CovariantEquals" />
|
|
<module name="EmptyStatement" />
|
|
<module name="EqualsHashCode" />
|
|
<module name="InnerAssignment" />
|
|
<module name="SimplifyBooleanExpression" />
|
|
<module name="SimplifyBooleanReturn" />
|
|
<module name="StringLiteralEquality" />
|
|
<module name="NestedForDepth">
|
|
<property name="max" value="3" />
|
|
</module>
|
|
<module name="NestedIfDepth">
|
|
<property name="max" value="3" />
|
|
</module>
|
|
<module name="NestedTryDepth">
|
|
<property name="max" value="3" />
|
|
</module>
|
|
<module name="MultipleVariableDeclarations" />
|
|
<module name="RequireThis">
|
|
<property name="checkMethods" value="false" />
|
|
</module>
|
|
<module name="OneStatementPerLine" />
|
|
|
|
<!-- Imports -->
|
|
<module name="AvoidStarImport" />
|
|
<module name="AvoidStaticImport">
|
|
<property name="excludes"
|
|
value="org.junit.Assert.*, org.junit.Assume.*, org.hamcrest.CoreMatchers.*, org.hamcrest.Matchers.*, org.mockito.Mockito.*, org.mockito.BDDMockito.*, org.mockito.Matchers.*, org.springframework.restdocs.curl.CurlDocumentation.*, org.springframework.restdocs.hypermedia.HypermediaDocumentation.*, org.springframework.restdocs.mockmvc.IterableEnumeration.*, org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.*, org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.*, org.springframework.restdocs.operation.preprocess.Preprocessors.*, org.springframework.restdocs.payload.PayloadDocumentation.*, org.springframework.restdocs.request.RequestDocumentation.*, org.springframework.restdocs.snippet.Attributes.*, org.springframework.restdocs.test.SnippetMatchers.*, org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*, org.springframework.test.web.servlet.result.MockMvcResultMatchers.*" />
|
|
</module>
|
|
<module name="IllegalImport" />
|
|
<module name="RedundantImport" />
|
|
<module name="UnusedImports">
|
|
<property name="processJavadoc" value="true" />
|
|
</module>
|
|
<module name="ImportOrder">
|
|
<property name="groups" value="java,/^javax?\./,org,com,*" />
|
|
<property name="ordered" value="true" />
|
|
<property name="separated" value="true" />
|
|
<property name="option" value="bottom" />
|
|
<property name="sortStaticImportsAlphabetically" value="true" />
|
|
</module>
|
|
<module name="ImportControl">
|
|
<property name="file" value="${checkstyle.config.dir}/checkstyle-import-control.xml"/>
|
|
</module>
|
|
|
|
<!-- Javadoc Comments -->
|
|
<module name="JavadocType">
|
|
<property name="scope" value="package"/>
|
|
<property name="authorFormat" value=".+\s.+"/>
|
|
</module>
|
|
<module name="JavadocMethod">
|
|
<property name="scope" value="protected"/>
|
|
</module>
|
|
<module name="JavadocVariable">
|
|
<property name="scope" value="protected"/>
|
|
</module>
|
|
<module name="JavadocStyle">
|
|
<property name="checkEmptyJavadoc" value="true"/>
|
|
</module>
|
|
<module name="NonEmptyAtclauseDescription"/>
|
|
<module name="JavadocTagContinuationIndentation">
|
|
<property name="offset" value="0"/>
|
|
</module>
|
|
<module name="AtclauseOrder">
|
|
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF"/>
|
|
<property name="tagOrder" value="@param, @author, @since, @see, @version, @serial, @deprecated"/>
|
|
</module>
|
|
<module name="AtclauseOrder">
|
|
<property name="target" value="METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
|
|
<property name="tagOrder" value="@param, @return, @throws, @since, @deprecated, @see"/>
|
|
</module>
|
|
|
|
<!-- Miscellaneous -->
|
|
<module name="CommentsIndentation" />
|
|
<module name="UpperEll" />
|
|
<module name="ArrayTypeStyle" />
|
|
<module name="OuterTypeFilename" />
|
|
|
|
<!-- Modifiers -->
|
|
<module name="RedundantModifier" />
|
|
|
|
<!-- Regexp -->
|
|
<module name="RegexpSinglelineJava">
|
|
<property name="format" value="^\t* +\t*\S" />
|
|
<property name="message"
|
|
value="Line has leading space characters; indentation should be performed with tabs only." />
|
|
<property name="ignoreComments" value="true" />
|
|
</module>
|
|
<module name="Regexp">
|
|
<property name="format" value="[ \t]+$" />
|
|
<property name="illegalPattern" value="true" />
|
|
<property name="message" value="Trailing whitespace" />
|
|
</module>
|
|
|
|
<!-- Whitespace -->
|
|
<module name="GenericWhitespace" />
|
|
<module name="MethodParamPad" />
|
|
<module name="NoWhitespaceAfter" >
|
|
<property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS, ARRAY_DECLARATOR"/>
|
|
</module>
|
|
<module name="NoWhitespaceBefore" />
|
|
<module name="ParenPad" />
|
|
<module name="TypecastParenPad" />
|
|
<module name="WhitespaceAfter" />
|
|
<module name="WhitespaceAround" />
|
|
|
|
</module>
|
|
</module>
|