OSDN Git Service

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