| <?xml version="1.0"?> |
| |
| <!-- |
| 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 |
| "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" |
| "https://checkstyle.org/dtds/configuration_1_3.dtd"> |
| |
| <!-- |
| Commons RNG customization of default Checkstyle behaviour: |
| https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/sun_checks.xml |
| --> |
| <module name="Checker"> |
| <module name="SuppressionFilter"> |
| <!-- Default property set by maven-checkstyle-plugin --> |
| <property name="file" value="${checkstyle.suppressions.file}"/> |
| <property name="optional" value="false"/> |
| </module> |
| |
| <property name="localeLanguage" value="en"/> |
| |
| <property name="fileExtensions" value="java, properties, xml" /> |
| |
| <!-- Excludes all 'module-info.java' files --> |
| <!-- See https://checkstyle.org/config_filefilters.html --> |
| <module name="BeforeExecutionExclusionFileFilter"> |
| <property name="fileNamePattern" value="module\-info\.java$" /> |
| </module> |
| |
| <!-- Checks that a package-info.java file exists for each package. --> |
| <!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocPackage --> |
| <module name="JavadocPackage" /> |
| |
| <!-- Checks whether files end with a new line. --> |
| <!-- See http://checkstyle.sourceforge.net/config_misc.html#NewlineAtEndOfFile --> |
| <module name="NewlineAtEndOfFile" /> |
| |
| <!-- Checks that property files contain the same keys. --> |
| <!-- See http://checkstyle.sourceforge.net/config_misc.html#Translation --> |
| <module name="Translation" /> |
| |
| <!-- Checks for Size Violations. --> |
| <!-- See http://checkstyle.sourceforge.net/config_sizes.html --> |
| <module name="FileLength" /> |
| |
| <!-- Checks for whitespace --> |
| <!-- See http://checkstyle.sourceforge.net/config_whitespace.html --> |
| <module name="FileTabCharacter" /> |
| |
| <!-- Miscellaneous other checks. --> |
| <!-- See http://checkstyle.sourceforge.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.sourceforge.net/config_header.html --> |
| <module name="Header"> |
| <property name="headerFile" value="${checkstyle.header.file}"/> |
| </module> |
| |
| <module name="TreeWalker"> |
| |
| <!-- Checks for Javadoc comments. --> |
| <!-- See http://checkstyle.sourceforge.net/config_javadoc.html --> |
| <!-- Require method javadocs, allow undeclared RTE --> |
| <module name="JavadocMethod"> |
| <property name="allowUndeclaredRTE" value="true"/> |
| <property name="allowThrowsTagsForSubclasses" value="true"/> |
| <property name="validateThrows" value="false"/> |
| </module> |
| <module name="JavadocType" /> |
| <module name="JavadocVariable" /> |
| <module name="JavadocStyle" /> |
| <!-- <module name="MissingJavadocType"/> --> |
| |
| <!-- Checks for Naming Conventions. --> |
| <!-- See http://checkstyle.sourceforge.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 imports --> |
| <!-- See http://checkstyle.sourceforge.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.sourceforge.net/config_sizes.html --> |
| <module name="LineLength"> |
| <!-- Ignore lines that begin with " * ", such as within a Javadoc comment. --> |
| <property name="ignorePattern" value="^ *\* *[^ ]"/> |
| <property name="max" value="120"/> |
| </module> |
| <module name="MethodLength" /> |
| <module name="ParameterNumber" /> |
| |
| <!-- Checks for whitespace --> |
| <!-- See http://checkstyle.sourceforge.net/config_whitespace.html --> |
| <module name="EmptyForIteratorPad" /> |
| <module name="GenericWhitespace" /> |
| <module name="MethodParamPad" /> |
| <module name="NoWhitespaceAfter" /> |
| <module name="NoWhitespaceBefore" /> |
| <!-- Operator must be at end of wrapped line --> |
| <module name="OperatorWrap"> |
| <property name="option" value="eol"/> |
| </module> |
| <module name="ParenPad" /> |
| <module name="TypecastParenPad" /> |
| <module name="WhitespaceAfter"> |
| <property name="tokens" value="COMMA, SEMI, LITERAL_IF, LITERAL_ELSE, LITERAL_WHILE, LITERAL_DO, LITERAL_FOR, DO_WHILE"/> |
| </module> |
| <module name="WhitespaceAround"> |
| <property name="allowEmptyConstructors" value="true"/> |
| <property name="allowEmptyTypes" value="true"/> |
| </module> |
| |
| <!-- Modifier Checks --> |
| <!-- See http://checkstyle.sourceforge.net/config_modifiers.html --> |
| <module name="ModifierOrder" /> |
| <module name="RedundantModifier" /> |
| |
| <!-- Checks for blocks. You know, those {}'s --> |
| <!-- See http://checkstyle.sourceforge.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.sourceforge.net/config_coding.html --> |
| <module name="EmptyStatement" /> |
| <module name="EqualsHashCode" /> |
| <!-- Method parameters and local variables should not hide fields, except in constructors and setters --> |
| <module name="HiddenField"> |
| <property name="ignoreConstructorParameter" value="true" /> |
| <property name="ignoreSetter" value="true" /> |
| </module> |
| <!-- Disallow unnecessary instantiation of Boolean, String --> |
| <module name="IllegalInstantiation"> |
| <property name="classes" value="java.lang.Boolean, java.lang.String"/> |
| </module> |
| <!-- Allowed for algorithm implementations. --> |
| <!-- <module name="InnerAssignment" /> --> |
| <!-- <module name="MagicNumber" /> --> |
| <module name="MissingSwitchDefault" /> |
| <module name="MultipleVariableDeclarations" /> |
| <module name="SimplifyBooleanExpression" /> |
| <module name="SimplifyBooleanReturn" /> |
| |
| <!-- Checks for class design --> |
| <!-- See http://checkstyle.sourceforge.net/config_design.html --> |
| <module name="DesignForExtension" /> |
| <module name="FinalClass" /> |
| <module name="HideUtilityClassConstructor" /> |
| <module name="InterfaceIsType" /> |
| <!-- No public fields --> |
| <module name="VisibilityModifier"> |
| <property name="protectedAllowed" value="true"/> |
| </module> |
| |
| <!-- Miscellaneous other checks. --> |
| <!-- See http://checkstyle.sourceforge.net/config_misc.html --> |
| <module name="ArrayTypeStyle" /> |
| <!-- <module name="FinalParameters" /> --> |
| <module name="TodoComment"> |
| <property name="severity" value="warning"/> |
| </module> |
| <module name="UpperEll" /> |
| |
| <!-- Addition to Checkstyle sun_checks.xml --> |
| |
| <!-- Indentation of 4 spaces. --> |
| <module name="Indentation"> |
| <!-- Indentation style recommended by Oracle --> |
| <property name="caseIndent" value="0"/> |
| </module> |
| |
| <!-- Switch statements should have independent cases --> |
| <module name="FallThrough" /> |
| |
| <!-- Constant names should obey the traditional all uppercase naming convention --> |
| <module name="ConstantName" /> |
| |
| <!-- No System.out.println() statements --> |
| <module name="Regexp"> |
| <!-- no sysouts --> |
| <property name="format" value="System\.(out|err)\."/> |
| <property name="illegalPattern" value="true"/> |
| </module> |
| |
| <!-- Authors should be in pom.xml file --> |
| <module name="Regexp"> |
| <property name="format" value="@author"/> |
| <property name="illegalPattern" value="true"/> |
| <property name="message" value="Developers names should be in pom file"/> |
| </module> |
| |
| <!-- Use a consistent way to put declarations --> |
| <module name="DeclarationOrder" /> |
| |
| <!-- Don't add up parentheses when they are not required --> |
| <module name="UnnecessaryParentheses" /> |
| |
| <!-- Don't use too widespread catch (Exception, Throwable, RuntimeException) --> |
| <module name="IllegalCatch" /> |
| |
| <!-- Don't use = or != for string comparisons --> |
| <module name="StringLiteralEquality" /> |
| |
| <!-- String literals more than one character long should not be repeated several times --> |
| <!-- the "unchecked" string is also accepted to allow @SuppressWarnings("unchecked") --> |
| <module name="MultipleStringLiterals" > |
| <property name="ignoreStringsRegexp" value='^(("")|(".")|("unchecked"))$'/> |
| </module> |
| |
| <!-- Check if @Override tags are present --> |
| <module name="MissingOverride" /> |
| |
| <!-- Setup special comments to suppress specific checks from source files --> |
| <module name="SuppressionCommentFilter"> |
| <property name="offCommentFormat" value="CHECKSTYLE\: stop ([\w\|]+)"/> |
| <property name="onCommentFormat" value="CHECKSTYLE\: resume ([\w\|]+)"/> |
| <property name="checkFormat" value="$1"/> |
| </module> |
| <module name="SuppressionCommentFilter"> |
| <property name="offCommentFormat" value="CHECKSTYLE\: stop all"/> |
| <property name="onCommentFormat" value="CHECKSTYLE\: resume all"/> |
| </module> |
| |
| </module> |
| |
| </module> |