diff --git a/pmd-ruleset.xml b/pmd-ruleset.xml new file mode 100644 index 0000000..b079265 --- /dev/null +++ b/pmd-ruleset.xml @@ -0,0 +1,62 @@ +<?xml version="1.0"?> + +<ruleset name="Custom Rules" + 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.io/ruleset_2_0_0.xsd"> + + <description>HtmlUnit rules</description> + <exclude-pattern>.*/src/test/resources/.*</exclude-pattern> + + <rule ref="category/java/bestpractices.xml" /> + + <rule ref="category/java/codestyle.xml"> + <exclude name="AtLeastOneConstructor"/> + <exclude name="AvoidFinalLocalVariable"/> + <exclude name="AtLeastOneConstructor"/> + <exclude name="CallSuperInConstructor"/> + <exclude name="ClassNamingConventions"/> + <exclude name="CommentDefaultAccessModifier"/> + <exclude name="DefaultPackage"/> + <exclude name="FieldNamingConventions"/> + <exclude name="LongVariable"/> + <exclude name="MethodNamingConventions"/> + <exclude name="OnlyOneReturn"/> + <exclude name="ShortVariable"/> + <exclude name="TooManyStaticImports"/> + <exclude name="UnnecessaryLocalBeforeReturn"/> + <exclude name="UnnecessaryConstructor"/> + <exclude name="UnnecessaryFullyQualifiedName"/> + <exclude name="UselessParentheses"/> + </rule> + + <rule ref="category/java/design.xml"> + <exclude name="CyclomaticComplexity"/> + <exclude name="ExcessiveClassLength"/> + <exclude name="LawOfDemeter"/> + <exclude name="NPathComplexity"/> + </rule> + + <rule ref="category/java/documentation.xml"> + <exclude name="CommentSize"/> + <exclude name="CommentRequired"/> + <exclude name="UncommentedEmptyConstructor"/> + </rule> + + <rule ref="category/java/errorprone.xml"> + <exclude name="AvoidDuplicateLiterals"/> + <exclude name="AvoidLiteralsInIfCondition"/> + <exclude name="BeanMembersShouldSerialize"/> + <exclude name="DataflowAnomalyAnalysis"/> + <exclude name="MissingSerialVersionUID"/> + </rule> + + <rule ref="category/java/multithreading.xml" /> + + <rule ref="category/java/performance.xml"> + <exclude name="AvoidUsingShortType"/> + </rule> + + <rule ref="category/java/security.xml" /> + +</ruleset>