2023-06-21 05:34:58 -05:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2023-07-15 09:02:42 -05:00
|
|
|
<!--
|
|
|
|
~ phpmd.xml
|
|
|
|
~ Copyright (c) 2023 james@firefly-iii.org
|
|
|
|
~
|
|
|
|
~ This file is part of Firefly III (https://github.com/firefly-iii).
|
|
|
|
~
|
|
|
|
~ This program is free software: you can redistribute it and/or modify
|
|
|
|
~ it under the terms of the GNU Affero General Public License as
|
|
|
|
~ published by the Free Software Foundation, either version 3 of the
|
|
|
|
~ License, or (at your option) any later version.
|
|
|
|
~
|
|
|
|
~ This program is distributed in the hope that it will be useful,
|
|
|
|
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
~ GNU Affero General Public License for more details.
|
|
|
|
~
|
|
|
|
~ You should have received a copy of the GNU Affero General Public License
|
|
|
|
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
-->
|
|
|
|
|
2023-11-05 13:18:16 -06:00
|
|
|
<ruleset name="pcsg-generated-ruleset"
|
2023-11-05 03:16:53 -06:00
|
|
|
xmlns="http://pmd.sf.net/ruleset/1.0.0"
|
|
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
|
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
|
|
|
|
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
|
2023-11-05 13:18:16 -06:00
|
|
|
<description>Firefly III ruleset.</description>
|
|
|
|
<!-- Import the entire controversial code rule set -->
|
|
|
|
<rule ref="rulesets/controversial.xml">
|
2023-11-30 22:15:59 -06:00
|
|
|
<exclude name="CamelCasePropertyName"/>
|
2023-11-05 13:18:16 -06:00
|
|
|
</rule>
|
2023-06-21 05:34:58 -05:00
|
|
|
|
2023-11-05 13:18:16 -06:00
|
|
|
<!-- clean code -->
|
|
|
|
<!-- <rule ref="rulesets/codesize.xml" /> -->
|
2023-11-30 22:15:59 -06:00
|
|
|
<rule ref="rulesets/unusedcode.xml"/>
|
2023-06-21 05:34:58 -05:00
|
|
|
|
2023-07-15 09:02:42 -05:00
|
|
|
|
2023-11-26 05:24:37 -06:00
|
|
|
<rule ref="rulesets/design.xml/NumberOfChildren">
|
|
|
|
<properties>
|
|
|
|
<!-- TODO we want to be at minimum 15. But we start high, and drop the bar slowly. -->
|
|
|
|
<property name="minimum" value="256"/>
|
|
|
|
</properties>
|
|
|
|
</rule>
|
|
|
|
<rule ref="rulesets/design.xml/CouplingBetweenObjects">
|
|
|
|
<properties>
|
2023-11-26 05:50:54 -06:00
|
|
|
<!-- TODO we want to be at maximum 13. But we start high, and drop the bar slowly. -->
|
|
|
|
<property name="maximum" value="256"/>
|
2023-11-26 05:24:37 -06:00
|
|
|
</properties>
|
|
|
|
</rule>
|
|
|
|
|
2023-06-21 05:34:58 -05:00
|
|
|
|
2023-11-05 13:18:16 -06:00
|
|
|
<rule ref="rulesets/naming.xml/ShortMethodName">
|
|
|
|
<properties>
|
2023-11-30 22:15:59 -06:00
|
|
|
<property name="minimum" value="3"/>
|
2023-11-05 13:18:16 -06:00
|
|
|
</properties>
|
|
|
|
</rule>
|
|
|
|
|
|
|
|
<!-- code size -->
|
|
|
|
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
|
|
|
|
<properties>
|
2023-11-05 02:54:53 -06:00
|
|
|
<!-- TODO we want to be at report level 5. But we start high, and drop the bar slowly. -->
|
2023-11-05 13:18:16 -06:00
|
|
|
<property name="reportLevel" value="500"/>
|
|
|
|
</properties>
|
|
|
|
</rule>
|
|
|
|
<rule ref="rulesets/codesize.xml/NPathComplexity">
|
|
|
|
<properties>
|
2023-11-05 02:54:53 -06:00
|
|
|
<!-- TODO we want to be at a value of 128. But we start high, and drop the bar slowly. -->
|
2023-11-26 05:50:54 -06:00
|
|
|
<property name="minimum" value="24062500"/>
|
2023-11-05 13:18:16 -06:00
|
|
|
</properties>
|
|
|
|
</rule>
|
|
|
|
<rule ref="rulesets/codesize.xml/ExcessiveMethodLength">
|
|
|
|
<properties>
|
2023-11-05 02:54:53 -06:00
|
|
|
<!-- TODO we want to be at a value of 40. But we start high, and drop the bar slowly. -->
|
2023-12-02 00:05:34 -06:00
|
|
|
<property name="minimum" value="100"/>
|
|
|
|
<property name="ignore-whitespace" value="true"/>
|
2023-11-05 13:18:16 -06:00
|
|
|
</properties>
|
|
|
|
</rule>
|
|
|
|
<rule ref="rulesets/codesize.xml/ExcessiveParameterList">
|
|
|
|
<properties>
|
2023-11-30 22:15:59 -06:00
|
|
|
<!-- 5 is fine. 6 is excessive, but I have just one of those. At the end of the day, I still need all params. -->
|
|
|
|
<property name="minimum" value="5"/>
|
2023-11-05 13:18:16 -06:00
|
|
|
</properties>
|
|
|
|
</rule>
|
2023-06-21 05:34:58 -05:00
|
|
|
|
2023-11-05 13:18:16 -06:00
|
|
|
<!-- include clean code manually -->
|
2023-11-30 22:15:59 -06:00
|
|
|
<rule ref="rulesets/cleancode.xml/BooleanArgumentFlag"/>
|
|
|
|
<rule ref="rulesets/cleancode.xml/ElseExpression"/>
|
|
|
|
<rule ref="rulesets/cleancode.xml/MissingImport"/>
|
|
|
|
<rule ref="rulesets/cleancode.xml/UndefinedVariable"/>
|
|
|
|
<rule ref="rulesets/cleancode.xml/IfStatementAssignment"/>
|
|
|
|
<rule ref="rulesets/cleancode.xml/DuplicatedArrayKey"/>
|
|
|
|
<rule ref="rulesets/cleancode.xml/ErrorControlOperator"/>
|
2023-07-15 09:02:42 -05:00
|
|
|
</ruleset>
|