| <?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 |
| |
| https://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. |
| --> |
| <ruleset name='commons-bcel' |
| xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.net/ruleset_2_0_0.xsd"> |
| <description> |
| This ruleset checks the code for discouraged programming constructs. |
| </description> |
| <!-- Default ruleset --> |
| <rule ref="category/java/bestpractices.xml/AvoidUsingHardCodedIP"/> |
| <rule ref="category/java/bestpractices.xml/CheckResultSet"/> |
| <rule ref="category/java/bestpractices.xml/PrimitiveWrapperInstantiation"/> |
| <rule ref="category/java/bestpractices.xml/UnusedFormalParameter"/> |
| <rule ref="category/java/bestpractices.xml/UnusedLocalVariable"/> |
| <rule ref="category/java/bestpractices.xml/UnusedPrivateField"/> |
| <rule ref="category/java/bestpractices.xml/UnusedPrivateMethod"/> |
| <rule ref="category/java/codestyle.xml/ExtendsObject"/> |
| <rule ref="category/java/codestyle.xml/ForLoopShouldBeWhileLoop"/> |
| <rule ref="category/java/codestyle.xml/TooManyStaticImports"/> |
| <rule ref="category/java/codestyle.xml/UnnecessaryFullyQualifiedName"/> |
| <rule ref="category/java/codestyle.xml/UnnecessaryImport"/> |
| <rule ref="category/java/codestyle.xml/UnnecessaryModifier"/> |
| <rule ref="category/java/codestyle.xml/UnnecessaryReturn"/> |
| <rule ref="category/java/codestyle.xml/UnnecessarySemicolon"/> |
| <rule ref="category/java/codestyle.xml/UselessParentheses"/> |
| <rule ref="category/java/codestyle.xml/UselessQualifiedThis"/> |
| <rule ref="category/java/design.xml/CollapsibleIfStatements"/> |
| <rule ref="category/java/design.xml/SimplifiedTernary"/> |
| <rule ref="category/java/design.xml/UselessOverridingMethod"/> |
| <rule ref="category/java/errorprone.xml/AvoidBranchingStatementAsLastInLoop"/> |
| <rule ref="category/java/errorprone.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/> |
| <rule ref="category/java/errorprone.xml/AvoidMultipleUnaryOperators"/> |
| <rule ref="category/java/errorprone.xml/AvoidUsingOctalValues"/> |
| <rule ref="category/java/errorprone.xml/BrokenNullCheck"/> |
| <rule ref="category/java/errorprone.xml/CheckSkipResult"/> |
| <rule ref="category/java/errorprone.xml/ClassCastExceptionWithToArray"/> |
| <rule ref="category/java/errorprone.xml/DontUseFloatTypeForLoopIndices"/> |
| <rule ref="category/java/errorprone.xml/JumbledIncrementer"/> |
| <rule ref="category/java/errorprone.xml/MisplacedNullCheck"/> |
| <rule ref="category/java/errorprone.xml/OverrideBothEqualsAndHashcode"/> |
| <rule ref="category/java/errorprone.xml/ReturnFromFinallyBlock"/> |
| <rule ref="category/java/errorprone.xml/UnconditionalIfStatement"/> |
| <rule ref="category/java/errorprone.xml/UnnecessaryConversionTemporary"/> |
| <rule ref="category/java/errorprone.xml/UnusedNullCheckInEquals"/> |
| <rule ref="category/java/multithreading.xml/AvoidThreadGroup"/> |
| <rule ref="category/java/multithreading.xml/DontCallThreadRun"/> |
| <rule ref="category/java/multithreading.xml/DoubleCheckedLocking"/> |
| <rule ref="category/java/performance.xml/BigIntegerInstantiation"/> |
| <!-- Rule customizations. --> |
| <rule ref="category/java/codestyle.xml/UnnecessaryFullyQualifiedName"> |
| <properties> |
| <!-- java.lang annotations have the same name as BCEL classes so must be fully |
| qualified, e.g. java.lang.Deprecated --> |
| <property name="violationSuppressXPath" |
| value="//ClassOrInterfaceDeclaration[@SimpleName='AccessFlags' or @SimpleName='Attribute' |
| or @SimpleName='AttributeReader' or @SimpleName='Constant' |
| or @SimpleName='ConstantCP' or @SimpleName='ConstantUtf8' or @SimpleName='ElementValue' |
| or @SimpleName='FieldOrMethod' or @SimpleName='LocalVariableTable' or @SimpleName='StackMapEntry' |
| or @SimpleName='ClassLoader' or @SimpleName='ClassLoaderRepository' or @SimpleName='JavaWrapper']"/> |
| </properties> |
| </rule> |
| <!-- Apache Commons Compress custom --> |
| <rule ref="category/java/errorprone.xml/EmptyCatchBlock"> |
| <properties> |
| <property name="allowCommentedBlocks" value="true" /> |
| <property name="allowExceptionNameRegex" value="^(ignored|expected)$" /> |
| </properties> |
| </rule> |
| <rule ref="category/java/codestyle.xml/EmptyControlStatement"> |
| <properties> |
| <property name="allowCommentedBlocks" value="true" /> |
| </properties> |
| </rule> |
| </ruleset> |