<?xml version="1.0"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF 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.
-->

<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">

<!--

  Checkstyle configuration for Hive that is based on the sun_checks.xml file
  that is bundled with Checkstyle and includes checks for:

    - the Java Language Specification at
      http://java.sun.com/docs/books/jls/second_edition/html/index.html

    - the Sun Code Conventions at http://java.sun.com/docs/codeconv/

    - the Javadoc guidelines at
      http://java.sun.com/j2se/javadoc/writingdoccomments/index.html

    - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html

    - some best practices

  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.

  Finally, it is worth reading the documentation.

-->

<module name="Checker">

  <!-- setting the default severity to warning -->
  <property name="severity" value="warning"/>

  <!-- Checks that a package.html file exists for each package.     -->
  <module name="JavadocPackage"/>

  <!-- Checks whether files end with a new line.                        -->
  <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
  <module name="NewlineAtEndOfFile"/>

  <!-- Checks that property files contain the same keys.         -->
  <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
  <module name="Translation"/>

  <module name="Header">
    <property name="headerFile" value="${config_loc}/asf.header"/>
  </module>

  <!-- Maximum file line length -->
  <module name="FileLength">
    <property name="max" value="2000"/>
  </module>

  <!-- No TAB characters -->
  <module name="FileTabCharacter"/>

  <!-- Enable @SuppressWarnings processing -->
  <module name="SuppressWarningsFilter" />

  <!-- List of files to ignore -->
  <module name="SuppressionFilter">
    <property name="file" value="${config_loc}/suppressions.xml"/>
  </module>

  <!-- Ignore JavaCC/JJTree files -->
  <module name="SuppressWithNearbyCommentFilter">
    <property name="commentFormat"
              value=".*Generated By:(JJTree|JavaCC).*"/>
    <property name="checkFormat" value=".*"/>
    <property name="influenceFormat" value="100000"/>
  </module>

  <!-- Ignore generated vectorized files -->
  <module name="SuppressWithNearbyCommentFilter">
    <property name="commentFormat"
              value=".*Generated from template.*"/>
    <property name="checkFormat" value=".*"/>
    <property name="influenceFormat" value="100000"/>
  </module>

  <!-- Ignore Thrift files -->
  <module name="SuppressWithNearbyCommentFilter">
    <property name="commentFormat"
              value=".*Autogenerated by Thrift.*"/>
    <property name="checkFormat" value=".*"/>
    <property name="influenceFormat" value="100000"/>
  </module>

  <!-- Ignore Hadoop record compiler files -->
  <module name="SuppressWithNearbyCommentFilter">
    <property name="commentFormat"
              value="File generated by hadoop record compiler. Do not edit."/>
    <property name="checkFormat" value=".*"/>
    <property name="influenceFormat" value="100000"/>
  </module>

  <!-- honor on/off tags -->
  <module name="SuppressionCommentFilter">
    <property name="offCommentFormat" value="@formatter:off"/>
    <property name="onCommentFormat" value="@formatter:on"/>
  </module>
  
  <module name="TreeWalker">

    <!-- required for @SuppressWarnings -->
    <module name="SuppressWarningsHolder" />

    <!-- Required for SuppressWithNearbyCommentFilter -->
    <module name="FileContentsHolder"/>
    
    <!-- Checks for Javadoc comments.                     -->
    <!-- See http://checkstyle.sf.net/config_javadoc.html -->
    <module name="JavadocType">
      <property name="scope" value="public"/>
      <property name="allowMissingParamTags" value="true"/>
    </module>
    <module name="JavadocStyle"/>
    
    <!-- Checks for Naming Conventions.                  -->
    <!-- See http://checkstyle.sf.net/config_naming.html -->
    <module name="ConstantName"/>
    <module name="LocalFinalVariableName"/>
    <module name="LocalVariableName"/>
    <module name="MemberName"/>
    <module name="MethodName"/>
    <module name="PackageName"/>
    <module name="ParameterName"/>
    <module name="StaticVariableName"/>
    <module name="TypeName"/>

    <!-- Checks for imports                              -->
    <!-- See http://checkstyle.sf.net/config_import.html -->
    <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
    <module name="RedundantImport"/>
    <module name="UnusedImports"/>
    <module name="AvoidStarImport"/>

    <!-- Checks for Size Violations.                    -->
    <!-- See http://checkstyle.sf.net/config_sizes.html -->
    <module name="LineLength">
      <property name="max" value="120"/>
      <property name="ignorePattern" value="^ *\* *[^ ]+$"/>
    </module>
    <module name="MethodLength"/>
    <module name="ParameterNumber"/>
    
    
    <!-- Checks for whitespace                               -->
    <!-- See http://checkstyle.sf.net/config_whitespace.html -->
    <module name="EmptyForIteratorPad"/>
    <module name="MethodParamPad"/>
    <module name="NoWhitespaceAfter"/>
    <module name="NoWhitespaceBefore"/>
    <module name="ParenPad"/>
    <module name="TypecastParenPad"/>
    <module name="WhitespaceAfter">
      <property name="tokens" value="COMMA, SEMI"/>
    </module>
    
    
    <!-- Modifier Checks                                    -->
    <!-- See http://checkstyle.sf.net/config_modifiers.html -->
    <module name="ModifierOrder"/>
    <module name="RedundantModifier"/>
    
    
    <!-- Checks for blocks. You know, those {}'s         -->
    <!-- See http://checkstyle.sf.net/config_blocks.html -->
    <module name="AvoidNestedBlocks"/>
    <module name="EmptyBlock"/>
    <module name="LeftCurly"/>
    <module name="NeedBraces"/>
    <module name="RightCurly"/>
    
    
    <!-- Checks for common coding problems               -->
    <!-- See http://checkstyle.sf.net/config_coding.html -->
    <!-- module name="AvoidInlineConditionals"/-->
    <module name="EmptyStatement"/>
    <module name="EqualsAvoidNull"/>
    <module name="EqualsHashCode"/>
    <module name="HiddenField">
      <!-- Check local variables. Ignore parameters -->
      <property name="tokens" value="VARIABLE_DEF"/>
    </module>
    <module name="IllegalInstantiation"/>
    <module name="IllegalType">
      <property name="tokens" value="PARAMETER_DEF, METHOD_DEF, VARIABLE_DEF"/>
    </module>
    <module name="InnerAssignment"/>
    <module name="MissingSwitchDefault"/>
    <module name="MissingOverride"/>
    <module name="SimplifyBooleanExpression"/>
    <module name="SimplifyBooleanReturn"/>
    <module name="StringLiteralEquality"/>
    
    <!-- Checks for class design                         -->
    <!-- See http://checkstyle.sf.net/config_design.html -->
    <module name="FinalClass"/>
    <module name="HideUtilityClassConstructor"/>
    <module name="InterfaceIsType"/>
    <module name="VisibilityModifier">
      <property name="packageAllowed" value="true"/>
      <property name="protectedAllowed" value="true"/>
    </module>
    
    
    <!-- Miscellaneous other checks.                   -->
    <!-- See http://checkstyle.sf.net/config_misc.html -->
    <module name="ArrayTypeStyle"/>
    <module name="Indentation">
      <property name="basicOffset" value="2" />
      <property name="caseIndent" value="0" />
      <property name="throwsIndent" value="4" />
    </module>
    <module name="TodoComment"/>
    <module name="UpperEll"/>
    
  </module>
  
</module>
