OSDN Git Service

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