-
Notifications
You must be signed in to change notification settings - Fork 91
/
checkstyle.xml
167 lines (147 loc) · 7.13 KB
/
checkstyle.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="FileLength"/>
<module name="FileTabCharacter"/>
<module name="SuppressionFilter">
<property name="file" value="${checkStyleConfigDir}/checkstyle_suppressions.xml" />
</module>
<!-- Trailing spaces -->
<module name="RegexpSingleline">
<property name="format" value="\s+$"/>
<property name="message" value="Line has trailing spaces."/>
</module>
<!-- Ensure trailling newline for compatibility -->
<module name="NewlineAtEndOfFile" />
<!-- Space after 'for' and 'if' -->
<module name="RegexpSingleline">
<property name="format" value="^\s*(for|if)\b[^ ]"/>
<property name="message" value="Space needed before opening parenthesis."/>
</module>
<!-- For each spacing -->
<module name="RegexpSingleline">
<property name="format" value="^\s*for \(.*?([^ ]:|:[^ ])"/>
<property name="message" value="Space needed around ':' character."/>
</module>
<module name="TreeWalker">
<!-- Checks for uncommented main() methods (debugging leftovers). -->
<!-- Checks that long constants are defined with an upper ell. -->
<!-- See http://checkstyle.sourceforge.net/config_misc.html#UpperEll -->
<module name="UpperEll" />
<!-- Checks the style of array type definitions. -->
<!-- See http://checkstyle.sourceforge.net/config_misc.html#ArrayTypeStyle -->
<module name="ArrayTypeStyle" />
<!-- Checks that the outer type name and the file name match. -->
<!-- See http://checkstyle.sourceforge.net/config_misc.html#OuterTypeFilename -->
<module name="OuterTypeFilename" />
<!-- Validates Javadoc comments to help ensure they are well formed. -->
<!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocStyle -->
<module name="JavadocStyle" />
<module name="JavadocType">
<property name="scope" value="public"/>
</module>
<!-- Each of these naming modules validates identifiers for particular
code elements. -->
<!-- See http://checkstyle.sourceforge.net/config_naming.html -->
<module name="ConstantName">
<property name="format" value="^[A-Z][A-Z0-9\$]*(_[A-Z0-9\$]+)*$" />
</module>
<module name="LocalFinalVariableName" />
<module name="LocalVariableName" />
<module name="MemberName">
<property name="format" value="^[a-z][a-zA-Z0-9_\$]*$" />
</module>
<module name="MethodName" >
<property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$"/>
</module>
<module name="PackageName" />
<module name="ParameterName" />
<module name="StaticVariableName" />
<module name="TypeName" />
<!-- Allow common trailing comments used to describe suppressions -->
<module name="TrailingComment">
<property name="legalComment" value="Public API" />
</module>
<!-- Checks for imports. -->
<!-- See http://checkstyle.sourceforge.net/config_imports.html -->
<module name="AvoidStarImport"/>
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<!-- Default sun.* packages -->
<module name="IllegalImport">
<property name="illegalPkgs" value="sun" />
<message key="import.illegal" value="Import from illegal package - {0}. Programs that contain direct calls to the sun.* packages are not 100% Pure Java." />
</module>
<!-- Prevent importing JUnit 3 classes and Assert methods -->
<module name="IllegalImport">
<property name="illegalPkgs" value="junit" />
<message key="import.illegal" value="Import from illegal package - {0}. Tests are written in JUnit 4, use org.junit.* equivalents." />
</module>
<!-- Prevent importing Mockito matchers directly -->
<module name="IllegalImport">
<property name="illegalPkgs" value="org.mockito.internal" />
<message key="import.illegal" value="Import from illegal package - {0}. Use org.mockito.Matchers to instantiate argument matchers; or org.hamcrest.Matchers for assertThat." />
</module>
<module name="ImportOrder">
<!-- Checks for out of order import statements. -->
<property name="sortStaticImportsAlphabetically" value="true"/>
<property name="severity" value="error"/>
<property name="groups" value="*"/>
<!-- This ensures that static imports go first. -->
<property name="option" value="top"/>
<property name="tokens" value="STATIC_IMPORT, IMPORT"/>
</module>
<!-- Checks for whitespace. -->
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html -->
<module name="GenericWhitespace" />
<module name="MethodParamPad" />
<module name="NoWhitespaceAfter">
<property name="tokens"
value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS" />
</module>
<module name="NoWhitespaceBefore" />
<module name="OperatorWrap" />
<module name="ParenPad" />
<module name="TypecastParenPad" />
<module name="WhitespaceAfter" />
<module name="WhitespaceAround" />
<!-- Modifier Checks. -->
<!-- See http://checkstyle.sourceforge.net/config_modifier.html -->
<module name="ModifierOrder" />
<!-- Checks for blocks. -->
<!-- See http://checkstyle.sourceforge.net/config_blocks.html -->
<module name="AvoidNestedBlocks">
<property name="allowInSwitchCase" value="true" />
</module>
<module name="EmptyBlock" >
<property name="option" value="text"/>
</module>
<module name="NeedBraces"/>
<module name="LeftCurly" />
<module name="RightCurly">
<property name="tokens"
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_ELSE" />
</module>
<!-- Checks for common coding problems. -->
<!-- See http://checkstyle.sourceforge.net/config_coding.html -->
<module name="CovariantEquals" />
<module name="DefaultComesLast" />
<module name="EmptyStatement" />
<module name="EqualsHashCode" />
<module name="NoClone" />
<module name="NoFinalizer" />
<module name="OneStatementPerLine" />
<module name="IllegalInstantiation"/>
<module name="SimplifyBooleanExpression" />
<module name="SimplifyBooleanReturn" />
<module name="StringLiteralEquality" />
<module name="UnnecessaryParentheses" />
<module name="LineLength">
<property name="max" value="100" />
</module>
<!-- Checks for class design. -->
<!-- See http://checkstyle.sourceforge.net/config_design.html -->
<module name="FinalClass" />
<module name="InterfaceIsType" />
</module>
</module>