You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2023/01/24 14:43:57 UTC

[openwebbeans] 02/02: OWB1417 inline checkstyle config for now

This is an automated email from the ASF dual-hosted git repository.

struberg pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/openwebbeans.git

commit 494886565d71a329f54c84f40ce968860e7dc2e9
Author: Mark Struberg <st...@apache.org>
AuthorDate: Tue Jan 24 15:43:31 2023 +0100

    OWB1417 inline checkstyle config for now
---
 pom.xml | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 187 insertions(+), 12 deletions(-)

diff --git a/pom.xml b/pom.xml
index 4c23da20b..2496a5027 100644
--- a/pom.xml
+++ b/pom.xml
@@ -442,25 +442,200 @@
                 <artifactId>maven-checkstyle-plugin</artifactId>
                 <version>2.17</version>
                 <executions>
-                  <execution>
-                    <id>verify-style</id>
-                    <phase>verify</phase>
-                    <goals><goal>check</goal></goals>
-                  </execution>
+                    <execution>
+                        <id>verify-style</id>
+                        <phase>verify</phase>
+                        <goals><goal>check</goal></goals>
+
+                        <configuration>
+                            <checkstyleRules>
+
+                                <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 -->
+<!--X disabled for now
+                                    <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"/>
+
+
+                                    <module name="TreeWalker">
+
+<!--
+                                        <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">
+                                            <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.util,jakarta.enterprise.inject.spi,jakarta.enterprise.context"/>
+                                        </module>
+                                        <module name="IllegalImport"/>
+                                        <module name="RedundantImport"/>
+                                        <module name="UnusedImports"/>
+
+
+                                        <module name="LineLength">
+                                            <property name="max" value="180" />
+                                            <property name="ignorePattern" value="@version|@see"/>
+                                        </module>
+                                        <module name="MethodLength">
+                                            <property name="max" value="250" />
+                                        </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>
+
+                                </module>
+
+                            </checkstyleRules>
+                        </configuration>
+                    </execution>
                 </executions>
                 <configuration>
+<!--
                     <configLocation>openwebbeans/owb-checks-default.xml</configLocation>
                     <headerLocation>openwebbeans/owb-header.txt</headerLocation>
+-->
                     <consoleOutput>true</consoleOutput>
                     <excludes>**/Unsafe*</excludes> <!-- we abuse of switch and checkstyle is broken for it -->
                 </configuration>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.openwebbeans.build-tools</groupId>
-                        <artifactId>checkstyle-rules</artifactId>
-                        <version>4.0-SNAPSHOT</version>
-                    </dependency>
-                </dependencies>
+                <!--
+                                <dependencies>
+                                    <dependency>
+                                        <groupId>org.apache.openwebbeans.build-tools</groupId>
+                                        <artifactId>checkstyle-rules</artifactId>
+                                        <version>4.0-SNAPSHOT</version>
+                                    </dependency>
+                                </dependencies>
+                -->
             </plugin>
 
             <plugin>