| <?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 |
| ~ |
| ~ 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://checkstyle.org/dtds/configuration_1_3.dtd"> |
| <module name="Checker"> |
| |
| <property name="localeLanguage" value="en"/> |
| |
| <module name="FileTabCharacter"> |
| <property name="eachLine" value="true"/> |
| </module> |
| |
| <module name="RegexpHeader"> |
| <property name="headerFile" value="${checkstyle.header.file}"/> |
| <property name="multiLines" value="1, 2, 3, 18"/> |
| </module> |
| |
| <module name="RegexpSingleline"> |
| <property name="format" value="System\.out\.println"/> |
| <property name="message" value="Prohibit invoking System.out.println in source code !"/> |
| </module> |
| |
| <module name="RegexpSingleline"> |
| <property name="format" value="^\s*\*\s*@author"/> |
| <property name="minimum" value="0"/> |
| <property name="maximum" value="0"/> |
| <property name="message" value="ASF project doesn't allow @author copyright."/> |
| </module> |
| |
| <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"> |
| <property name="max" value="3000"/> |
| </module> |
| |
| <module name="TreeWalker"> |
| |
| <module name="UnusedImports"/> |
| <module name="RedundantImport"/> |
| <module name="AvoidStarImport"/> |
| |
| <module name="NonEmptyAtclauseDescription"/> |
| |
| <!--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]+)*$)"/> |
| </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--> |
| <module name="ClassTypeParameterName"> |
| <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> |
| </module> |
| <!--Validates identifiers for method type parameters--> |
| <module name="MethodTypeParameterName"> |
| <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> |
| </module> |
| <module name="PackageName"> |
| <property name="format" value="^(org|test)\.apache\.skywalking(\.[a-zA-Z][a-zA-Z0-9]*)+$"/> |
| </module> |
| <module name="ParameterName"/> |
| <module name="StaticVariableName"> |
| <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> |
| </module> |
| <module name="TypeName"> |
| <property name="format" value="(^[A-Z][a-zA-Z0-9]*$)|(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> |
| </module> |
| <module name="MissingOverride"/> |
| |
| <!--whitespace--> |
| <module name="GenericWhitespace"/> |
| <module name="WhitespaceAfter"/> |
| <module name="WhitespaceAround"/> |
| <module name="MethodParamPad"/> |
| <module name="ParenPad"/> |
| <module name="TypecastParenPad"/> |
| <module name="EmptyLineSeparator"> |
| <property name="allowNoEmptyLineBetweenFields" value="true"/> |
| <property name="allowMultipleEmptyLines" value="false"/> |
| <property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/> |
| </module> |
| |
| <module name="ImportControl"> |
| <property name="file" value="${import.control}"/> |
| <property name="path" value="apm-sniffer/(apm-sdk-plugin|bootstrap-plugins|optional-plugins)/.+/src/main/.+Instrumentation.java$"/> |
| </module> |
| |
| <module name="ImportControl"> |
| <property name="file" value="${import.control}"/> |
| <property name="path" value="apm-sniffer/apm-toolkit-activation/.+/src/main/.+Activation.java$"/> |
| </module> |
| </module> |
| </module> |