You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2020/02/24 22:42:27 UTC

[commons-collections] 01/07: Update checkstyle configuration.

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

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git

commit 72f45156d33680ccc08168b7da7fbcb960d8c4ac
Author: Alex Herbert <a....@sussex.ac.uk>
AuthorDate: Tue Feb 18 21:38:53 2020 +0000

    Update checkstyle configuration.
    
    Configuration has been added based on commons-lang.
    
    The Apache licence header has been added to the checkstyle config.
---
 pom.xml                     |  13 ++++-
 src/conf/checkstyle.xml     | 132 ++++++++++++++++++--------------------------
 src/conf/license-header.txt |  16 ++++++
 3 files changed, 82 insertions(+), 79 deletions(-)

diff --git a/pom.xml b/pom.xml
index cf92a59..a51ccff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -532,7 +532,8 @@
     <commons.jira.pid>12310465</commons.jira.pid>
     <!-- The RC version used in the staging repository URL. -->
     <commons.rc.version>RC1</commons.rc.version>
-    <checkstyle.version>3.0.0</checkstyle.version>
+    <checkstyle.version>3.1.0</checkstyle.version>
+    <checkstyle.dep.version>8.29</checkstyle.dep.version>
 
     <commons.site.path>collections</commons.site.path>
     <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-collections</commons.scmPubUrl>
@@ -592,10 +593,18 @@
       <plugin>
         <artifactId>maven-checkstyle-plugin</artifactId>
         <version>${checkstyle.version}</version>
+        <dependencies>
+          <dependency>
+            <groupId>com.puppycrawl.tools</groupId>
+            <artifactId>checkstyle</artifactId>
+            <version>${checkstyle.dep.version}</version>
+          </dependency>
+        </dependencies>
         <configuration>
           <configLocation>${basedir}/src/conf/checkstyle.xml</configLocation>
-          <enableRulesSummary>false</enableRulesSummary>
+          <headerLocation>${basedir}/src/conf/license-header.txt</headerLocation>
           <suppressionsLocation>${basedir}/src/conf/checkstyle-suppressions.xml</suppressionsLocation>
+          <enableRulesSummary>false</enableRulesSummary>
         </configuration>
       </plugin>
       <plugin>
diff --git a/src/conf/checkstyle.xml b/src/conf/checkstyle.xml
index df0841f..c2bfec2 100644
--- a/src/conf/checkstyle.xml
+++ b/src/conf/checkstyle.xml
@@ -1,85 +1,63 @@
 <?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. -->
+<!--
+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">
 
-<!-- commons lang customization of default Checkstyle behavior -->
+<!-- Apache Commons Lang customization of default Checkstyle behavior -->
 <module name="Checker">
-	<property name="localeLanguage" value="en" />
-	<property name="severity" value="warning" />
-
-	<module name="SuppressionFilter">
-	    <property name="file" value="${checkstyle.suppressions.file}"/>
-	</module>
-
-	<module name="JavadocPackage">
-		<property name="allowLegacy" value="true" />
-	</module>
-
-    <!-- No tabs allowed! -->
-	<module name="FileTabCharacter" />
-
-    <!-- Require files to end with newline characters -->
-    <module name="NewlineAtEndOfFile"/>
-	
-	<module name="TreeWalker">
-		<module name="AvoidStarImport" />
-		<module name="RedundantImport" />
-		<module name="UnusedImports" />
-		<module name="NeedBraces" />
-		<module name="LineLength">
-			<property name="max" value="120" />
-		</module>
-		
-		<!-- Must have class / interface header comments including scm version -->
-		<!-- Disable by now as it also enforces generic type parameters in type javadoc -->
-<!--         <module name="JavadocType"> -->
-<!--             <property name="versionFormat" value="\$Id.*\$"/> -->
-<!--         </module> -->
-		
-		<!-- Require method javadocs, allow undeclared RTE -->
-		<module name="JavadocMethod">
-			<property name="allowUndeclaredRTE" value="true" />
-			<property name="allowMissingJavadoc" value="true" />
-			<property name="scope" value="protected" />
-		</module>
-
-		<!-- Require hash code override when equals is -->
-		<module name="EqualsHashCode" />
-
-        <!-- Switch statements should be complete and with independent cases -->
-        <module name="FallThrough" />
-        <module name="MissingSwitchDefault" />
-
-        <!-- Constant names should obey the traditional all uppercase naming convention -->
-        <module name="ConstantName" />
-
-        <!-- No trailing whitespace -->
-        <module name="Regexp">
-            <property name="format" value="[ \t]+$"/>
-            <property name="illegalPattern" value="true"/>
-            <property name="message" value="Trailing whitespace"/>
-        </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>
-
-	</module>
+  <property name="localeLanguage" value="en"/>
+  <module name="JavadocPackage"/>
+  <module name="NewlineAtEndOfFile">
+    <property name="lineSeparator" value="lf" />
+  </module>
+  <module name="FileTabCharacter">
+    <property name="fileExtensions" value="java,xml"/>
+  </module>
+  <module name="RegexpSingleline">
+    <!-- \s matches whitespace character, $ matches end of line. -->
+    <property name="format" value="\s+$"/>
+    <property name="message" value="Line has trailing spaces."/>
+  </module>
+  <module name="SuppressionFilter">
+    <property name="file" value="${checkstyle.suppressions.file}"/>
+  </module>
+  <module name="Header">
+    <property name="headerFile" value="${checkstyle.header.file}"/>
+  </module>
+  <module name="TreeWalker">
+    <module name="AvoidStarImport"/>
+    <module name="IllegalImport"/>
+    <module name="RedundantImport"/>
+    <module name="UnusedImports"/>
+    <module name="NeedBraces"/>
+    <module name="JavadocMethod">
+      <property name="scope" value="public" />
+    </module>
+    <module name="ModifierOrder"/>
+    <module name="RedundantModifier"/>
+    <module name="UpperEll" />
+    <module name="LeftCurly"/>
+    <module name="NeedBraces"/>
+    <module name="RightCurly"/>
+    <module name="GenericWhitespace"/>
+    <module name="WhitespaceAfter"/>
+    <module name="NoWhitespaceBefore"/>
+ </module>
 </module>
-                        
-
diff --git a/src/conf/license-header.txt b/src/conf/license-header.txt
new file mode 100644
index 0000000..ae6f28c
--- /dev/null
+++ b/src/conf/license-header.txt
@@ -0,0 +1,16 @@
+/*
+ * 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.
+ */