blob: cd2ecdabe7ed324f43c899f1a4a1a778de502b22 [file] [log] [blame]
<?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
"-//Puppy Crawl//DTD Check Configuration 1.1//EN"
"http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
<!--
Checkstyle configuration that checks the maven coding conventions.
-->
<module name="Checker">
<!-- Checks that a package.html file exists for each package. -->
<!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
<!-- module name="PackageHtml"/ -->
<!-- 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 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>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter"/>
<!-- allow usage of CHECKSTYLE:OFF and CHECKSTYLE:ON -->
<module name="SuppressionCommentFilter"/>
<!-- Checks for Size Violations. -->
<!-- See http://checkstyle.sf.net/config_sizes.html -->
<module name="FileLength">
<property name="fileExtensions" value="java"/>
<property name="max" value="3000"/>
</module>
<module name="TreeWalker">
<!-- needed for the SuppressionCommentFilter -->
<module name="FileContentsHolder"/>
<property name="cacheFile" value="${checkstyle.cache.file}"/>
<!-- Checks for Javadoc comments. -->
<!-- See http://checkstyle.sf.net/config_javadoc.html -->
<!-- module name="JavadocMethod"/ -->
<!-- module name="JavadocType"/ -->
<!-- module name="JavadocVariable"/ -->
<!-- Checks for Naming Conventions. -->
<!-- See http://checkstyle.sf.net/config_naming.html -->
<!--
<module name="MemberName">
<property name="format" value="^_[a-z][a-zA-Z0-9]*$"/>
</module>
-->
<module name="LineLength">
<property name="max" value="120" />
<property name="ignorePattern" value="@version|@see"/>
</module>
<module name="ConstantName">
<!-- Normal rules, except that:
- * any name can start with an underscore.
- * "log" is allowed; this is a traditional name for log objects
- * names ending with "ThreadLocal" are allowed so that threadlocal vars don't have to be
- all-caps. They are static final, but are not really constants. Yes, type prefixes
- on variable names sucks ("hungarian notation") but checkstyle doesn't allow
- name rules to vary by the type of the constant, and no other alternative seems
- any better.
-->
<property name="format"
value="^_?((log)|([a-z][a-zA-Z]*ThreadLocal)|([A-Z][A-Z0-9]*(_[A-Z0-9]+)*))$"/>
</module>
<module name="LocalVariableName"/>
<module name="MethodName">
<property name="format" value="^_?[a-z][a-zA-Z0-9]*$"/>
</module>
<module name="PackageName"/>
<module name="LocalFinalVariableName"/>
<module name="ParameterName"/>
<module name="StaticVariableName"/>
<module name="TypeName">
<property name="format" value="^_?[A-Z][a-zA-Z0-9]*$"/>
</module>
<!-- Checks for imports -->
<!-- See http://checkstyle.sf.net/config_import.html -->
<module name="AvoidStarImport">
<property name="excludes" value="java.io,java.net,java.lang.Math,org.apache.myfaces.config.impl.digester.elements"/>
<property name="allowStaticMemberImports" value="true"/>
</module>
<module name="IllegalImport"/>
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<module name="MethodLength">
<property name="max" value="300" />
</module>
<module name="ParameterNumber">
<property name="max" value="10" />
</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="EmptyBlock"/ -->
<module name="NeedBraces"/>
<module name="LeftCurly">
<property name="option" value="nl"/>
</module>
<module name="RightCurly">
<property name="option" value="alone"/>
</module>
<!-- Checks for common coding problems -->
<!-- See http://checkstyle.sf.net/config_coding.html -->
<module name="EmptyStatement"/>
<module name="EqualsHashCode"/>
<module name="InnerAssignment"/>
<module name="DefaultComesLast"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="MultipleVariableDeclarations"/>
<!-- 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"/ -->
<!-- Miscellaneous other checks. -->
<!-- See http://checkstyle.sf.net/config_misc.html -->
<!-- module name="ArrayTypeStyle"/ -->
<!-- module name="FinalParameters"/ -->
<!-- Line with Trailing Spaces (disabled as it's to noisy)
<module name="GenericIllegalRegexp">
<property name="format" value="\s+$"/>
<property name="message" value="Line has trailing spaces."/>
</module>
-->
<module name="UpperEll"/>
</module>
</module>