<?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="checkstyle/asf.header"/>
  </module>

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

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

  <!-- List of files to ignore -->
  <module name="SuppressionFilter">
    <property name="file" value="checkstyle/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 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>
  
  <module name="TreeWalker">

    <!-- 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="100"/>
      <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="RedundantThrows"/>
    <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"/>
    
    
    <!-- Miscellaneous other checks.                   -->
    <!-- See http://checkstyle.sf.net/config_misc.html -->
    <module name="ArrayTypeStyle"/>

    <!-- We like to indent "throws" clauses by 4 spaces -->
    <!-- which is a nuance that Checkstyle does not     -->
    <!-- support. Disabling Indentation check until we  -->
    <!-- can figure out something else.                 -->
    <!--
    <module name="Indentation">
      <property name="basicOffset" value="2" />
      <property name="caseIndent" value="0" />
    </module>
    -->
    <module name="TodoComment"/>
    <module name="UpperEll"/>
    
  </module>
  
</module>
