1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 ~ Copyright (C) 2016 The Android Open Source Project 4 ~ 5 ~ Licensed under the Apache License, Version 2.0 (the "License"); 6 ~ you may not use this file except in compliance with the License. 7 ~ You may obtain a copy of the License at 8 ~ 9 ~ http://www.apache.org/licenses/LICENSE-2.0 10 ~ 11 ~ Unless required by applicable law or agreed to in writing, software 12 ~ distributed under the License is distributed on an "AS IS" BASIS, 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ~ See the License for the specific language governing permissions and 15 ~ limitations under the License. 16--> 17<module name="AvoidStarImport"> 18 <property name="severity" value="error"/> 19 <property name="excludes" value="org.junit.Assert,org.mockito.Mockito,org.mockito.MockitoAnnotations,org.hamcrest.Matchers"/> 20</module> 21<module name="IllegalCatch"> 22 <property name="severity" value="info"/> 23</module> 24<module name="RedundantImport"> 25 <message key="import.redundant" value="Redundant import: {0}. Use Ctrl+Shift+O (Eclipse) or Ctrl+Alt+O (Intellij) to sort imports"/> 26 <property name="severity" value="error"/> 27</module> 28<module name="UnusedImports"> 29 <message key="import.unused" value="Unused import: {0}. Use Ctrl+Shift+O (Eclipse) or Ctrl+Alt+O (Intellij) to sort imports"/> 30 <property name="severity" value="error"/> 31 <property name="processJavadoc" value="true"/> 32</module> 33<module name="PackageName"> 34 <property name="severity" value="error"/> 35 <property name="format" value="^[a-z]+(\.[a-z][a-z0-9_]{1,})*$"/> 36</module> 37<module name="SimplifyBooleanExpression"> 38 <property name="severity" value="error"/> 39</module> 40<module name="SimplifyBooleanReturn"> 41 <property name="severity" value="error"/> 42</module> 43<module name="TypeName"> 44 <property name="severity" value="error"/> 45 <property name="format" value="^[A-Z][a-zA-Z0-9_]*$"/> 46</module> 47<module name="ConstantName"> 48 <property name="severity" value="error"/> 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="severity" value="error"/> 55 <property name="format" value="^m[A-Z0-9][a-zA-Z0-9]*$"/> 56 <property name="applyToPublic" value="false"/> 57 <message key="name.invalidPattern" value="Non-public, non-static field names start with m and are camel-cased. (e.g. mSize)"/> 58</module> 59<!-- Static field names start with s. --> 60<module name="StaticVariableName"> 61 <property name="severity" value="error"/> 62 <property name="format" value="^s[A-Z0-9][a-zA-Z0-9]*$"/> 63 <property name="applyToPublic" value="false"/> 64 <message key="name.invalidPattern" value="Static field names start with s and are camel-cased. (e.g. sFooBar)"/> 65</module> 66<module name="MethodName"> 67 <property name="severity" value="error"/> 68 <property name="format" value="^[a-z][a-zA-Z0-9_]*(\$ravenwood)?$"/> 69 <message key="name.invalidPattern" value="Method names should start with a lower case letter (e.g. getWidth())"/> 70</module> 71<module name="ParameterName"> 72 <property name="severity" value="error"/> 73</module> 74<module name="LocalFinalVariableName"> 75 <property name="severity" value="error"/> 76 <property name="format" value="^m|s|((([ms][a-z0-9])|([a-ln-rt-z]))[a-zA-Z0-9]*)$"/> 77 <message key="name.invalidPattern" value="Local variables should be camel-cased (e.g. int minWidth = 4)."/> 78</module> 79<module name="LocalVariableName"> 80 <property name="severity" value="error"/> 81 <property name="format" value="^m|s|((([ms][a-z0-9])|([a-ln-rt-z]))[a-zA-Z0-9]*)$"/> 82 <message key="name.invalidPattern" value="Local variables should be camel-cased (e.g. int minWidth = 4)."/> 83</module> 84<module name="LeftCurly"> 85 <property name="severity" value="error"/> 86</module> 87<module name="RightCurly"> 88 <property name="severity" value="error"/> 89</module> 90<module name="NeedBraces"> 91 <message key="needBraces" value="if, for, while, and do require curly braces unless they are single-line statements."/> 92 <property name="severity" value="error"/> 93 <property name="tokens" value="LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, LITERAL_IF"/> 94 <property name="allowSingleLineStatement" value="true"/> 95</module> 96<module name="EmptyBlock"> 97 <property name="severity" value="error"/> 98 <property name="option" value="text"/> 99 <metadata name="altname" value="EmptyCatchBlock"/> 100</module> 101<module name="UpperEll"> 102 <property name="severity" value="error"/> 103</module> 104<module name="FallThrough"> 105 <property name="severity" value="error"/> 106 <property name="reliefPattern" value=".*"/> 107</module> 108<module name="ModifierOrder"> 109 <property name="severity" value="error"/> 110</module> 111<module name="WhitespaceAround"> 112 <property name="severity" value="error"/> 113 <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" /> 114 <property name="allowEmptyConstructors" value="true"/> 115 <property name="allowEmptyLambdas" value="true"/> 116 <property name="allowEmptyMethods" value="true"/> 117</module> 118<module name="WhitespaceAfter"> 119 <property name="severity" value="error"/> 120 <property name="tokens" value="COMMA, SEMI, TYPECAST"/> 121</module> 122<module name="NoWhitespaceAfter"> 123 <property name="severity" value="error"/> 124 <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/> 125</module> 126<module name="NoWhitespaceBefore"> 127 <property name="severity" value="error"/> 128 <property name="allowLineBreaks" value="true"/> 129 <property name="tokens" value="SEMI, DOT, POST_DEC, POST_INC"/> 130</module> 131<module name="GenericWhitespace"> 132 <property name="severity" value="error"/> 133 <message key="ws.followed" 134 value="GenericWhitespace ''{0}'' is followed by whitespace."/> 135 <message key="ws.preceded" 136 value="GenericWhitespace ''{0}'' is preceded with whitespace."/> 137 <message key="ws.illegalFollow" 138 value="GenericWhitespace ''{0}'' should followed by whitespace."/> 139 <message key="ws.notPreceded" 140 value="GenericWhitespace ''{0}'' is not preceded with whitespace."/> 141</module> 142<module name="EmptyStatement"> 143 <property name="severity" value="error"/> 144</module> 145<module name="NoFinalizer"> 146 <property name="severity" value="info"/> 147</module> 148<module name="ParenPad"> 149 <property name="severity" value="error"/> 150</module> 151<module name="MethodParamPad"> 152 <property name="severity" value="error"/> 153</module> 154<module name="ImportOrder"> 155 <property name="severity" value="error"/> 156 <message key="import.ordering" value="Wrong order for {0} import. Use Ctrl+Shift+O (Eclipse) or Ctrl+Alt+O (Intellij) to sort imports. https://source.android.com/setup/code-style#order-import-statements"/> 157 <property name="groups" value="android, androidx, com.android, dalvik, com, dagger, de, gov, io, junit, junitparams, libcore, net, kotlin, kotlinx, org, perfetto, vendor, java, javax"/> 158 <property name="ordered" value="true"/> 159 <property name="option" value="top"/> 160 <property name="separated" value="true"/> 161 <property name="separatedStaticGroups" value="true"/> 162 <property name="staticGroups" value="android, androidx, com.android, dalvik, com, dagger, de, gov, io, junit, junitparams, libcore, net, kotlin, kotlinx, org, perfetto, java, javax"/> 163</module> 164<module name="Indentation"> 165 <property name="severity" value="error"/> 166 <property name="basicOffset" value="4"/> 167 <property name="throwsIndent" value="8"/> 168 <property name="lineWrappingIndentation" value="8"/> 169</module> 170<module name="OperatorWrap"> 171 <property name="severity" value="error"/> 172 <property name="option" value="NL" /> 173 <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR " /> 174</module> 175<module name="OperatorWrap"> 176 <property name="severity" value="error"/> 177 <property name="option" value="eol"/> 178 <property name="tokens" value="ASSIGN"/> 179</module> 180<module name="SeparatorWrap"> 181 <property name="severity" value="error"/> 182 <property name="tokens" value="DOT"/> 183 <property name="option" value="nl"/> 184</module> 185<module name="SeparatorWrap"> 186 <property name="severity" value="error"/> 187 <property name="tokens" value="COMMA"/> 188 <property name="option" value="EOL"/> 189</module> 190<module name="MissingDeprecated"> 191 <property name="severity" value="error"/> 192</module> 193<module name="MissingOverride"> 194 <property name="severity" value="error"/> 195</module> 196<module name="OneTopLevelClass"> 197 <property name="severity" value="error"/> 198</module> 199<module name="StringLiteralEquality"> 200 <property name="severity" value="error"/> 201</module> 202<module name="ArrayTypeStyle"> 203 <property name="severity" value="error"/> 204</module> 205<module name="RedundantModifier"> 206 <property name="severity" value="error"/> 207</module> 208<module name="OuterTypeFilename"> 209 <property name="severity" value="error"/> 210</module> 211<module name="SuppressionCommentFilter"> 212 <property name="offCommentFormat" value="CHECKSTYLE:OFF IndentationCheck"/> 213 <property name="onCommentFormat" value="CHECKSTYLE:ON IndentationCheck"/> 214 <property name="checkFormat" value="IndentationCheck"/> 215</module> 216<module name="SuppressionCommentFilter"> 217 <property name="offCommentFormat" value="CHECKSTYLE:OFF Generated code"/> 218 <property name="onCommentFormat" value="CHECKSTYLE:ON Generated code"/> 219</module> 220