hibernate-orm/shared/config/checkstyle/checkstyle.xml

105 lines
4.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.1//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
<!-- Only defines "fatal" violations; there are additional "non-fatal" rules in checkstyle-non-fatal.xml -->
<module name="RegexpHeader">
<property name="header" value=""/>
<property name="fileExtensions" value="\/\*\n * SPDX-License-Identifier: LGPL-2.1-or-later\n \* Copyright Red Hat Inc. and Hibernate Authors\n \*\/java"/>
</module>
<module name="RegexpHeader">
<property name="header" value="&lt;\?xml version\=&quot;1.0&quot; encoding\=&quot;UTF-8&quot;\?&gt;\n&lt;!--\n ~ Hibernate, Relational Persistence for Idiomatic Java\n ~\n ~ License: GNU Lesser General Public License \(LGPL\), version 2\.1 or later[\.]?\n ~ See the lgpl.txt file in the root directory or [&lt;]?http:\/\/www\.gnu\.org\/licenses\/lgpl-2\.1\.html[&gt;]?[.]?\n --&gt;"/>
<property name="fileExtensions" value="xml,xsd"/>
</module>
<module name="TreeWalker">
<!--
High-priority warnings : fail the build...
-->
<module name="RegexpSinglelineJava">
<property name="ignoreComments" value="true" />
<property name="format" value="^\t* +\t*\S" />
<property name="message" value="Line has leading space characters; indentation should be performed with tabs only." />
</module>
<module name="Regexp">
<property name="format" value="/^(master|slave)$/"/>
<property name="illegalPattern" value="true"/>
<property name="message" value="Conscious Language (use of terms 'master' or 'slave' not allowed)"/>
</module>
<module name="MissingDeprecated" />
<module name="MissingOverride" />
<module name="PackageAnnotation" />
<module name="NeedBraces" />
<module name="LeftCurly">
<property name="option" value="eol" />
</module>
<module name="RightCurly">
<property name="option" value="alone" />
</module>
<module name="EqualsHashCode" />
<module name="StringLiteralEquality" />
<module name="NoFinalizer" />
<module name="OneStatementPerLine" />
<module name="UpperEll" />
<module name="IllegalImport">
<property name="illegalPkgs" value="java.awt, sun, org.slf4j"/>
</module>
<!--
Source code comment-based suppressions
-->
<module name="SuppressionCommentFilter">
<!--
Allow a finalize() method within these comments. DriverManagerConnectionProviderImpl e.g.
uses a finalizer to make sure we release all of its cached connections.
-->
<property name="offCommentFormat" value="CHECKSTYLE:START_ALLOW_FINALIZER"/>
<property name="onCommentFormat" value="CHECKSTYLE:END_ALLOW_FINALIZER"/>
<property name="checkFormat" value="NoFinalizer"/>
</module>
<module name="SuppressWithNearbyCommentFilter">
<property name="commentFormat" value="noinspection StatementWithEmptyBody"/>
<property name="checkFormat" value="EmptyStatement"/>
<property name="influenceFormat" value="1"/>
</module>
</module>
<!-- We are not using NewLineAtEndOfFile because the new line chars change
on different operating systems and that rule allows only one type. This rule
is not actually checking for new lines, but it will work if we check that
there are not white spaces at the end of a line with another rule. -->
<module name="RegexpMultiline">
<property name="format" value="\S\z" />
<property name="message" value="Missing new line at the end of file" />
</module>
<module name="RegexpMultiline">
<property name="format" value="\S(r?\n){5,}\z" />
<property name="message" value="Files should end with no more than 5 (empty) new lines" />
</module>
</module>