• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
3
4<!--
5  See installation instructions: https://sites.google.com/a/chromium.org/dev/checkstyle
6-->
7<module name="Checker">
8  <property name="severity" value="warning"/>
9  <property name="charset" value="UTF-8"/>
10  <module name="TreeWalker">
11    <module name="AvoidStarImport">
12      <property name="severity" value="error"/>
13    </module>
14    <module name="IllegalCatch">
15      <property name="severity" value="warning"/>
16    </module>
17    <module name="RedundantImport">
18      <message key="import.redundant" value="Redundant import: {0}. Use :JavaImportOrganize (ECLIM) or Ctrl+Shift+O (Eclipse) to sort imports"/>
19      <property name="severity" value="error"/>
20    </module>
21    <module name="UnusedImports">
22      <property name="severity" value="error"/>
23      <property name="processJavadoc" value="true"/>
24      <message key="import.unused" value="Unused import: {0}. Use :JavaImportOrganize (ECLIM) or Ctrl+Shift+O (Eclipse) to sort imports"/>
25    </module>
26    <module name="JavadocType">
27      <property name="severity" value="error"/>
28      <property name="tokens" value="INTERFACE_DEF, CLASS_DEF"/>
29      <property name="scope" value="public"/>
30      <message key="javadoc.missing" value="Public classes and interfaces require JavaDoc comments."/>
31    </module>
32    <module name="JavadocMethod">
33      <property name="severity" value="warning"/>
34      <property name="scope" value="public"/>
35      <property name="allowMissingParamTags" value="true"/>
36      <property name="allowMissingPropertyJavadoc" value="true"/>
37      <property name="allowMissingReturnTag" value="true"/>
38      <property name="allowMissingThrowsTags" value="true"/>
39    </module>
40    <module name="PackageName">
41      <property name="severity" value="warning"/>
42      <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]{1,})*$"/>
43    </module>
44    <module name="TypeName">
45      <property name="severity" value="warning"/>
46    </module>
47    <module name="ConstantName">
48      <property name="severity" value="warning"/>
49      <property name="format" value="^([A-Z][A-Z0-9]*(_[A-Z0-9]+)*)|(s[A-Z][a-zA-Z0-9]*)$"/>
50      <message key="name.invalidPattern" value="Static final field names must either be all caps (e.g. int HEIGHT_PX) for 'true' constants, or start with s (e.g. AtomicInteger sNextId or Runnable sSuspendTask) for fields with mutable state or that don't 'feel' like constants."/>
51    </module>
52    <!-- Non-public, non-static field names start with m. -->
53    <module name="MemberName">
54        <property name="format" value="^m[A-Z][a-zA-Z0-9]*$"/>
55        <property name="applyToPublic" value="false"/>
56        <message key="name.invalidPattern" value="Non-public, non-static field names start with m."/>
57    </module>
58    <!-- Static field names start with s. -->
59    <module name="StaticVariableName">
60        <property name="format" value="^s[A-Z][a-zA-Z0-9]*$"/>
61        <property name="applyToPublic" value="false"/>
62        <message key="name.invalidPattern" value="Static field names start with s."/>
63    </module>
64    <module name="MethodName" />
65    <module name="ParameterName">
66      <property name="severity" value="warning"/>
67    </module>
68    <module name="LocalFinalVariableName">
69      <property name="severity" value="warning"/>
70    </module>
71    <module name="LocalVariableName">
72      <property name="severity" value="warning"/>
73    </module>
74    <module name="LineLength">
75      <property name="severity" value="error"/>
76      <property name="ignorePattern" value="^import.*$" />
77      <property name="max" value="100"/>
78    </module>
79    <module name="LeftCurly">
80      <property name="severity" value="warning"/>
81    </module>
82    <module name="RightCurly">
83      <property name="severity" value="warning"/>
84    </module>
85    <module name="NeedBraces">
86      <property name="severity" value="warning"/>
87      <property name="tokens" value="LITERAL_FOR, LITERAL_WHILE, LITERAL_DO"/>
88    </module>
89    <module name="EmptyBlock">
90      <property name="severity" value="error"/>
91      <property name="option" value="text"/>
92      <metadata name="altname" value="EmptyCatchBlock"/>
93    </module>
94    <module name="UpperEll">
95      <property name="severity" value="error"/>
96    </module>
97    <module name="FallThrough">
98      <property name="severity" value="error"/>
99      <property name="reliefPattern" value=".*"/>
100    </module>
101    <module name="ModifierOrder">
102      <property name="severity" value="error"/>
103    </module>
104    <module name="WhitespaceAround">
105      <property name="severity" value="error"/>
106      <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, TYPE_EXTENSION_AND" />
107      <property name="allowEmptyConstructors" value="true"/>
108      <property name="allowEmptyMethods" value="true"/>
109   </module>
110    <module name="WhitespaceAfter">
111      <property name="tokens" value="COMMA, SEMI, TYPECAST"/>
112    </module>
113    <module name="NoWhitespaceAfter">
114      <property name="severity" value="error"/>
115      <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/>
116    </module>
117    <module name="NoWhitespaceBefore">
118      <property name="severity" value="error"/>
119      <property name="allowLineBreaks" value="true"/>
120      <property name="tokens" value="SEMI, DOT, POST_DEC, POST_INC"/>
121    </module>
122    <module name="NoFinalizer">
123      <property name="severity" value="warning"/>
124    </module>
125    <module name="ParenPad">
126      <property name="severity" value="warning"/>
127    </module>
128    <module name="ImportOrder">
129      <property name="severity" value="error"/>
130      <message key="import.ordering" value="Wrong order for {0} import. Use :JavaImportOrganize (ECLIM) or Ctrl+Shift+O (Eclipse) to sort imports"/>
131      <property name="groups" value="android, com, dalvik, gov, junit, libcore, net, org, java, javax"/>
132      <property name="ordered" value="true"/>
133      <property name="option" value="top"/>
134      <property name="separated" value="true"/>
135    </module>
136    <module name="Indentation">
137      <property name="basicOffset" value="4"/>
138    </module>
139  </module>
140  <module name="FileTabCharacter"/>
141  <module name="RegexpSingleline">
142    <property name="format" value="((//.*)|(\*.*))FIXME"/>
143    <property name="message" value="TODO is preferred to FIXME.  e.g. &quot;TODO(johndoe):"/>
144  </module>
145  <module name="RegexpSingleline">
146    <property name="format" value="((//.*)|(\*.*))(?&lt;!TODO\(.{0,100})(TODO[^(])|(TODO\([^)]*$)"/>
147    <property name="message" value="All TODOs should be named.  e.g. &quot;TODO(johndoe):"/>
148  </module>
149  <module name="RegexpSingleline">
150    <property name="severity" value="error"/>
151    <property name="format" value="[ \t]+$"/>
152    <property name="message" value="Trailing whitespace"/>
153    </module>
154  <module name="RegexpHeader">
155    <property name="severity" value="error"/>
156    <property name="header" value="^// Copyright 20\d\d The Chromium Authors. All rights reserved.$\n^// Use of this source code is governed by a BSD-style license that can be$\n^// found in the LICENSE file.$"/>
157  </module>
158</module>
159