Created
February 22, 2016 20:53
-
-
Save emrekgn/ac4cdbbea987ac585e3c to your computer and use it in GitHub Desktop.
Checkstyle configuration for Google coding conventions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<!DOCTYPE module PUBLIC | |
"-//Puppy Crawl//DTD Check Configuration 1.3//EN" | |
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> | |
<!-- | |
Source = https://github.com/checkstyle/checkstyle/tree/master/src/main/resources | |
Checkstyle configurartion that checks the Google coding conventions from: | |
- Google Java Style | |
https://google-styleguide.googlecode.com/svn-history/r130/trunk/javaguide.html | |
Checkstyle is very configurable. Be sure to read the documentation at | |
http://checkstyle.sf.net (or in your downloaded distribution). | |
Most Checks are configurable, be sure to consult the documentation. | |
To completely disable a check, just comment it out or delete it from the file. | |
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov. | |
--> | |
<module name="Checker"> | |
<property name="charset" value="UTF-8"/> | |
<property name="severity" value="warning"/> | |
<!-- Checks for whitespace --> | |
<!-- See http://checkstyle.sf.net/config_whitespace.html --> | |
<module name="FileTabCharacter"> | |
<property name="eachLine" value="true"/> | |
</module> | |
<module name="TreeWalker"> | |
<module name="OuterTypeFilename"/> | |
<module name="IllegalTokenText"> | |
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/> | |
<property name="format" | |
value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/> | |
<property name="message" value="Avoid using corresponding octal or Unicode escape."/> | |
</module> | |
<module name="AvoidEscapedUnicodeCharacters"> | |
<property name="allowEscapesForControlCharacters" value="true"/> | |
<property name="allowByTailComment" value="true"/> | |
<property name="allowNonPrintableEscapes" value="true"/> | |
</module> | |
<module name="LineLength"> | |
<property name="max" value="100"/> | |
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/> | |
</module> | |
<module name="AvoidStarImport"/> | |
<module name="OneTopLevelClass"/> | |
<module name="NoLineWrap"/> | |
<module name="EmptyBlock"> | |
<property name="option" value="TEXT"/> | |
<property name="tokens" | |
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/> | |
</module> | |
<module name="NeedBraces"/> | |
<module name="LeftCurly"> | |
<property name="maxLineLength" value="100"/> | |
</module> | |
<module name="RightCurly"/> | |
<module name="RightCurly"> | |
<property name="option" value="alone"/> | |
<property name="tokens" | |
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/> | |
</module> | |
<module name="WhitespaceAround"> | |
<property name="allowEmptyConstructors" value="true"/> | |
<property name="allowEmptyMethods" value="true"/> | |
<property name="allowEmptyTypes" value="true"/> | |
<property name="allowEmptyLoops" value="true"/> | |
<message key="ws.notFollowed" | |
value="WhitespaceAround: ''{0}'' is not followed by whitespace."/> | |
<message key="ws.notPreceded" | |
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/> | |
</module> | |
<module name="OneStatementPerLine"/> | |
<module name="MultipleVariableDeclarations"/> | |
<module name="ArrayTypeStyle"/> | |
<module name="MissingSwitchDefault"/> | |
<module name="FallThrough"/> | |
<module name="UpperEll"/> | |
<module name="ModifierOrder"/> | |
<module name="EmptyLineSeparator"> | |
<property name="allowNoEmptyLineBetweenFields" value="true"/> | |
</module> | |
<module name="SeparatorWrap"> | |
<property name="tokens" value="DOT"/> | |
<property name="option" value="nl"/> | |
</module> | |
<module name="SeparatorWrap"> | |
<property name="tokens" value="COMMA"/> | |
<property name="option" value="EOL"/> | |
</module> | |
<module name="PackageName"> | |
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/> | |
<message key="name.invalidPattern" | |
value="Package name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="TypeName"> | |
<message key="name.invalidPattern" | |
value="Type name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="MemberName"> | |
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/> | |
<message key="name.invalidPattern" | |
value="Member name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="ParameterName"> | |
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/> | |
<message key="name.invalidPattern" | |
value="Parameter name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="LocalVariableName"> | |
<property name="tokens" value="VARIABLE_DEF"/> | |
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/> | |
<property name="allowOneCharVarInForLoop" value="true"/> | |
<message key="name.invalidPattern" | |
value="Local variable name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="ClassTypeParameterName"> | |
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/> | |
<message key="name.invalidPattern" | |
value="Class type name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="MethodTypeParameterName"> | |
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/> | |
<message key="name.invalidPattern" | |
value="Method type name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="NoFinalizer"/> | |
<module name="GenericWhitespace"> | |
<message key="ws.followed" | |
value="GenericWhitespace ''{0}'' is followed by whitespace."/> | |
<message key="ws.preceded" | |
value="GenericWhitespace ''{0}'' is preceded with whitespace."/> | |
<message key="ws.illegalFollow" | |
value="GenericWhitespace ''{0}'' should followed by whitespace."/> | |
<message key="ws.notPreceded" | |
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/> | |
</module> | |
<module name="Indentation"> | |
<property name="basicOffset" value="2"/> | |
<property name="braceAdjustment" value="0"/> | |
<property name="caseIndent" value="2"/> | |
<property name="throwsIndent" value="4"/> | |
<property name="lineWrappingIndentation" value="4"/> | |
<property name="arrayInitIndent" value="2"/> | |
</module> | |
<module name="AbbreviationAsWordInName"> | |
<property name="ignoreFinal" value="false"/> | |
<property name="allowedAbbreviationLength" value="1"/> | |
</module> | |
<module name="OverloadMethodsDeclarationOrder"/> | |
<module name="VariableDeclarationUsageDistance"/> | |
<module name="CustomImportOrder"> | |
<property name="thirdPartyPackageRegExp" value=".*"/> | |
<property name="specialImportsRegExp" value="com.google"/> | |
<property name="sortImportsInGroupAlphabetically" value="true"/> | |
<property name="customImportOrderRules" | |
value="STATIC###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE"/> | |
</module> | |
<module name="MethodParamPad"/> | |
<module name="OperatorWrap"> | |
<property name="option" value="NL"/> | |
<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 "/> | |
</module> | |
<module name="AnnotationLocation"> | |
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/> | |
</module> | |
<module name="AnnotationLocation"> | |
<property name="tokens" value="VARIABLE_DEF"/> | |
<property name="allowSamelineMultipleAnnotations" value="true"/> | |
</module> | |
<module name="NonEmptyAtclauseDescription"/> | |
<module name="JavadocTagContinuationIndentation"/> | |
<module name="SummaryJavadocCheck"> | |
<property name="forbiddenSummaryFragments" | |
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/> | |
</module> | |
<module name="JavadocParagraph"/> | |
<module name="AtclauseOrder"> | |
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/> | |
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/> | |
</module> | |
<module name="JavadocMethod"> | |
<property name="scope" value="public"/> | |
<property name="allowMissingParamTags" value="true"/> | |
<property name="allowMissingThrowsTags" value="true"/> | |
<property name="allowMissingReturnTag" value="true"/> | |
<property name="minLineCount" value="2"/> | |
<property name="allowedAnnotations" value="Override, Test"/> | |
<property name="allowThrowsTagsForSubclasses" value="true"/> | |
</module> | |
<module name="MethodName"> | |
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/> | |
<message key="name.invalidPattern" | |
value="Method name ''{0}'' must match pattern ''{1}''."/> | |
</module> | |
<module name="SingleLineJavadoc"/> | |
</module> | |
</module> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment