-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathruleset.xml
93 lines (78 loc) · 4.17 KB
/
ruleset.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0"?>
<ruleset name="All Java 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>Every Java Rule in PMD</description>
<!-- Lexer test cases - wrong encoding, illegal characters, ... -->
<exclude-pattern>.*/ant/java/EncodingTestClass.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/cpd/badandgood/BadFile.java</exclude-pattern>
<!-- the following files produce parsing errors with java 9, as they use identifiers, that
are now reserved keywords and are forbidden to be used as identifiers.
-->
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/assert_test5.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/assert_test5_a.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/assert_test7.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/jdk14_enum.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/jdk9_invalid_identifier.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/java10/LocalVariableTypeInference_varAsAnnotationName.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/java10/LocalVariableTypeInference_varAsEnumName.java</exclude-pattern>
<exclude-pattern>.*/net/sourceforge/pmd/lang/java/ast/jdkversiontests/java10/LocalVariableTypeInference_varAsTypeIdentifier.java</exclude-pattern>
<rule ref="category/java/bestpractices.xml">
<exclude name="AbstractClassWithoutAbstractMethod"/>
</rule>
<rule ref="category/java/codestyle.xml">
<exclude name="OnlyOneReturn"/>
<exclude name="ClassNamingConventions"/>
<exclude name="FieldNamingConventions"/>
<exclude name="AvoidProtectedMethodInFinalClassNotExtending"/>
<exclude name="AtLeastOneConstructor"/>
</rule>
<rule ref="category/java/design.xml">
<exclude name="LawOfDemeter"/>
<exclude name="DataClass"/>
<exclude name="AbstractClassWithoutAnyMethod"/>
</rule>
<rule ref="category/java/documentation.xml" />
<rule ref="category/java/multithreading.xml" />
<rule ref="category/java/performance.xml" />
<rule ref="category/java/security.xml" />
<!-- Things I have to add to the master rule set -->
<rule ref="category/java/errorprone.xml">
<exclude name="BeanMembersShouldSerialize"/>
</rule>
<!-- Things I have to add to the master rule set -->
<!-- Comment requirements -->
<rule ref="category/java/documentation.xml/CommentRequired">
<properties>
<property name="methodWithOverrideCommentRequirement" value="Ignored" />
<property name="accessorCommentRequirement" value="Ignored" />
<property name="classCommentRequirement" value="Required" />
<property name="fieldCommentRequirement" value="Ignored" />
<property name="publicMethodCommentRequirement" value="Required" />
<property name="protectedMethodCommentRequirement" value="Required" />
<property name="enumCommentRequirement" value="Required" />
<property name="serialVersionUIDCommentRequired" value="Ignored" />
<property name="serialPersistentFieldsCommentRequired" value="Ignored" />
</properties>
</rule>
<!-- Maximum number of methods -->
<rule ref="category/java/design.xml/TooManyMethods">
<properties>
<property name="maxmethods" value="15" />
</properties>
</rule>
<!-- Maximum length of variable names -->
<rule ref="category/java/codestyle.xml/LongVariable">
<properties>
<property name="minimum" value="30" />
</properties>
</rule>
<!-- Maximum dimensions of non-header comments. -->
<rule ref="category/java/documentation.xml/CommentSize">
<properties>
<property name="maxLines" value="20" />
<property name="maxLineLength" value="80" />
</properties>
</rule>
</ruleset>