/ pmd.xml
pmd.xml
 1  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 2  
 3  <!--
 4  SPDX-FileCopyrightText: Copyright (C) 2025 Marek Küthe <m.k@mk16.de>
 5  
 6  SPDX-License-Identifier: GPL-3.0-or-later
 7  -->
 8  
 9  <ruleset
10  	name="ipscan-plugins ruleset"
11      xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
12      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
13      xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
14      <description>ipscan-plugins ruleset</description>
15      <rule ref="category/java/bestpractices.xml">
16      </rule>
17      <rule ref="category/java/codestyle.xml">
18          <exclude name="AtLeastOneConstructor" />
19          <exclude name="FieldDeclarationsShouldBeAtStartOfClass" />
20          <exclude name="ShortVariable" />
21          <exclude name="LongVariable" />
22          <exclude name="ShortClassName" />
23          <exclude name="OnlyOneReturn" />
24          <exclude name="UnnecessaryLocalBeforeReturn" />
25      </rule>
26      <rule ref="category/java/design.xml">
27      	<exclude name="CognitiveComplexity" />
28      	<exclude name="CyclomaticComplexity" />
29      	<exclude name="DataClass" />
30      	<exclude name="CouplingBetweenObjects" />
31      	<exclude name="ExcessiveImports" />
32      	<exclude name="NcssCount" />
33      	<exclude name="NPathComplexity" />
34      	<exclude name="NPathComplexity" />
35      	<exclude name="SwitchDensity" />
36      	<exclude name="LawOfDemeter" />
37          <exclude name="LoosePackageCoupling" />
38      </rule>
39      <rule ref="category/java/design.xml/AvoidDeeplyNestedIfStmts">
40          <properties>
41              <property name="problemDepth" value="5" />
42          </properties>
43      </rule>
44      <rule ref="category/java/design.xml/TooManyMethods">
45  	    <properties>
46  	        <property name="maxmethods" value="40" />
47  	    </properties>
48  	</rule>
49      <rule ref="category/java/errorprone.xml">
50          <exclude name="AvoidLiteralsInIfCondition" />
51          <exclude name="CloseResource" />
52          <exclude name="NullAssignment" />
53          <exclude name="EmptyCatchBlock" />
54      </rule>
55      <rule ref="category/java/multithreading.xml">
56      </rule>
57      <rule ref="category/java/performance.xml">
58          <exclude name="AvoidInstantiatingObjectsInLoops" />
59      </rule>
60      <rule ref="category/java/security.xml">
61      </rule>
62  </ruleset>