| <?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> |