OSDN Git Service

update pmd plugin.
[jovsonz/Jovsonz.git] / src / main / config / checks.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <!DOCTYPE module PUBLIC
4     "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
5     "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
6
7 <!--
8     Checkstyle用チェック項目定義。
9
10     Checkstyle 6.1 以降向けに記述。
11
12     [ http://checkstyle.sourceforge.net/ ]
13
14     Copyright(c) 2010 olyutorskii
15 -->
16
17
18 <module name="Checker">
19
20     <property name="charset" value="UTF-8" />
21     <property name="localeCountry" value="JP" />
22     <property name="localeLanguage" value="ja" />
23     <property name="severity" value="error" />
24
25
26     <!-- Filters -->
27     <module name="SeverityMatchFilter" />
28     <module name="SuppressionCommentFilter" />
29     <module name="SuppressionFilter">
30         <property name="file" value="src/main/config/suppressions.xml" />
31     </module>
32     <module name="SuppressWarningsFilter" />
33     <module name="SuppressWithNearbyCommentFilter" />
34
35
36     <!-- Headers -->
37     <module name="RegexpHeader">
38         <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
39         <property name="multiLines" value="2" />
40         <property name="fileExtensions" value="java" />
41     </module>
42
43
44     <!-- Javadoc Comments -->
45     <module name="JavadocPackage" />
46
47
48     <!-- Miscellaneous -->
49     <module name="NewlineAtEndOfFile">
50         <property name="fileExtensions" value="java" />
51     </module>
52     <module name="Translation" />
53     <module name="UniqueProperties" />
54
55
56     <!-- Regexp -->
57     <module name="RegexpMultiline">
58         <property name="format" value="[\u000b\f\u001a]" />
59     </module>
60 <!--<module name="RegexpOnFilename" />   6.15 or later -->
61     <module name="RegexpSingleline">
62         <property name="format" value="\s+$" />
63     </module>
64     <module name="RegexpSingleline">
65         <!-- scm conflict -->
66         <property name="format" value="&lt;&lt;&lt;&lt;&lt;" />
67     </module>
68
69
70     <!-- Size Violations -->
71     <module name="FileLength">
72         <property name="max" value="2000"/>
73     </module>
74
75
76     <!-- Whitespace -->
77     <module name="FileTabCharacter" />
78
79
80     <module name="TreeWalker">
81
82         <property name="tabWidth" value="8"/>
83
84
85     <!-- Annotations -->
86
87         <module name="AnnotationLocation" />
88         <module name="AnnotationUseStyle" />
89         <module name="MissingDeprecated" />
90         <module name="MissingOverride" />
91         <module name="PackageAnnotation" />
92         <module name="SuppressWarnings" />
93         <module name="SuppressWarningsHolder" />
94
95
96     <!-- Block Checks -->
97         <module name="AvoidNestedBlocks" />
98         <module name="EmptyBlock" />
99 <!--    <module name="EmptyCatchBlock" />  6.4 or later  -->
100         <module name="LeftCurly" />
101         <module name="NeedBraces">
102             <property name="tokens" value="LITERAL_DO" />
103         </module>
104         <module name="RightCurly" />
105
106
107     <!-- Class Design -->
108
109         <module name="DesignForExtension" />
110         <module name="FinalClass" />
111         <module name="HideUtilityClassConstructor" />
112         <module name="InnerTypeLast" />
113         <module name="InterfaceIsType" />
114         <module name="MutableException" />
115         <module name="OneTopLevelClass" />
116         <module name="ThrowsCount">
117             <property name="max" value="4" />
118         </module>
119         <module name="VisibilityModifier" />
120
121
122     <!-- Coding -->
123
124         <module name="ArrayTrailingComma" />
125         <module name="AvoidInlineConditionals" />
126         <module name="CovariantEquals" />
127         <module name="DeclarationOrder" />
128         <module name="DefaultComesLast" />
129         <module name="EmptyStatement" />
130         <module name="EqualsAvoidNull" />
131         <module name="EqualsHashCode" />
132         <module name="ExplicitInitialization" />
133         <module name="FallThrough" />
134         <module name="FinalLocalVariable" />
135         <module name="HiddenField">
136             <property name="ignoreConstructorParameter" value="true" />
137             <property name="ignoreSetter" value="true" />
138             <property name="ignoreAbstractMethods" value="true" />
139         </module>
140         <module name="IllegalCatch" />
141         <module name="IllegalInstantiation" />
142         <module name="IllegalThrows" />
143         <module name="IllegalToken">
144             <property name="tokens" value="LITERAL_NATIVE" />
145         </module>
146         <module name="IllegalTokenText">
147             <property name="tokens" value="NUM_INT, NUM_LONG" />
148             <property name="format" value="^0_*[0-7]" />
149             <property name="message" value="inhibit octal number" />
150         </module>
151         <module name="IllegalType" />
152         <module name="InnerAssignment" />
153         <module name="MagicNumber" />
154         <module name="MissingCtor" />
155         <module name="MissingSwitchDefault" />
156         <module name="ModifiedControlVariable" />
157         <module name="MultipleStringLiterals" />
158         <module name="MultipleVariableDeclarations" />
159         <module name="SimplifyBooleanExpression" />
160         <module name="SimplifyBooleanReturn" />
161         <module name="StringLiteralEquality" />
162         <module name="NestedForDepth" />
163         <module name="NestedIfDepth" />
164         <module name="NestedTryDepth" />
165         <module name="NoClone" />
166         <module name="NoFinalizer" />
167         <module name="OneStatementPerLine" />
168         <module name="OverloadMethodsDeclarationOrder" />
169         <module name="PackageDeclaration" />
170         <module name="ParameterAssignment" />
171         <module name="RequireThis">
172             <property name="checkMethods" value="false" />
173         </module>
174         <module name="ReturnCount">
175             <property name="max" value="5" />
176         </module>
177         <module name="SimplifyBooleanExpression" />
178         <module name="SimplifyBooleanReturn" />
179         <module name="StringLiteralEquality" />
180         <module name="SuperClone" />
181         <module name="SuperFinalize" />
182         <module name="UnnecessaryParentheses" />
183         <module name="VariableDeclarationUsageDistance">
184             <property name="allowedDistance" value="5" />
185         </module>
186
187
188     <!-- Imports -->
189
190         <module name="AvoidStarImport" />
191         <module name="AvoidStaticImport" />
192         <module name="CustomImportOrder" />
193         <module name="IllegalImport" />
194         <module name="ImportControl" />
195         <module name="ImportOrder" />
196         <module name="RedundantImport" />
197         <module name="UnusedImports" />
198
199
200     <!-- Javadoc Comments -->
201
202         <module name="AtclauseOrder" />
203         <module name="JavadocMethod" />
204         <module name="JavadocParagraph" />
205         <module name="JavadocStyle">
206             <property
207                 name="endOfSentenceFormat"
208                 value="([。.?!][ \t\n\r\f&lt;])|([。.?!]$)" />
209             <property name="checkEmptyJavadoc" value="true" />
210             <property name="checkHtml" value="true" />
211         </module>
212         <module name="JavadocTagContinuationIndentation" />
213         <module name="JavadocType" />
214         <module name="JavadocVariable">
215             <property name="scope" value="protected" />
216         </module>
217         <module name="NonEmptyAtclauseDescription" />
218         <module name="SingleLineJavadoc" />
219         <module name="SummaryJavadocCheck" />
220         <module name="WriteTag" />
221
222
223     <!-- Metrics -->
224
225         <module name="BooleanExpressionComplexity" />
226         <module name="ClassDataAbstractionCoupling" />
227         <module name="ClassFanOutComplexity" />
228         <module name="CyclomaticComplexity" />
229         <module name="JavaNCSS" />
230         <module name="NPathComplexity" />
231
232
233     <!-- Miscellaneous -->
234
235         <module name="ArrayTypeStyle" />
236         <module name="AvoidEscapedUnicodeCharacters">
237             <property name="allowEscapesForControlCharacters" value="true"/>
238             <property name="allowByTailComment" value="true"/>
239             <property name="allowIfAllCharactersEscaped" value="true"/>
240             <property name="allowNonPrintableEscapes" value="true"/>
241         </module>
242 <!--    <module name="CommentsIndentation" />  6.10 or later  -->
243         <module name="DescendantToken" />
244         <module name="FileContentsHolder" />
245         <module name="FinalParameters" />
246         <module name="Indentation">
247             <property name="caseIndent" value="0" />
248         </module>
249         <module name="OuterTypeFilename" />
250         <module name="TodoComment">
251             <property name="format" value="TODO" />
252         </module>
253         <module name="TrailingComment" />
254         <module name="UncommentedMain" />
255         <module name="UpperEll" />
256
257
258     <!-- Modifiers -->
259
260         <module name="ModifierOrder" />
261         <module name="RedundantModifier" />
262
263
264     <!-- Naming Conventions -->
265
266         <module name="AbbreviationAsWordInName" />
267         <module name="AbstractClassName">
268             <property
269                 name="format"
270                 value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
271             />
272         </module>
273 <!--    <module name="CatchParameterName" />    6.14 or later -->
274         <module name="ClassTypeParameterName" />
275         <module name="ConstantName" />
276         <module name="InterfaceTypeParameterName" />
277         <module name="LocalFinalVariableName">
278             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
279         </module>
280         <module name="LocalVariableName">
281             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
282         </module>
283         <module name="MemberName">
284             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
285         </module>
286         <module name="MethodName" />
287         <module name="MethodTypeParameterName" />
288         <module name="PackageName" />
289         <module name="ParameterName">
290             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
291         </module>
292         <module name="StaticVariableName">
293             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
294         </module>
295         <module name="TypeName" />
296
297
298     <!-- Regex -->
299
300         <module name="Regexp">
301             <property name="format" value="@author" />
302             <property name="illegalPattern" value="true" />
303         </module>
304         <module name="Regexp">
305             <property name="format" value="^ \* Copyright\(c\)" />
306         </module>
307         <module name="Regexp">
308             <property name="format" value="^ \* License : The MIT License" />
309             <property name="duplicateLimit" value="1" />
310         </module>
311         <module name="RegexpSinglelineJava">
312             <property name="format" value="\u0000" />
313         </module>
314
315
316     <!-- Size Violations -->
317
318         <module name="AnonInnerLength" />
319         <module name="ExecutableStatementCount" />
320         <module name="LineLength">
321             <property name="max" value="78" />
322         </module>
323         <module name="MethodCount" />
324         <module name="MethodLength" />
325         <module name="OuterTypeNumber" />
326         <module name="ParameterNumber" />
327
328
329     <!-- Whitespace -->
330
331         <module name="EmptyForInitializerPad" />
332         <module name="EmptyForIteratorPad" />
333         <module name="EmptyLineSeparator">
334             <property
335                 name="tokens"
336                 value="PACKAGE_DEF,
337                        IMPORT,
338                        CLASS_DEF,
339                        INTERFACE_DEF,
340                        ENUM_DEF,
341                        STATIC_INIT,
342                        INSTANCE_INIT,
343                        METHOD_DEF,
344                        CTOR_DEF,
345                        "
346             />
347         </module>
348         <module name="GenericWhitespace" />
349         <module name="MethodParamPad">
350             <property
351                 name="tokens"
352                 value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
353             />
354         </module>
355         <module name="NoLineWrap" />
356         <module name="NoWhitespaceAfter">
357             <property name="allowLineBreaks" value="false" />
358             <property name="tokens" value="INC, DEC, DOT" />
359         </module>
360         <module name="NoWhitespaceBefore">
361             <property name="allowLineBreaks" value="false" />
362             <property name="tokens" value="COMMA, POST_INC, POST_DEC" />
363         </module>
364         <module name="NoWhitespaceBefore">
365             <property name="allowLineBreaks" value="true" />
366             <property name="tokens" value="SEMI" />
367         </module>
368         <module name="OperatorWrap">
369             <property name="option" value="eol" />
370             <property
371                 name="tokens"
372                 value="ASSIGN,
373                        BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
374                        PLUS_ASSIGN, MINUS_ASSIGN,
375                        STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
376                        SL_ASSIGN, SR_ASSIGN, BSR_ASSIGN"
377             />
378         </module>
379         <module name="OperatorWrap">
380             <property name="option" value="nl" />
381             <property
382                 name="tokens"
383                 value="QUESTION,
384                        BAND, BOR, BXOR,
385                        PLUS, MINUS, STAR, DIV, MOD,
386                        LAND, LOR,
387                        EQUAL, NOT_EQUAL"
388             />
389         </module>
390         <module name="ParenPad">
391             <property name="option" value="nospace" />
392             <property
393                 name="tokens"
394                 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
395             />
396         </module>
397         <module name="SeparatorWrap">
398             <property name="tokens" value="DOT" />
399             <property name="option" value="nl" />
400         </module>
401         <module name="TypecastParenPad" />
402         <module name="WhitespaceAfter" />
403         <module name="WhitespaceAround">
404             <property
405                 name="tokens"
406                 value="ASSIGN,
407                        LAND, LOR,
408                        BAND, BOR, BXOR, BSR,
409                        BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
410                        SL, SR,
411                        SL_ASSIGN, SR_ASSIGN,
412                        MINUS, STAR, DIV, MOD,
413                        PLUS_ASSIGN, MINUS_ASSIGN,
414                        STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
415                        EQUAL, NOT_EQUAL, GT, GE, LT, LE,
416                        "
417             />
418         </module>
419
420
421     </module>
422
423 </module>
424
425 <!-- EOF -->