2016-10-13 16:37:47 -04:00
<?xml version="1.0" ?>
< !DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.2//EN"
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<!--
~ Licensed to Metamarkets Group Inc. (Metamarkets) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. Metamarkets licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<module name= "Checker" >
2017-01-10 21:13:47 -05:00
<module name= "Header" >
<property name= "headerFile" value= "${checkstyle.header.file}" />
<property name= "fileExtensions" value= "java" />
</module>
2017-06-07 12:54:25 -04:00
<module name= "SuppressionCommentFilter" >
<property name= "offCommentFormat" value= "CHECKSTYLE.OFF\: ([\w\|]+)" />
<property name= "onCommentFormat" value= "CHECKSTYLE.ON\: ([\w\|]+)" />
<property name= "checkFormat" value= "$1" />
</module>
2016-10-13 16:37:47 -04:00
<module name= "NewlineAtEndOfFile" />
2017-03-01 02:52:53 -05:00
<module name= "FileTabCharacter" />
2016-10-13 16:37:47 -04:00
<module name= "TreeWalker" >
2017-06-07 12:54:25 -04:00
<module name= "FileContentsHolder" />
2017-10-13 10:56:19 -04:00
<module name= "RedundantModifier" >
<property name= "tokens" value= "INTERFACE_DEF,ENUM_DEF,METHOD_DEF" />
</module>
2016-10-13 16:37:47 -04:00
<!-- See http://checkstyle.sourceforge.net/checks.html for examples -->
<!-- <module name="LineLength"> -->
<!-- <property name="max" value="120"/> -->
<!-- </module> -->
<module name= "AvoidStarImport" />
2016-11-05 14:34:36 -04:00
<module name= "AvoidStaticImport" />
2016-10-13 16:37:47 -04:00
<module name= "RedundantImport" />
2016-11-05 14:34:36 -04:00
<module name= "UnusedImports" />
2016-10-13 16:37:47 -04:00
<module name= "NeedBraces" />
2017-07-21 11:26:59 -04:00
<module name= "LeftCurly" >
<property name= "option" value= "nl" />
<property name= "tokens" value= "INTERFACE_DEF,CLASS_DEF,ANNOTATION_DEF,ENUM_DEF,CTOR_DEF,METHOD_DEF" />
</module>
<module name= "LeftCurly" >
<property name= "option" value= "eol" />
<property name= "tokens" value= "LITERAL_WHILE,LITERAL_TRY,LITERAL_CATCH,LITERAL_FINALLY,LITERAL_SYNCHRONIZED,LITERAL_SWITCH,LITERAL_DO,LITERAL_IF,LITERAL_ELSE,LITERAL_FOR,STATIC_INIT,LAMBDA,ENUM_CONSTANT_DEF" />
</module>
<module name= "RightCurly" >
<property name= "option" value= "same" />
<property name= "tokens" value= "LITERAL_IF,LITERAL_ELSE,LITERAL_DO" />
</module>
<module name= "RightCurly" >
<property name= "option" value= "alone" />
<property name= "tokens" value= "LITERAL_TRY,LITERAL_CATCH,LITERAL_FINALLY,CLASS_DEF,METHOD_DEF,CTOR_DEF,LITERAL_FOR,LITERAL_WHILE,STATIC_INIT,INSTANCE_INIT" />
</module>
2017-08-05 13:18:25 -04:00
<module name= "WhitespaceAfter" />
<module name= "WhitespaceAround" >
<property name= "allowEmptyConstructors" value= "true" />
<property name= "allowEmptyMethods" value= "true" />
<property name= "allowEmptyLambdas" value= "true" />
<property name= "allowEmptyTypes" value= "true" />
</module>
<module name= "ParenPad" />
<module name= "SingleSpaceSeparator" />
<module name= "NoWhitespaceBefore" >
<property name= "tokens" value= "COMMA,SEMI,POST_INC,POST_DEC,ELLIPSIS,METHOD_REF" />
</module>
<module name= "NoWhitespaceBefore" >
<property name= "tokens" value= "DOT" />
<property name= "allowLineBreaks" value= "true" />
</module>
<module name= "NoWhitespaceAfter" />
<module name= "NoWhitespaceAfter" >
<property name= "tokens" value= "DOT" />
<property name= "allowLineBreaks" value= "false" />
</module>
2017-09-21 16:06:48 -04:00
<module name= "Indentation" >
<property name= "basicOffset" value= "2" />
<property name= "caseIndent" value= "2" />
</module>
2017-04-09 20:38:45 -04:00
<module name= "Regexp" >
<property name= "format" value= "com\.google\.common\.io\.Closer" />
<property name= "illegalPattern" value= "true" />
2017-06-07 12:54:25 -04:00
<property name= "message" value= "Use io.druid.java.util.common.io.Closer instead of Guava's Closer" />
2017-04-09 20:38:45 -04:00
</module>
2017-04-27 21:11:25 -04:00
<module name= "Regexp" >
<property name= "format" value= "^// {2}" />
<property name= "illegalPattern" value= "true" />
2017-06-07 12:54:25 -04:00
<property name= "message" value= "Don't commit IntelliJ-style commented code lines" />
2017-04-27 21:11:25 -04:00
</module>
2017-05-04 14:14:41 -04:00
<module name= "Regexp" >
<property name= "format" value= "/\*[^\*].*?\n(\s*\*.*?\n)*\s+\*/[\s\n]*(transient|volatile|strictfp|synchronized|native|abstract|class|interface|enum|static|private|public|protected|default|void|byte|char|short|int|float|long|double|[A-Z])" />
<property name= "illegalPattern" value= "true" />
2017-06-07 12:54:25 -04:00
<property name= "message" value= "Comments to classes and methods must be Javadoc comments" />
</module>
<module name= "Regexp" >
<property name= "format" value= "natural\(\)[\s\n]*\.[\s\n]*nullsFirst\(\)" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use Comparators.naturalNullsFirst() instead of Ordering.natural().nullsFirst()" />
2017-05-04 14:14:41 -04:00
</module>
2017-08-09 20:20:00 -04:00
<module name= "Regexp" >
<property name= "format" value= "Enums\.getIfPresent\(" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use GuavaUtils.getEnumIfPresent() instead of Enums.getIfPresent()" />
</module>
2017-07-05 11:54:06 -04:00
<module name= "Regexp" >
<property name= "format" value= "(Byte|Character|Short|Integer|Long|Float|Double)\.TYPE" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use primitive.class instead. But check twice that you don't actually need BoxedPrimitive.class instead of BoxedPrimitive.TYPE" />
</module>
2017-07-07 11:10:13 -04:00
<module name= "Regexp" >
<property name= "format" value= "Float\.MAX_VALUE" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use Float.POSITIVE_INFINITY" />
</module>
<module name= "Regexp" >
<property name= "format" value= "Float\.MIN_VALUE" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use Float.NEGATIVE_INFINITY" />
</module>
<module name= "Regexp" >
<property name= "format" value= "Double\.MAX_VALUE" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use Double.POSITIVE_INFINITY" />
</module>
<module name= "Regexp" >
<property name= "format" value= "Double\.MIN_VALUE" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use Double.NEGATIVE_INFINITY" />
</module>
2017-07-13 15:15:32 -04:00
<module name= "Regexp" >
<property name= "format" value= "com\.metamx\.common\.logger" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use io.druid.java.util.common.logger.Logger instead" />
</module>
2016-10-13 16:37:47 -04:00
</module>
</module>