OSDN Git Service

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