gvsig-tools / org.gvsig.maven.base / tags / 1.0.5 / org.gvsig.maven.base.tools / src / main / resources / checkstyle / checkstyle_gvsig.xml @ 138
History | View | Annotate | Download (9.28 KB)
1 |
<?xml version="1.0"?>
|
---|---|
2 |
<!DOCTYPE module PUBLIC
|
3 |
"-//Puppy Crawl//DTD Check Configuration 1.2//EN"
|
4 |
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
|
5 |
|
6 |
<!--
|
7 |
|
8 |
Checkstyle configuration that checks the sun coding conventions from:
|
9 |
|
10 |
- the Java Language Specification at
|
11 |
http://java.sun.com/docs/books/jls/second_edition/html/index.html
|
12 |
|
13 |
- the Sun Code Conventions at http://java.sun.com/docs/codeconv/
|
14 |
|
15 |
- the Javadoc guidelines at
|
16 |
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
|
17 |
|
18 |
- the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
|
19 |
|
20 |
- some best practices
|
21 |
|
22 |
Checkstyle is very configurable. Be sure to read the documentation at
|
23 |
http://checkstyle.sf.net (or in your downloaded distribution).
|
24 |
|
25 |
Most Checks are configurable, be sure to consult the documentation.
|
26 |
|
27 |
To completely disable a check, just comment it out or delete it from the file.
|
28 |
|
29 |
Finally, it is worth reading the documentation.
|
30 |
|
31 |
-->
|
32 |
|
33 |
<module name="Checker"> |
34 |
<!--
|
35 |
If you set the basedir property below, then all reported file
|
36 |
names will be relative to the specified directory. See
|
37 |
http://checkstyle.sourceforge.net/5.x/config.html#Checker
|
38 |
|
39 |
<property name="basedir" value="${basedir}"/>
|
40 |
-->
|
41 |
<!-- gvSIG: All project files have the ISO-8859-1 charset -->
|
42 |
<property name="charset" value="ISO-8859-1" /> |
43 |
|
44 |
<!-- Checks that a package-info.java file exists for each package. -->
|
45 |
<!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage -->
|
46 |
<module name="JavadocPackage"> |
47 |
<property name="allowLegacy" value="true" /> |
48 |
</module>
|
49 |
|
50 |
<!-- Checks whether files end with a new line. -->
|
51 |
<!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
|
52 |
<module name="NewlineAtEndOfFile"/> |
53 |
|
54 |
<!-- Checks that property files contain the same keys. -->
|
55 |
<!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
|
56 |
<module name="Translation"/> |
57 |
|
58 |
<!-- Checks for Size Violations. -->
|
59 |
<!-- See http://checkstyle.sf.net/config_sizes.html -->
|
60 |
<module name="FileLength"/> |
61 |
|
62 |
<!-- Checks for whitespace -->
|
63 |
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
|
64 |
<module name="FileTabCharacter"/> |
65 |
|
66 |
|
67 |
<module name="TreeWalker"> |
68 |
|
69 |
<!-- Miscellaneous other checks. -->
|
70 |
<!-- See http://checkstyle.sf.net/config_misc.html -->
|
71 |
<!-- gvSIG: apply only to java files -->
|
72 |
<module name="RegexpSinglelineJava"> |
73 |
<property name="format" value="\s+$"/> |
74 |
<property name="minimum" value="0"/> |
75 |
<property name="maximum" value="0"/> |
76 |
<property name="message" value="Line has trailing spaces."/> |
77 |
<property name="ignoreComments" value="true"/> |
78 |
</module>
|
79 |
|
80 |
<!-- Checks for Javadoc comments. -->
|
81 |
<!-- See http://checkstyle.sf.net/config_javadoc.html -->
|
82 |
<!--
|
83 |
gvSIG rule 3: All protected or public classes must have a Javadoc comments,
|
84 |
except getters and setters
|
85 |
-->
|
86 |
<module name="JavadocMethod"> |
87 |
<property name="scope" value="protected" /> |
88 |
<property name="allowMissingPropertyJavadoc" value="true" /> |
89 |
</module>
|
90 |
<!--
|
91 |
gvSIG rule 9: All classes must have a Javadoc comment
|
92 |
with the "@author tag" and the "@version $Id$" tag included
|
93 |
-->
|
94 |
<module name="JavadocType"> |
95 |
<property name="scope" value="private" /> |
96 |
<property name="authorFormat" value="\S" /> |
97 |
<property name="versionFormat" value="\$Id.*\$"/> |
98 |
</module>
|
99 |
<module name="JavadocVariable"> |
100 |
<property name="scope" value="protected" /> |
101 |
</module>
|
102 |
<!-- gvSIG rule 3: Check correctly formatted Javadoc -->
|
103 |
<module name="JavadocStyle"> |
104 |
<property name="scope" value="protected" /> |
105 |
</module>
|
106 |
|
107 |
|
108 |
<!-- Checks for Naming Conventions. -->
|
109 |
<!-- See http://checkstyle.sf.net/config_naming.html -->
|
110 |
<module name="ConstantName"/> |
111 |
<module name="LocalFinalVariableName"/> |
112 |
<module name="LocalVariableName"/> |
113 |
<module name="MemberName"/> |
114 |
<module name="MethodName"/> |
115 |
<!-- gvSIG rule 15: All packages must begin with org.gvsig. -->
|
116 |
<module name="PackageName"> |
117 |
<property name="format" value="^org\.gvsig(\.[a-z][a-z0-9]*)+$" /> |
118 |
</module>
|
119 |
<!-- gvSIG advised rule 1: Abstract class names must begin with Abstract. -->
|
120 |
<!-- module name="AbstractClassName" /-->
|
121 |
<module name="ParameterName"/> |
122 |
<module name="StaticVariableName"/> |
123 |
<module name="TypeName"/> |
124 |
|
125 |
<!-- Checks for imports -->
|
126 |
<!-- See http://checkstyle.sf.net/config_import.html -->
|
127 |
<module name="AvoidStarImport"/> |
128 |
<module name="IllegalImport"/> <!-- defaults to sun.* packages --> |
129 |
<module name="RedundantImport"/> |
130 |
<module name="UnusedImports"/> |
131 |
|
132 |
|
133 |
<!-- Checks for Size Violations. -->
|
134 |
<!-- See http://checkstyle.sf.net/config_sizes.html -->
|
135 |
<module name="LineLength"/> |
136 |
<module name="MethodLength"/> |
137 |
<module name="ParameterNumber"/> |
138 |
|
139 |
|
140 |
<!-- Checks for whitespace -->
|
141 |
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
|
142 |
<module name="EmptyForIteratorPad"/> |
143 |
<module name="GenericWhitespace"/> |
144 |
<module name="MethodParamPad"/> |
145 |
<module name="NoWhitespaceAfter"/> |
146 |
<module name="NoWhitespaceBefore"/> |
147 |
<module name="OperatorWrap"/> |
148 |
<module name="ParenPad"/> |
149 |
<module name="TypecastParenPad"/> |
150 |
<module name="WhitespaceAfter"/> |
151 |
<module name="WhitespaceAround"/> |
152 |
|
153 |
|
154 |
<!-- Modifier Checks -->
|
155 |
<!-- See http://checkstyle.sf.net/config_modifiers.html -->
|
156 |
<module name="ModifierOrder"/> |
157 |
<module name="RedundantModifier"/> |
158 |
|
159 |
|
160 |
<!-- Checks for blocks. You know, those {}'s -->
|
161 |
<!-- See http://checkstyle.sf.net/config_blocks.html -->
|
162 |
<module name="AvoidNestedBlocks"/> |
163 |
<module name="EmptyBlock"/> |
164 |
<module name="LeftCurly"/> |
165 |
<module name="NeedBraces"/> |
166 |
<module name="RightCurly"/> |
167 |
|
168 |
|
169 |
<!-- Checks for common coding problems -->
|
170 |
<!-- See http://checkstyle.sf.net/config_coding.html -->
|
171 |
<module name="AvoidInlineConditionals"/> |
172 |
<module name="DoubleCheckedLocking"/> <!-- MY FAVOURITE --> |
173 |
<module name="EmptyStatement"/> |
174 |
<module name="EqualsHashCode"/> |
175 |
<module name="HiddenField"/> |
176 |
<module name="IllegalInstantiation"/> |
177 |
<module name="InnerAssignment"/> |
178 |
<module name="MagicNumber"/> |
179 |
<module name="MissingSwitchDefault"/> |
180 |
<module name="RedundantThrows"/> |
181 |
<module name="SimplifyBooleanExpression"/> |
182 |
<module name="SimplifyBooleanReturn"/> |
183 |
|
184 |
<!-- gvSIG: Check for some common programming errors -->
|
185 |
<module name="CovariantEquals" /> |
186 |
<module name="StringLiteralEquality" /> |
187 |
|
188 |
<!-- Checks for class design -->
|
189 |
<!-- See http://checkstyle.sf.net/config_design.html -->
|
190 |
<module name="DesignForExtension"/> |
191 |
<module name="FinalClass"/> |
192 |
<module name="HideUtilityClassConstructor"/> |
193 |
<module name="InterfaceIsType"/> |
194 |
<module name="VisibilityModifier"/> |
195 |
|
196 |
|
197 |
<!-- Miscellaneous other checks. -->
|
198 |
<!-- See http://checkstyle.sf.net/config_misc.html -->
|
199 |
<module name="ArrayTypeStyle"/> |
200 |
<!-- gvSIG: removed -->
|
201 |
<!-- module name="FinalParameters"/-->
|
202 |
<module name="TodoComment"/> |
203 |
<module name="UpperEll"/> |
204 |
|
205 |
<!-- gvSIG rule 2: Sun style with 4 spaces -->
|
206 |
<module name="Indentation"> |
207 |
<property name="basicOffset" value="4"/> |
208 |
<property name="caseIndent" value="0"/> |
209 |
</module>
|
210 |
|
211 |
<!-- gvSIG rule 10: Do not use System.out/err to log -->
|
212 |
<module name="Regexp"> |
213 |
<!-- . matches any character, so we need to escape it and use \.
|
214 |
to match dots.-->
|
215 |
<property name="format" value="System\.[out|err]\.println"/> |
216 |
<property name="illegalPattern" value="true"/> |
217 |
</module>
|
218 |
|
219 |
<!-- gvSIG rule 11: Try to avoid catching Throwable or
|
220 |
Exception and catch specific exceptions instead. -->
|
221 |
<module name="IllegalCatch"/> |
222 |
|
223 |
<!-- gvSIG rule 13: Use interfaces in the declaration of
|
224 |
methods and variables.
|
225 |
By default only avoids usage of Classes:
|
226 |
"java.util.GregorianCalendar, java.util.Hashtable,
|
227 |
java.util.HashSet, java.util.HashMap, java.util.ArrayList,
|
228 |
java.util.LinkedList, java.util.LinkedHashMap,
|
229 |
java.util.LinkedHashSet, java.util.TreeSet,
|
230 |
java.util.TreeMap, java.util.Vector" -->
|
231 |
<module name="IllegalType"> |
232 |
<property name="ignoredMethodNames" value="getInstance"/> |
233 |
</module>
|
234 |
|
235 |
</module>
|
236 |
|
237 |
<!-- gvSIG rule 1: check for the gvSIG header -->
|
238 |
<module name="RegexpHeader"> |
239 |
<!-- The follow property value demonstrates the ability -->
|
240 |
<!-- to have access to ANT properties. In this case it uses -->
|
241 |
<!-- the ${basedir} property to allow Checkstyle to be run -->
|
242 |
<!-- from any directory within a project. See property -->
|
243 |
<!-- expansion, -->
|
244 |
<!-- http://checkstyle.sf.net/config.html#properties -->
|
245 |
<property name="headerFile" value="${checkstyle.header.file}" /> |
246 |
|
247 |
</module>
|
248 |
|
249 |
</module>
|