<?xml version="1.0"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
  <!--
/**
 * 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.
 */


  ON MVN COMPILE NOT WORKING

  If you wondering why 'mvn compile' does not work building HBase
  (in particular, if you are doing it for the first time), instead do
  'mvn package'.  If you are interested in the full story, see
  https://issues.apache.org/jira/browse/HBASE-6795.

-->
<module name="Checker">
  <module name="FileTabCharacter"/>
  <module name="TreeWalker">

    <!-- Annotations Checks
    http://checkstyle.sourceforge.net/config_annotation.html -->
    <module name="MissingDeprecated"/>

    <!-- Block Checks
    http://checkstyle.sourceforge.net/config_blocks.html -->
    <module name="EmptyBlock"/>
    <module name="LeftCurly"/>
    <module name="NeedBraces"/>

    <!-- Class Design Checks
    http://checkstyle.sourceforge.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>

    <!-- Coding Checks
    http://checkstyle.sourceforge.net/config_coding.html -->
    <module name="ArrayTypeStyle"/>
    <module name="EmptyStatement"/>
    <module name="EqualsHashCode"/>
    <module name="IllegalInstantiation"/>
    <module name="InnerAssignment"/>
    <module name="MissingSwitchDefault"/>
    <module name="NoFinalizer"/>

    <!-- Import Checks
    http://checkstyle.sourceforge.net/config_imports.html -->
    <module name="AvoidStarImport"/>
    <module name="ImportOrder">
      <property name="option" value="top" />
      <property name="ordered" value="true"/>
      <property name="sortStaticImportsAlphabetically" value="true"/>
    </module>
    <module name="RedundantImport"/>
    <module name="UnusedImports">
      <property name="processJavadoc" value="true"/>
    </module>

    <!-- Javadoc Checks
    http://checkstyle.sourceforge.net/config_javadoc.html -->
    <module name="JavadocTagContinuationIndentation">
      <property name="offset" value="2"/>
    </module>
    <module name="NonEmptyAtclauseDescription"/>

    <!-- Miscellaneous Checks
    http://checkstyle.sourceforge.net/config_misc.html -->
    <module name="UpperEll"/>
    <module name="Indentation">
      <property name="basicOffset" value="2"/>
      <property name="caseIndent" value="2"/>
      <property name="throwsIndent" value="2"/>
      <property name="arrayInitIndent" value="2"/>
      <property name="lineWrappingIndentation" value="2"/>
    </module>

    <!-- Size Violation Checks
    http://checkstyle.sourceforge.net/config_sizes.html -->
    <module name="LineLength">
      <property name="max" value="100"/>
      <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://|org.apache.thrift.|com.google.protobuf.|hbase.protobuf.generated"/>
    </module>
    <module name="MethodLength"/>

    <!-- Whitespace Checks
    http://checkstyle.sourceforge.net/config_whitespace.html -->
    <module name="MethodParamPad"/>
    <module name="ParenPad"/>
  </module>
</module>
