rmq_checkstyle.xml 5.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
<?xml version="1.0" encoding="UTF-8"?>
<!--
  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

12 13 14 15 16
  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.
17
  -->
18 19 20 21

<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
22 23 24 25 26 27 28 29 30 31
<!--Refer http://checkstyle.sourceforge.net/reports/google-java-style.html#s2.2-file-encoding -->
<module name="Checker">

    <property name="localeLanguage" value="en"/>

    <!--To configure the check to report on the first instance in each file-->
    <module name="FileTabCharacter"/>

    <!-- header -->
    <module name="RegexpHeader">
V
vongosling 已提交
32
        <property name="header" value="/\*\nLicensed to the Apache Software Foundation*"/>
33 34 35 36 37 38
        <property name="fileExtensions" value="java"/>
    </module>

    <module name="RegexpHeader">
        <property name="header" value="#[\s]*Licensed to the Apache Software Foundation*"/>
        <property name="fileExtensions" value="properties"/>
39 40 41
    </module>

    <module name="RegexpSingleline">
Y
yukon 已提交
42 43
        <property name="format" value="System\.out\.println"/>
        <property name="message" value="Prohibit invoking System.out.println in source code !"/>
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
    </module>

    <module name="RegexpSingleline">
        <property name="format" value="//FIXME"/>
        <property name="message" value="Recommended fix FIXME task !"/>
    </module>

    <module name="RegexpSingleline">
        <property name="format" value="//TODO"/>
        <property name="message" value="Recommended fix TODO task !"/>
    </module>

    <module name="RegexpSingleline">
        <property name="format" value="@alibaba"/>
        <property name="message" value="Recommended remove @alibaba keyword!"/>
    </module>
V
vongosling 已提交
60 61 62 63 64 65
    <module name="RegexpSingleline">
        <property name="format" value="@taobao"/>
        <property name="message" value="Recommended remove @taobao keyword!"/>
    </module>
    <module name="RegexpSingleline">
        <property name="format" value="@author"/>
V
vongosling 已提交
66
        <property name="message" value="Recommended remove @author tag in javadoc!"/>
V
vongosling 已提交
67
    </module>
68 69 70 71 72 73 74 75

    <module name="RegexpSingleline">
        <property name="format"
                  value=".*[\u3400-\u4DB5\u4E00-\u9FA5\u9FA6-\u9FBB\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9\uFF00-\uFFEF\u2E80-\u2EFF\u3000-\u303F\u31C0-\u31EF]+.*"/>
        <property name="message" value="Not allow chinese character !"/>
    </module>

    <module name="FileLength">
76
        <property name="max" value="3000"/>
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
    </module>

    <module name="TreeWalker">

        <module name="UnusedImports">
            <property name="processJavadoc" value="true"/>
        </module>
        <module name="RedundantImport"/>

        <!--<module name="IllegalImport" />-->

        <!--Checks that classes that override equals() also override hashCode()-->
        <module name="EqualsHashCode"/>
        <!--Checks for over-complicated boolean expressions. Currently finds code like if (topic == true), topic || true, !false, etc.-->
        <module name="SimplifyBooleanExpression"/>
        <module name="OneStatementPerLine"/>
        <module name="UnnecessaryParentheses"/>
        <!--Checks for over-complicated boolean return statements. For example the following code-->
        <module name="SimplifyBooleanReturn"/>

        <!--Check that the default is after all the cases in producerGroup switch statement-->
        <module name="DefaultComesLast"/>
        <!--Detects empty statements (standalone ";" semicolon)-->
        <module name="EmptyStatement"/>
        <!--Checks that long constants are defined with an upper ell-->
        <module name="UpperEll"/>
        <module name="ConstantName">
            <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)|(^log$)"/>
        </module>
        <!--Checks that local, non-final variable names conform to producerGroup format specified by the format property-->
        <module name="LocalVariableName"/>
        <!--Validates identifiers for local, final variables, including catch parameters-->
        <module name="LocalFinalVariableName"/>
        <!--Validates identifiers for non-static fields-->
        <module name="MemberName"/>
        <!--Validates identifiers for class type parameters-->
113
        <module name="ClassTypeParameterName">
114 115 116 117 118 119 120 121 122 123 124
            <property name="format" value="^[A-Z0-9]*$"/>
        </module>
        <!--Validates identifiers for method type parameters-->
        <module name="MethodTypeParameterName">
            <property name="format" value="^[A-Z0-9]*$"/>
        </module>
        <module name="PackageName"/>
        <module name="ParameterName"/>
        <module name="StaticVariableName"/>
        <module name="TypeName"/>
        <!--Checks that there are no import statements that use the * notation-->
V
Polish  
vongosling 已提交
125
        <module name="AvoidStarImport"/>
126 127 128

        <!--whitespace-->
        <module name="GenericWhitespace"/>
129 130
        <!--<module name="NoWhitespaceBefore"/>-->
        <!--<module name="NoWhitespaceAfter"/>-->
131 132 133 134 135 136 137 138 139
        <module name="WhitespaceAround">
            <property name="allowEmptyConstructors" value="true"/>
            <property name="allowEmptyMethods" value="true"/>
        </module>
        <module name="Indentation"/>
        <module name="MethodParamPad"/>
        <module name="ParenPad"/>
        <module name="TypecastParenPad"/>
    </module>
140
</module>