Set up a customized configuration for PMD.
This commit is contained in:
parent
3e0ffb9f52
commit
1f6c125267
|
@ -0,0 +1,73 @@
|
||||||
|
<?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.
|
||||||
|
-->
|
||||||
|
<ruleset name="commons-math-customized"
|
||||||
|
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 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
|
||||||
|
<description>
|
||||||
|
This ruleset checks the code for discouraged programming constructs.
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/basic.xml"/>
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/braces.xml"/>
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/comments.xml">
|
||||||
|
<exclude name="CommentSize"/>
|
||||||
|
</rule>
|
||||||
|
<rule ref="rulesets/java/comments.xml/CommentSize">
|
||||||
|
<properties>
|
||||||
|
<property name="maxLines" value="200"/>
|
||||||
|
<property name="maxLineLength" value="256"/>
|
||||||
|
</properties>
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/empty.xml"/>
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/finalizers.xml"/>
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/imports.xml"/>
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/typeresolution.xml">
|
||||||
|
<!-- TODO: we should reactivate this rule -->
|
||||||
|
<exclude name="CloneMethodMustImplementCloneable"/>
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
<!-- TODO: we should reactivate this ruleset -->
|
||||||
|
<!-- <rule ref="rulesets/java/clone.xml"/> -->
|
||||||
|
|
||||||
|
<rule ref="rulesets/java/unnecessary.xml">
|
||||||
|
|
||||||
|
<!-- In many places in Apache Commons Math, there are complex boolean expressions.
|
||||||
|
We do use extra parentheses there as most people do not recall operator precedence,
|
||||||
|
this means even if the parentheses are useless for the compiler, we don't consider
|
||||||
|
them useless for the developer. This is the reason why we disable this rule. -->
|
||||||
|
<exclude name="UselessParentheses"/>
|
||||||
|
|
||||||
|
<!-- At several places in the optimization package, we set up public "optimize" methods
|
||||||
|
that simply call their base class optimize method. This is intentional and allows
|
||||||
|
to update the javadoc and make sure the additional parameters implemented at the
|
||||||
|
lower class level are properly documented. These new parameters are really taken
|
||||||
|
into accound despite we merely call super.optimize because the top level optimze
|
||||||
|
methods call a protected parseOptimizationData method implemented in the specialized
|
||||||
|
class. This is the reason why we disable this rule. -->
|
||||||
|
<exclude name="UselessOverridingMethod"/>
|
||||||
|
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
</ruleset>
|
8
pom.xml
8
pom.xml
|
@ -471,6 +471,10 @@
|
||||||
<version>${math.pmd.version}</version>
|
<version>${math.pmd.version}</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<targetJdk>${maven.compiler.target}</targetJdk>
|
<targetJdk>${maven.compiler.target}</targetJdk>
|
||||||
|
<skipEmptyReport>false</skipEmptyReport>
|
||||||
|
<rulesets>
|
||||||
|
<ruleset>${basedir}/pmd-ruleset.xml</ruleset>
|
||||||
|
</rulesets>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
@ -671,6 +675,10 @@
|
||||||
<version>${math.pmd.version}</version>
|
<version>${math.pmd.version}</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<targetJdk>${maven.compiler.target}</targetJdk>
|
<targetJdk>${maven.compiler.target}</targetJdk>
|
||||||
|
<skipEmptyReport>false</skipEmptyReport>
|
||||||
|
<rulesets>
|
||||||
|
<ruleset>${basedir}/pmd-ruleset.xml</ruleset>
|
||||||
|
</rulesets>
|
||||||
</configuration>
|
</configuration>
|
||||||
<reportSets>
|
<reportSets>
|
||||||
<reportSet>
|
<reportSet>
|
||||||
|
|
Loading…
Reference in New Issue