blob: 93e8d8f9d6926ffc8a4d0efdff6fb497b863a672 [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.2//EN"
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<!--
Checkstyle configuration that checks the OpenWebBeans 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 Size Violations. -->
<!-- See http://checkstyle.sf.net/config_sizes.html -->
<module name="FileLength">
<property name="max" value="3500" />
<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"/>
<module name="TreeWalker">
<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="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)|(logger)|([a-z][a-zA-Z]*ThreadLocal)|([A-Z][A-Z0-9]*(_[A-Z0-9]+)*))$"/>
</module>
<module name="LocalVariableName"/>
<module name="MethodName"/>
<module name="PackageName"/>
<module name="LocalFinalVariableName"/>
<module name="ParameterName"/>
<module name="StaticVariableName"/>
<module name="TypeName"/>
<!-- Checks for imports -->
<!-- See http://checkstyle.sf.net/config_import.html -->
<module name="AvoidStarImport">
<property name="excludes" value="java.io,java.net,java.util,javax.enterprise.inject.spi,javax.enterprise.context"/>
</module>
<module name="IllegalImport"/>
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<module name="LineLength">
<property name="max" value="120" />
<property name="ignorePattern" value="@version|@see"/>
</module>
<module name="MethodLength">
<property name="max" value="200" />
</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="com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck">
<property name="severity" value="ignore"/>
</module>
<!-- module name="FinalClass"/ -->
<!-- module name="HideUtilityClassConstructor"/ -->
<!-- module name="InterfaceIsType"/ -->
<!-- module name="VisibilityModifier"/ -->
<module name="com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheck">
<property name="packageAllowed" value="false"/>
<property name="protectedAllowed" value="true"/>
<property name="publicMemberPattern" value="^serialVersionUID"/>
<property name="severity" value="warning"/>
</module>
<!-- 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 name="WhitespaceAround">
<property name="tokens" value=""/>
</module>
<module name="StringLiteralEquality"/>
<module name="NoFinalizer"/>
<module name="MissingOverride"/>
<module name="HideUtilityClassConstructor"/>
<module name="EqualsAvoidNull"/>
<module name="DeclarationOrder"/>
<!--module name="MultipleStringLiterals"/-->
<module name="OneStatementPerLine"/>
<module name="Indentation"/>
<module name="ModifierOrder"/>
<module name="RedundantModifier"/>
</module>
</module>