<?xml version="1.0"?>
<!--
  ~ Copyright 2014-present Open Networking Laboratory
  ~
  ~ Licensed 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.3//EN"
        "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">


<!--

  Checkstyle configuration that checks the sun coding conventions from:

    - 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.

-->


<!--
   The default severity setting in checkstyle is 'error', so some
   of the rules below are configured to change the severity to
   'warning'.  Over time, these 'warning' settings should be
   removed as more of the ONOS source code is modified to
   follow the recommended rules.
-->


<module name="Checker">
    <!--
        If you set the basedir property below, then all reported file
        names will be relative to the specified directory. See
        http://checkstyle.sourceforge.net/5.x/config.html#Checker

        <property name="basedir" value="${basedir}"/>
    -->
    <!-- Checks that a package-info.java file exists for each package.     -->
    <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage -->
    <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"/>

    <!-- Checks for Size Violations.                    -->
    <!-- See http://checkstyle.sf.net/config_sizes.html -->
    <module name="FileLength"/>

    <!-- Checks for whitespace                               -->
    <!-- See http://checkstyle.sf.net/config_whitespace.html -->
    <module name="FileTabCharacter"/>

    <!-- Miscellaneous other checks.                   -->
    <!-- See http://checkstyle.sf.net/config_misc.html -->
    <module name="RegexpSingleline">
        <property name="format" value="\s+$"/>
        <property name="minimum" value="0"/>
        <property name="maximum" value="0"/>
        <property name="message" value="Line has trailing spaces."/>
    </module>

    <module name="RegexpMultiline">
        <property name="format" value="\r\n"/>
        <property name="maximum" value="0"/>
        <property name="message" value="Line has windows line endings."/>
    </module>

    <!-- Checks for Headers                                -->
    <!-- See http://checkstyle.sf.net/config_header.html   -->
    <!-- <module name="Header"> -->
    <!--   <property name="headerFile" value="${checkstyle.header.file}"/> -->
    <!--   <property name="fileExtensions" value="java"/> -->
    <!-- </module> -->

    <module name="RegexpHeader">
        <property name="headerFile" value="tools/build/conf/src/main/resources/onos/onos-java.header"/>
        <property name="fileExtensions" value="java"/>
    </module>


    <module name="SuppressionCommentFilter">
        <property name="offCommentFormat"
                  value="(CHECKSTYLE\:OFF|Generated by the protocol buffer compiler.)"/>
        <property name="onCommentFormat" value="CHECKSTYLE:ON"/>
    </module>

    <module name="SuppressWithNearbyCommentFilter">
        <property name="commentFormat" value="CHECKSTYLE IGNORE THIS LINE"/>
        <property name="checkFormat" value=".*"/>
        <property name="influenceFormat" value="0"/>
    </module>

    <!-- Example: // CHECKSTYLE IGNORE FinalClass FOR NEXT 1 LINES  -->
    <module name="SuppressWithNearbyCommentFilter">
        <property name="commentFormat"
                  value="CHECKSTYLE IGNORE (\w+) FOR NEXT (\d+) LINES"/>
        <property name="checkFormat" value="$1"/>
        <property name="influenceFormat" value="$2"/>
    </module>

    <module name="TreeWalker">

        <module name="FileContentsHolder"/>
        <!-- Checks for Javadoc comments.                     -->
        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
        <module name="JavadocMethod">
            <property name="scope" value="package"/>
            <property name="allowMissingJavadoc" value="true"/>
            <property name="allowUndeclaredRTE" value="true"/>
            <property name="suppressLoadErrors" value="true"/>
        </module>
        <module name="JavadocType">
            <property name="severity" value="warning"/>
        </module>
        <module name="JavadocVariable">
            <!-- Suppress check for private member Javadocs.
             Possibly revist fixing these. -->
            <property name="scope" value="public"/>
            <property name="severity" value="warning"/>
        </module>
        <module name="JavadocStyle"/>
        <!-- @author tag should not be used -->
        <module name="WriteTag">
            <property name="tag" value="@author"/>
            <property name="tagFormat" value="\S"/>
            <property name="severity" value="ignore"/>
            <property name="tagSeverity" value="error"/>
        </module>

        <module name="AbbreviationAsWordInName">
            <property name="allowedAbbreviationLength" value="2"/>
        </module>

        <!-- Checks for Naming Conventions.                  -->
        <!-- See http://checkstyle.sf.net/config_naming.html -->
        <module name="ConstantName">
            <!--  ONOS allows the name "log" for static final Loggers -->
            <property name="format"
                      value="^log$|^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
        </module>
        <module name="LocalFinalVariableName"/>

        <module name="LocalVariableName"/>

        <module name="MemberName"/>
        <module name="MethodName"/>
        <module name="PackageName">
            <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
        </module>
        <module name="ParameterName"/>
        <module name="StaticVariableName"/>
        <module name="TypeName"/>

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


        <!-- Checks for Size Violations.                    -->
        <!-- See http://checkstyle.sf.net/config_sizes.html -->
        <module name="LineLength">
            <!-- ONOS standard usage is 80 columns, but we allow up
             to 120 to not break the build. -->
            <property name="max" value="120"/>
            <property name="ignorePattern" value="^import"/>
        </module>
        <module name="MethodLength">
            <property name="max" value="200"/>
        </module>

        <module name="ParameterNumber">
            <property name="max" value="15"/>
            <property name="tokens" value="CTOR_DEF"/>
        </module>
        <!-- Checks for whitespace                               -->
        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
        <module name="EmptyForIteratorPad"/>
        <module name="GenericWhitespace"/>
        <module name="MethodParamPad"/>
        <module name="NoWhitespaceAfter"/>
        <module name="NoWhitespaceBefore"/>

        <!-- Disabled for ONOS.  Default rules specify undesired behavior for the '?' operator -->
        <!-- <module name="OperatorWrap"/> -->
        <module name="ParenPad"/>
        <module name="TypecastParenPad"/>
        <module name="WhitespaceAfter"/>
        <module name="WhitespaceAround">
            <property name="allowEmptyConstructors" value="true"/>
            <property name="allowEmptyMethods" value="true"/>
        </module>


        <!-- Modifier Checks                                    -->
        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
        <module name="ModifierOrder"/>

        <!--  Disabled for ONOS to allow use of public          -->
        <!--  modifiers in interfaces.                          -->
        <!-- <module name="RedundantModifier"/>                 -->


        <!-- Checks for blocks. You know, those {}'s         -->
        <!-- See http://checkstyle.sf.net/config_blocks.html -->
        <module name="AvoidNestedBlocks">
            <!-- ONOS alows declarations inside of switch case blocks -->
            <property name="allowInSwitchCase" value="true"/>
        </module>
        <module name="EmptyBlock">
            <!-- allow empty block, as long as there's some comment -->
            <property name="option" value="text"/>
        </module>
        <module name="LeftCurly"/>
        <module name="NeedBraces"/>
        <module name="RightCurly"/>

        <!-- Checks for common coding problems               -->
        <!-- See http://checkstyle.sf.net/config_coding.html -->
        <!-- ONOS allows conditional operators -->
        <!-- <module name="AvoidInlineConditionals"/> -->
        <module name="EmptyStatement"/>
        <module name="EqualsHashCode"/>

        <module name="HiddenField">
            <property name="ignoreSetter" value="true"/>
            <property name="ignoreConstructorParameter" value="true"/>
        </module>

        <module name="IllegalInstantiation"/>
        <module name="InnerAssignment"/>

        <!-- Many violations of this rule present, revist in a
        subsequent round of cleanups -->
        <!-- <module name="MagicNumber"/> -->
        <module name="MissingSwitchDefault"/>

        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>

        <!-- Checks for class design                         -->
        <!-- See http://checkstyle.sf.net/config_design.html -->
        <!-- ONOS produces many warnings of this type.
        Fixing all of these is outside the scope of the current cleanup. -->
        <!-- <module name="DesignForExtension"/> -->
        <module name="FinalClass"/>

        <module name="HideUtilityClassConstructor"/>

        <module name="InterfaceIsType"/>

        <module name="VisibilityModifier">
            <property name="severity" value="warning"/>
        </module>


        <!-- Miscellaneous other checks.                   -->
        <!-- See http://checkstyle.sf.net/config_misc.html -->
        <module name="ArrayTypeStyle"/>

        <!--  Many violations of this rule currently, too many to fix
        in the current cleanup. -->
        <!-- <module name="FinalParameters"/> -->
        <!-- ONOS allows TODO markers in checked in source code -->
        <!-- <module name="TodoComment"/> -->
        <module name="UpperEll"/>
    </module>

</module>
