Revision cc7df0394f096a03952acb9a39fb5333b0102df1 authored by Denis Yuen on 26 October 2017, 20:56:38 UTC, committed by Denis Yuen on 26 October 2017, 20:56:38 UTC
1 parent 5ecab3a
Raw File
checkstyle.xml
<?xml version="1.0"?>
<!--
  ~    Copyright 2017 OICR
  ~
  ~    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.

-->

<module name="Checker">


    <module name="TreeWalker">
        <module name="SuppressWarningsHolder"/>
        <!--

     SUPPRESSION FILTERS

 -->

        <!-- Toggle Checkstyle on/off

            // @Checkstyle:off
            ... ignored
            // @Checkstyle:on

        -->
        <module name="SuppressionCommentFilter">
            <property name="offCommentFormat" value="@Checkstyle:off"/>
            <property name="onCommentFormat" value="@Checkstyle:on"/>
        </module>

        <!--  Instruct Checkstyle to ignore a specific check for a whole file

            // @Checkstyle:ignore AvoidNestedBlocks

        -->
        <module name="SuppressWithNearbyCommentFilter">
            <property name="commentFormat" value="@Checkstyle:ignore ([\w\|]+)"/>
            <property name="checkFormat" value="$1"/>
            <property name="influenceFormat" value="1000000"/>
        </module>

        <!--  Instruct Checkstyle to ignore next line

            // @Checkstyle:ignore
            ... ignored
            ... checked

        -->
        <module name="SuppressWithNearbyCommentFilter">
            <property name="commentFormat" value="@Checkstyle:ignore"/>
            <property name="influenceFormat" value="1"/>
        </module>

        <!--  Instruct Checkstyle to ignore next N lines (-ve means previous lines)

            // @Checkstyle:ignoreFor 2
            ... ignored
            ... ignored
            ... checked

        -->
        <module name="SuppressWithNearbyCommentFilter">
            <property name="commentFormat" value="@Checkstyle:ignoreFor (\d+)"/>
            <property name="influenceFormat" value="$1"/>
        </module>
    </module>

    <module name="SuppressWarningsFilter"/>

    <!--
        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="severity" value="ignore"/>
        <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="TreeWalker">
        <property name="tabWidth" value="4"/>

        <!-- Checks identation.                               -->
        <module name="Indentation">
            <property name="caseIndent" value="0"/>
        </module>
        <module name="OuterTypeFilename"/>

        <!-- Checks for Javadoc comments.                     -->
        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
        <module name="JavadocMethod">
            <property name="severity" value="ignore"/>
            <property name="logLoadErrors" value="true"/>
            <property name="suppressLoadErrors" value="true"/>
        </module>
        <!--
            <module name="JavadocType"/>
            <module name="JavadocVariable"/>
            <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 Headers                                -->
        <!-- See http://checkstyle.sf.net/config_header.html   -->
        <!-- <module name="Header">                            -->
        <!-- The follow property value demonstrates the ability     -->
        <!-- to have access to ANT properties. In this case it uses -->
        <!-- the ${basedir} property to allow Checkstyle to be run  -->
        <!-- from any directory within a project. See property      -->
        <!-- expansion,                                             -->
        <!-- http://checkstyle.sf.net/config.html#properties        -->
        <!-- <property                                              -->
        <!--     name="headerFile"                                  -->
        <!--     value="${basedir}/java.header"/>                   -->
        <!-- </module> -->

        <!-- Following interprets the header file as regular expressions. -->
        <!-- <module name="RegexpHeader"/>                                -->


        <!-- Checks for imports                              -->
        <!-- See http://checkstyle.sf.net/config_import.html -->
        <module name="AvoidStarImport"/>
        <!-- ban new references to old commons lang and configuration -->
        <module name="IllegalImport">
            <property name="illegalPkgs" value="sun, org.apache.commons.lang, org.apache.commons.configuration"/>
        </module>
        <module name="RedundantImport"/>
        <module name="UnusedImports"/>

        <!-- Checks for Size Violations.                    -->
        <!-- Turn this on after String contants are cleaned -->
        <!-- See http://checkstyle.sf.net/config_sizes.html -->
        <module name="LineLength">
            <property name="max" value="140"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="MethodLength">
            <property name="max" value="150"/>
        </module>
        <module name="ParameterNumber"/>

        <!-- Checks for whitespace                               -->
        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
        <!--
        <module name="EmptyForIteratorPad">
            <property name="option" value="nospace"/>
        </module>
        -->

        <!-- Annotation violations -->
        <module name="AnnotationLocation">
            <property name="allowSamelineMultipleAnnotations" value="false"/>
            <property name="allowSamelineSingleParameterlessAnnotation" value="false"/>
            <property name="allowSamelineParameterizedAnnotation" value="false"/>
        </module>

        <module name="MissingDeprecated">
            <property name="skipNoJavadoc" value="true"/>
        </module>

        <module name="MissingOverride"/>
        <module name="PackageAnnotation"/>
        <module name="EmptyStatement"/>

        <module name="MethodParamPad"/>
        <module name="NoWhitespaceAfter">
            <property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
        </module>
        <module name="NoWhitespaceBefore"/>
        <module name="OperatorWrap"/>
        <module name="ParenPad"/>
        <module name="TypecastParenPad"/>

        <module name="WhitespaceAfter">
            <property name="tokens" value="COMMA, SEMI"/>
        </module>

        <module name="WhitespaceAround"/>
        <module name="GenericWhitespace"/>

        <!-- 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="EmptyCatchBlock">
            <property name="commentFormat" value="This is expected"/>
        </module>
        <module name="LeftCurly"/>
        <module name="NeedBraces"/>
        <module name="RightCurly"/>

        <!-- Checks for common coding problems               -->
        <!-- See http://checkstyle.sf.net/config_coding.html -->
        <module name="CovariantEquals"/>
        <module name="DeclarationOrder"/>
        <module name="EmptyStatement"/>
        <module name="EqualsAvoidNull"/>
        <module name="EqualsHashCode"/>
        <module name="HiddenField">
            <property name="ignoreConstructorParameter" value="true"/>
            <property name="ignoreSetter" value="true"/>
        </module>
        <module name="IllegalInstantiation"/>
        <module name="IllegalType"/>
        <module name="OneStatementPerLine"/>
        <module name="OverloadMethodsDeclarationOrder"/>
        <module name="InnerAssignment"/>
        <module name="MagicNumber">
            <property name="ignoreHashCodeMethod" value="true"/>
        </module>
        <module name="MissingSwitchDefault"/>
        <module name="PackageDeclaration"/>
        <module name="StringLiteralEquality"/>

        <!-- broken by maven-checkstyle-plugin 2.16
        <module name="RedundantThrows"/>
        -->
        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>

        <!-- Checks for class design                         -->
        <!-- See http://checkstyle.sf.net/config_design.html -->
        <!--
            <module name="DesignForExtension"/>
            <module name="InterfaceIsType"/>
            <module name="VisibilityModifier"/>
        -->
        <module name="FinalClass"/>
        <module name="HideUtilityClassConstructor"/>
        <module name="InnerTypeLast"/>
        <module name="MutableException"/>

        <!-- Miscellaneous other checks.                   -->
        <!-- See http://checkstyle.sf.net/config_misc.html -->
        <!-- <module name="ArrayTypeStyle"/> -->
        <module name="FinalParameters">
            <property name="severity" value="ignore"/>
        </module>
        <module name="TodoComment">
            <property name="severity" value="ignore"/>
        </module>
        <module name="UpperEll"/>

    </module>

</module>
back to top