mirror of https://github.com/apache/cassandra
150 lines
6.5 KiB
XML
150 lines
6.5 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<!DOCTYPE module PUBLIC
|
|
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
|
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
|
|
|
<module name="Checker">
|
|
<property name="severity" value="error"/>
|
|
|
|
<property name="fileExtensions" value="java, properties, xml"/>
|
|
|
|
<property name="cacheFile" value="${checkstyle.log.dir}/checkstyle_test_cachefile"/>
|
|
|
|
<module name="BeforeExecutionExclusionFileFilter">
|
|
<property name="fileNamePattern" value="module\-info\.java$"/>
|
|
</module>
|
|
|
|
<!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
|
|
<!-- this exists only because for some reason the comment filter does not seem to work for Semaphore -->
|
|
<module name="SuppressionFilter">
|
|
<property name="file" value="${checkstyle.suppressions}"
|
|
default="checkstyle-suppressions.xml" />
|
|
<property name="optional" value="false"/>
|
|
</module>
|
|
|
|
<module name="TreeWalker">
|
|
<module name="SuppressWithNearbyCommentFilter">
|
|
<property name="commentFormat" value="checkstyle: permit this import"/>
|
|
<property name="checkFormat" value="IllegalImport"/>
|
|
<property name="influenceFormat" value="0"/>
|
|
</module>
|
|
|
|
<module name="SuppressWithNearbyCommentFilter">
|
|
<property name="commentFormat" value="checkstyle: permit this instantiation"/>
|
|
<property name="checkFormat" value="IllegalInstantiation"/>
|
|
<property name="influenceFormat" value="0"/>
|
|
</module>
|
|
|
|
<module name="IllegalImport">
|
|
<property name="illegalPkgs" value="junit.framework"/>
|
|
<property name="illegalClasses" value=""/>
|
|
</module>
|
|
<module name="IllegalInstantiation">
|
|
<property name="classes" value="com.fasterxml.jackson.databind.ObjectMapper"/>
|
|
</module>
|
|
|
|
<module name="RegexpSinglelineJava">
|
|
<!-- block Integer() -->
|
|
<property name="id" value="blockIntegerInstantiation"/>
|
|
<property name="format" value="new Integer\("/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Avoid Integer() and use Integer.valueOf()" />
|
|
</module>
|
|
<module name="RegexpSinglelineJava">
|
|
<!-- block Long() -->
|
|
<property name="id" value="blockLongInstantiation"/>
|
|
<property name="format" value="new Long\("/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Avoid Long() and use Long.valueOf()" />
|
|
</module>
|
|
<module name="RegexpSinglelineJava">
|
|
<!-- block Float() -->
|
|
<property name="id" value="blockFloatInstantiation"/>
|
|
<property name="format" value="new Float\("/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Avoid Float() and use Float.valueOf()" />
|
|
</module>
|
|
<module name="RegexpSinglelineJava">
|
|
<!-- block Byte() -->
|
|
<property name="id" value="blockByteInstantiation"/>
|
|
<property name="format" value="new Byte\("/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Avoid Byte() and use Byte.valueOf()" />
|
|
</module>
|
|
<module name="RegexpSinglelineJava">
|
|
<!-- block Double() -->
|
|
<property name="id" value="blockDoubleInstantiation"/>
|
|
<property name="format" value="new Double\("/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Avoid Double() and use Double.valueOf()" />
|
|
</module>
|
|
<module name="RegexpSinglelineJava">
|
|
<!-- block Short() -->
|
|
<property name="id" value="blockShortInstantiation"/>
|
|
<property name="format" value="new Short\("/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Avoid Short() and use Short.valueOf()" />
|
|
</module>
|
|
|
|
<module name="SuppressionCommentFilter">
|
|
<property name="offCommentFormat" value="checkstyle: suppress below '([\w\|]+)'"/>
|
|
<property name="idFormat" value="$1"/>
|
|
</module>
|
|
|
|
<module name="SuppressWithNearbyCommentFilter">
|
|
<property name="commentFormat" value="checkstyle: suppress nearby '([\w\|]+)'"/>
|
|
<property name="idFormat" value="$1"/>
|
|
<property name="influenceFormat" value="0"/>
|
|
</module>
|
|
|
|
<module name="RegexpSinglelineJava">
|
|
<property name="id" value="blockSystemPropertyUsage"/>
|
|
<property name="format" value="(System\.getenv)|(System\.(getProperty|setProperty))|(Integer\.getInteger)|(Long\.getLong)|(Boolean\.getBoolean)"/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Use the CassandraRelevantProperties or CassandraRelevantEnv instead." />
|
|
</module>
|
|
|
|
<module name="RegexpSinglelineJava">
|
|
<property name="id" value="clearValueSystemPropertyUsage"/>
|
|
<property name="format" value="\.clearValue\("/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Please use WithProperties in try-with-resources instead. See CASSANDRA-18453." />
|
|
</module>
|
|
|
|
<module name="RegexpSinglelineJava">
|
|
<property name="id" value="hardcodeTmpDirectoryUsage"/>
|
|
<property name="format" value="(File|Directory)\("/tmp"/>
|
|
<property name="ignoreComments" value="true"/>
|
|
<property name="message" value="Please do not hardcode '/tmp' for test files and directories. Use Files.createTempDirectory to create a base test directory instead." />
|
|
</module>
|
|
|
|
<module name="RedundantImport"/>
|
|
<module name="UnusedImports"/>
|
|
|
|
<module name="MissingDeprecated"/>
|
|
<module name="MatchXpath">
|
|
<property name="query" value="//ANNOTATION[./IDENT[@text='Deprecated']
|
|
and not(./ANNOTATION_MEMBER_VALUE_PAIR/IDENT[@text='since'])]"/>
|
|
<message key="matchxpath.match"
|
|
value="'Deprecated annotation must provide 'since' value."/>
|
|
</module>
|
|
</module>
|
|
|
|
</module>
|