You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2024/06/16 23:02:36 UTC
(commons-net) 11/11: Add PMD check to default build
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-net.git
commit 0baa35693c4fcc5a34f386313df0f97c32d99e97
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sun Jun 16 19:02:19 2024 -0400
Add PMD check to default build
Add PMD report
---
pom.xml | 20 +++++++++++-
src/conf/pmd-ruleset.xml | 81 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 100 insertions(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 6c2369b4..6d24636c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -139,7 +139,7 @@ Supported protocols include Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Teln
</dependency>
</dependencies>
<build>
- <defaultGoal>clean apache-rat:check javadoc:javadoc checkstyle:check verify japicmp:cmp</defaultGoal>
+ <defaultGoal>clean apache-rat:check javadoc:javadoc checkstyle:check verify japicmp:cmp pmd:check</defaultGoal>
<pluginManagement>
<plugins>
<!-- Allow CLI usage -->
@@ -154,6 +154,15 @@ Supported protocols include Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Teln
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <configuration>
+ <rulesets>
+ <ruleset>${basedir}/src/conf/pmd-ruleset.xml</ruleset>
+ </rulesets>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
<plugins>
@@ -400,6 +409,15 @@ Supported protocols include Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Teln
<enableRulesSummary>false</enableRulesSummary>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <configuration>
+ <rulesets>
+ <ruleset>${basedir}/src/conf/pmd-ruleset.xml</ruleset>
+ </rulesets>
+ </configuration>
+ </plugin>
</plugins>
</reporting>
<profiles>
diff --git a/src/conf/pmd-ruleset.xml b/src/conf/pmd-ruleset.xml
new file mode 100644
index 00000000..51c022c7
--- /dev/null
+++ b/src/conf/pmd-ruleset.xml
@@ -0,0 +1,81 @@
+<?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="mybraces" 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>Excludes from default PMD rules.</description>
+ <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/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/errorprone.xml/UselessOperationOnImmutable" />
+
+ <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 ref="category/java/errorprone.xml/EmptyCatchBlock">
+ <properties>
+ <property name="allowCommentedBlocks" value="true" />
+ </properties>
+ </rule>
+ <rule ref="category/java/bestpractices.xml/UnusedFormalParameter">
+ <properties>
+ <property name="violationSuppressRegex" value=".*'ignored'.*" />
+ </properties>
+ </rule>
+ <rule ref="category/java/codestyle.xml/EmptyControlStatement">
+ <properties>
+ <property name="allowCommentedBlocks" value="true" />
+ </properties>
+ </rule>
+</ruleset>