Skip to content

Instantly share code, notes, and snippets.

@pengisgood
Created February 28, 2018 05:51
Show Gist options
  • Select an option

  • Save pengisgood/c2432403a03500cf4ec1826b85a08234 to your computer and use it in GitHub Desktop.

Select an option

Save pengisgood/c2432403a03500cf4ec1826b85a08234 to your computer and use it in GitHub Desktop.

Revisions

  1. pengisgood created this gist Feb 28, 2018.
    194 changes: 194 additions & 0 deletions checkstyle.xml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,194 @@
    <?xml version="1.0"?>
    <!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
    "http://checkstyle.sourceforge.net/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">
    <!--
    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}"/>
    -->

    <property name="fileExtensions" value="java, properties, xml"/>
    <property name="severity" value="error"/>

    <module name="BeforeExecutionExclusionFileFilter">
    <property name="fileNamePattern" value="(.*/build/generated-test-sources/.*)|(.*/src/test/.*)"/>
    </module>

    <!-- 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">
    <property name="max" value="500"/>
    </module>

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

    <!-- 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="SuppressWarningsFilter"/>

    <module name="TreeWalker">

    <module name="SuppressWarningsHolder"/>

    <!-- Checks for Javadoc comments. -->
    <!-- See http://checkstyle.sf.net/config_javadoc.html -->
    <!--<module name="JavadocMethod"/>-->
    <!--<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">
    <property name="format" value="^[a-z_][a-zA-Z0-9_]*$"/>
    </module>
    <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="AvoidStarImport"/>-->
    <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
    <module name="RedundantImport"/>
    <module name="UnusedImports">
    <property name="processJavadoc" value="false"/>
    </module>

    <!-- Checks for Size Violations. -->
    <!-- See http://checkstyle.sf.net/config_sizes.html -->
    <module name="LineLength">
    <property name="max" value="120"/>
    </module>
    <module name="MethodLength">
    <property name="tokens" value="METHOD_DEF"/>
    <property name="max" value="60"/>
    </module>
    <module name="ParameterNumber"/>

    <!-- 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"/>
    <module name="OperatorWrap"/>
    <module name="ParenPad"/>
    <module name="TypecastParenPad"/>
    <module name="WhitespaceAfter"/>
    <module name="WhitespaceAround"/>

    <!-- 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="EqualsHashCode"/>
    <module name="HiddenField">
    <property name="ignoreSetter" value="true"/>
    <property name="ignoreConstructorParameter" value="true"/>
    </module>
    <module name="IllegalInstantiation"/>
    <module name="InnerAssignment"/>
    <module name="MagicNumber"/>
    <module name="MissingSwitchDefault"/>
    <module name="SimplifyBooleanExpression"/>
    <module name="SimplifyBooleanReturn"/>

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

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

    </module>

    </module>