1 <?xml version="1.0"?>
2 <!DOCTYPE module PUBLIC
3 "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4 "https://checkstyle.org/dtds/configuration_1_3.dtd">
5
6 <module name="Checker">
7 <!--
8 this config is a copy of
9 https://github.com/checkstyle/checkstyle/blob/master/config/checkstyle_checks.xml
10 with update to global severity=ignore to catch only exceptions.
11
12 Some other checks are commented out to speed up execution time.
13 -->
14
15 <metadata name="com.atlas-sw.eclipse" value="I like Sydney"/>
16
17 <property name="severity" value="ignore"/>
18
19 <!-- BeforeExecutionFileFilters is required for sources of java9 -->
20 <module name="BeforeExecutionExclusionFileFilter">
21 <property name="fileNamePattern" value="module\-info\.java$" />
22 </module>
23
24
25 <property name="fileExtensions" value="java, properties, xml, vm, g, g4, dtd"/>
26
27 <!-- BeforeExecutionFileFilters is required for sources that are based on java9 -->
28 <module name="BeforeExecutionExclusionFileFilter">
29 <property name="fileNamePattern" value="module\-info\.java$" />
30 </module>
31
32 <!-- Filters -->
33 <module name="SeverityMatchFilter">
34 <!-- report all violations except ignore -->
35 <property name="severity" value="ignore"/>
36 <property name="acceptOnMatch" value="false"/>
37 </module>
38 <!-- require separate config file
39 <module name="SuppressionFilter">
40 <property name="file" value="${checkstyle.suppressions.file}"/>
41 </module>
42 -->
43 <module name="SuppressWarningsFilter"/>
44
45 <!-- Headers -->
46 <module name="Header">
47 <!-- require separate config file, so we use default
48 <property name="headerFile" value="${checkstyle.header.file}"/>
49 <property name="fileExtensions" value="java"/>
50 <property name="id" value="header"/>
51 -->
52 </module>
53 <module name="RegexpHeader">
54 <!-- require separate config file, so we use default
55 <property name="headerFile" value="${checkstyle.regexp.header.file}"/>
56 <property name="fileExtensions" value="java"/>
57 -->
58 </module>
59
60 <!-- Javadoc Comments -->
61 <module name="JavadocPackage">
62 <property name="allowLegacy" value="false"/>
63 </module>
64
65 <!-- Miscellaneous -->
66 <module name="NewlineAtEndOfFile"/>
67 <module name="Translation">
68 <property name="requiredTranslations" value="de, fr, fi, es, pt, ja, tr, zh"/>
69 </module>
70 <module name="UniqueProperties"/>
71 <module name="OrderedProperties"/>
72
73 <!-- Regexp -->
74 <!-- we need only one instance of Check
75 <module name="RegexpMultiline"/>
76 -->
77 <module name="RegexpMultiline">
78 <property name="format" value="\r?\n[\t ]*\r?\n[\t ]*\r?\n"/>
79 <property name="fileExtensions" value="java,xml,properties"/>
80 <property name="message" value="Unnecessary consecutive lines"/>
81 </module>
82 <!-- we need only one instance of Check
83 <module name="RegexpMultiline">
84 <property name="format" value="/\*\*\W+\* +\p{javaLowerCase}"/>
85 <property name="fileExtensions" value="java"/>
86 <property name="message" value="First sentence in a comment should start with a capital letter"/>
87 </module>
88 -->
89 <module name="RegexpSingleline">
90 <property name="format" value="\s+$"/>
91 <property name="minimum" value="0"/>
92 <property name="maximum" value="0"/>
93 </module>
94 <!-- we need only one instance of Check
95 <module name="RegexpSingleline">
96 <property name="format" value="/\*\* +\p{javaLowerCase}"/>
97 <property name="fileExtensions" value="java"/>
98 <property name="message" value="First sentence in a comment should start with a capital letter"/>
99 </module>
100 <module name="RegexpSingleline">
101 <property name="format" value="^(?!(.*http|import)).{101,}$"/>
102 <property name="fileExtensions" value="g, g4"/>
103 <property name="message" value="Line should not be longer then 100 symbols"/>
104 </module>
105 -->
106 <module name="RegexpOnFilename" />
107 <!-- we need only one instance of Check
108 <module name="RegexpOnFilename">
109 <property name="folderPattern" value="[\\/]src[\\/]\w+[\\/]java[\\/]"/>
110 <property name="fileNamePattern" value="\.java$"/>
111 <property name="match" value="false"/>
112 <message key="regexp.filepath.mismatch" value="Only java files should be located in the ''src/*/java'' folders."/>
113 </module>
114 <module name="RegexpOnFilename">
115 <property name="folderPattern" value="[\\/]src[\\/]xdocs[\\/]"/>
116 <property name="fileNamePattern" value="\.(xml)|(vm)$"/>
117 <property name="match" value="false"/>
118 <message key="regexp.filepath.mismatch" value="All files in the ''src/xdocs'' folder should have the ''xml'' or ''vm'' extension."/>
119 </module>
120 <module name="RegexpOnFilename">
121 <property name="folderPattern" value="[\\/]src[\\/]it[\\/]java[\\/]"/>
122 <property name="fileNamePattern" value="^((\w+Test)|(Base\w+))\.java$"/>
123 <property name="match" value="false"/>
124 <message key="regexp.filepath.mismatch" value="All files in the ''src/it/java'' folder should be named ''*Test.java'' or ''Base*.java''."/>
125 </module>
126 -->
127
128 <!-- Size Violations -->
129 <module name="FileLength">
130 <property name="fileExtensions" value="java"/>
131 </module>
132 <module name="LineLength">
133 <property name="fileExtensions" value="java"/>
134 <property name="max" value="100"/>
135 <property name="ignorePattern" value="^ *\* *[^ ]+$"/>
136 </module>
137
138 <!-- Whitespace -->
139 <module name="FileTabCharacter">
140 <property name="eachLine" value="false"/>
141 </module>
142
143 <module name="TreeWalker">
144 <property name="tabWidth" value="4"/>
145
146 <module name="UnusedLocalVariable"/>
147 <module name="UnusedImports"/>
148 <module name="ExecutableStatementCount"/>
149 <module name="Indentation"/>
150
151 </module>
152
153 </module>