All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.weltraumschaf.javabuildtools.checkstyle-ruleset.xml Maven / Gradle / Ivy

The newest version!
<?xml version="1.0" encoding="UTF-8"?>
<!--

    LICENSE

    "THE BEER-WARE LICENSE" (Revision 43):
    "Sven Strittmatter" <weltraumschaf(at)googlemail(dot)com> wrote this file.
    As long as you retain this notice you can do whatever you want with
    this stuff. If we meet some day, and you think this stuff is worth it,
    you can buy me a non alcohol free beer in return.

    Copyright (C) 2012 "Sven Strittmatter" <weltraumschaf(at)googlemail(dot)com>

-->
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
    <module name="SuppressionCommentFilter" />
    <property name="severity" value="error" />

    <module name="FileLength">
        <property name="max" value="1500" />
    </module>

    <module name="FileTabCharacter">
        <property name="eachLine" value="true"/>
    </module>

    <module name="JavadocPackage" />
    <!-- Checks whether files end with a new line.                        -->
    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
    <module name="NewlineAtEndOfFile">
        <property name="lineSeparator" value="system" />
        <property name="fileExtensions" value="java, xml" />
    </module>

    <module name="TreeWalker">
        <module name="FileContentsHolder" />
        <property name="tabWidth" value="4" />
        <property name="cacheFile" value="target/checkstyleCache" />

        <!-- 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="MethodTypeParameterName">
            <property name="format" value="^[A-Z0-9]+$" />
        </module>
        <module name="PackageName">
            <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
        </module>
        <module name="ParameterName" />
        <module name="StaticVariableName" />
        <module name="TypeName" />
        <module name="AvoidStarImport">
            <property name="allowClassImports" value="true" />
            <property name="allowStaticMemberImports" value="true" />
        </module>
        <module name="IllegalImport" />
        <module name="RedundantImport" />
        <module name="UnusedImports">
            <property name="severity" value="warning" />
        </module>

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


        <!-- Effective Java Item 25 - Design method signatures carefully -->
        <!-- Avoid long parameter lists -->
        <module name="ParameterNumber">
            <property name="max" value="6" />
        </module>

        <!-- Checks for whitespace                               -->
        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
        <module name="EmptyForIteratorPad">
            <property name="option" value="space" />
        </module>
        <module name="MethodParamPad" />
        <module name="NoWhitespaceAfter">
            <property name="tokens" value="BNOT,DEC,DOT,INC,UNARY_MINUS,UNARY_PLUS" />
        </module>
        <module name="NoWhitespaceBefore" />
        <module name="OperatorWrap" />
        <module name="ParenPad" />
        <module name="TypecastParenPad" />
        <module name="WhitespaceAfter" />
        <module name="WhitespaceAround">
            <property
                name="tokens"
                value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,EQUAL,GE,GT,LAND,LCURLY,LE,LITERAL_ASSERT,LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_RETURN,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,LOR,LT,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,LITERAL_ASSERT,TYPE_EXTENSION_AND" />
        </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">
            <property name="allowInSwitchCase" value="true" />
        </module>
        <!-- Effective Java Item 47 - Don't ignore exceptions -->
        <module name="EmptyBlock">
            <property name="tokens" value="LITERAL_CATCH, LITERAL_IF" />
            <!-- require a comment, change to stmt to require a statement -->
            <property name="option" value="text" />
        </module>
        <module name="RightCurly" />
        <module name="LeftCurly">
            <property name="option" value="eol" />
        </module>
        <module name="NeedBraces" />

        <!-- Checks for common coding problems               -->
        <module name="ArrayTrailingComma" />
        <module name="CovariantEquals" />
        <module name="EmptyStatement" />
        <module name="EqualsAvoidNull" />
        <!-- Effective Java Item 8 - Always override hashCode when you override equals -->
        <module name="EqualsHashCode" />

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

        <!-- Effective Java Item 4 - Avoid creating duplicate objects -->
        <module name="IllegalInstantiation">
            <property name="severity" value="warning" />
            <property name="classes" value="java.lang.Boolean,java.lang.Integer,java.lang.Long,java.lang.Short,java.lang.Character,java.lang.Byte,java.util.Timer,java.util.TimerTask" />
        </module>
        <module name="InnerAssignment" />
        <module name="MissingSwitchDefault" />
        <module name="MagicNumber" />
        <module name="ModifiedControlVariable" />
        <module name="RedundantThrows">
            <property name="logLoadErrors" value="true" />
            <property name="suppressLoadErrors" value="true" />
        </module>
        <module name="SimplifyBooleanExpression" />
        <module name="SimplifyBooleanReturn" />

        <!-- Checks for class design                         -->
        <!-- See http://checkstyle.sf.net/config_design.html -->
        <module name="FinalClass" />
        <module name="HideUtilityClassConstructor" />
        <!-- Effective Java Item 17 - Use interfaces only to define types -->
        <module name="InterfaceIsType">
            <property name="severity" value="warning" />
        </module>
        <!-- Effective Java Item 12 - Make all fields private -->
        <module name="VisibilityModifier">
            <property name="packageAllowed" value="true" />
            <property name="protectedAllowed" value="true" />
        </module>

        <!-- Miscellaneous other checks.                   -->
        <!-- See http://checkstyle.sf.net/config_misc.html -->
        <module name="ArrayTypeStyle" />
        <module name="Regexp">
            <property name="illegalPattern" value="true" />
            <property name="format" value="[ ]+$" />
            <property name="message" value="Line has trailing spaces." />
        </module>
        <module name="Regexp">
            <property name="illegalPattern" value="true" />
            <property name="format" value="System\.out\.println" />
            <property name="message" value="System.out.println." />
        </module>
        <module name="Regexp">
            <property name="illegalPattern" value="true" />
            <property name="format" value="System\.err\.println" />
            <property name="message" value="System.err.println." />
        </module>
        <!-- Effective Java Item 6 - Avoid finalizers -->
        <module name="NoFinalizer" />
        <module name="ExplicitInitialization" />
        <module name="FinalLocalVariable" />
        <module name="GenericWhitespace" />
        <module name="IllegalThrows" />
        <module name="NoClone" />
        <module name="UpperEll" />
        <module name="JUnitTestCase" />
        <module name="Indentation">
            <property name="severity" value="warning" />
        </module>
        <module name="ParameterAssignment" />
        <module name="IllegalType">
            <property name="ignoredMethodNames" value="getInstance" />
            <property name="legalAbstractClassNames" value="AbstractBuild" />
        </module>
        <module name="SuperFinalize" />
        <module name="SuperClone">
            <property name="severity" value="warning" />
        </module>
        <module name="StringLiteralEquality" />
        <module name="MissingDeprecated" />
        <module name="AnnotationUseStyle" />
        <module name="DeclarationOrder" />
        <module name="DefaultComesLast" />
        <module name="FallThrough" />
        <module name="MultipleVariableDeclarations" />
        <module name="MutableException" />
        <module name="PackageDeclaration" />
        <module name="InnerTypeLast" />
        <module name="MissingOverride">
            <property name="javaFiveCompatibility" value="true" />
        </module>
        <module name="ClassDataAbstractionCoupling" >
            <property name="max" value="10" />
        </module>
        <module name="ClassFanOutComplexity" />

        <!-- Commenting -->
        <!-- see http://checkstyle.sourceforge.net/config_javadoc.html -->
        <module name="JavadocType">
            <property name="authorFormat" value="\S" />
        </module>
        <module name="JavadocMethod" />
        <module name="JavadocVariable" />
        <module name="JavadocStyle" />
    </module>

</module>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy