2016-10-13 23:37:47 +03: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-11 11:13:47 +09:00
<module name= "Header" >
<property name= "headerFile" value= "${checkstyle.header.file}" />
<property name= "fileExtensions" value= "java" />
</module>
2017-06-07 11:54:25 -05: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 23:37:47 +03:00
<module name= "NewlineAtEndOfFile" />
2017-02-28 23:52:53 -08:00
<module name= "FileTabCharacter" />
2016-10-13 23:37:47 +03:00
<module name= "TreeWalker" >
2017-06-07 11:54:25 -05:00
<module name= "FileContentsHolder" />
2017-10-13 23:56:19 +09:00
<module name= "RedundantModifier" >
<property name= "tokens" value= "INTERFACE_DEF,ENUM_DEF,METHOD_DEF" />
</module>
2016-10-13 23:37:47 +03: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 11:34:36 -07:00
<module name= "AvoidStaticImport" />
2016-10-13 23:37:47 +03:00
<module name= "RedundantImport" />
2016-11-05 11:34:36 -07:00
<module name= "UnusedImports" />
2016-10-13 23:37:47 +03:00
<module name= "NeedBraces" />
2017-07-21 18:26:59 +03: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 20:18:25 +03: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" />
2018-01-22 20:48:51 +01:00
<property name= "ignoreEnhancedForColon" value= "false" />
2017-08-05 20:18:25 +03:00
</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>
2018-04-23 22:39:14 +03:00
<module name= "GenericWhitespace" />
2017-08-05 20:18:25 +03:00
2017-09-21 15:06:48 -05:00
<module name= "Indentation" >
<property name= "basicOffset" value= "2" />
<property name= "caseIndent" value= "2" />
</module>
2018-01-18 20:29:23 +01:00
<module name= "MethodParamPad" >
<property name= "allowLineBreaks" value= "true" />
</module>
<module name= "OneStatementPerLine" />
<module name= "EmptyStatement" />
2018-01-11 09:50:42 +01:00
<module name= "ModifierOrder" />
2017-04-09 17:38:45 -07:00
<module name= "Regexp" >
<property name= "format" value= "com\.google\.common\.io\.Closer" />
<property name= "illegalPattern" value= "true" />
2017-06-07 11:54:25 -05:00
<property name= "message" value= "Use io.druid.java.util.common.io.Closer instead of Guava's Closer" />
2017-04-09 17:38:45 -07:00
</module>
2017-04-28 04:11:25 +03:00
<module name= "Regexp" >
<property name= "format" value= "^// {2}" />
<property name= "illegalPattern" value= "true" />
2017-06-07 11:54:25 -05:00
<property name= "message" value= "Don't commit IntelliJ-style commented code lines" />
2017-04-28 04:11:25 +03:00
</module>
2017-05-04 21:14:41 +03: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 11:54:25 -05: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 21:14:41 +03:00
</module>
2017-08-09 17:20:00 -07: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 10:54:06 -05: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 10:10:13 -05: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 20:15:32 +01: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>
2018-02-07 22:24:30 +01:00
<module name= "Regexp" >
<!-- Couldn't check this in forbidden - apis, because javac replaces compile - time constants without refs. -->
<property name= "format" value= "(Shorts|Chars|Ints|Longs|Floats|Doubles)\.BYTES" />
<property name= "illegalPattern" value= "true" />
<property name= "message" value= "Use java.lang.Primitive.BYTES instead." />
</module>
2016-10-13 23:37:47 +03:00
</module>
</module>