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.herb...@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. + */