OSDN Git Service

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