You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2021/04/19 10:15:05 UTC
[ignite-3] 01/01: Add javadoc validation to checkstyle plugin.
This is an automated email from the ASF dual-hosted git repository.
amashenkov pushed a commit to branch ignite-14591
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit 8c45c63070138fac2853d0930520eeb53e3c5c11
Author: Andrew Mashenkov <an...@gmail.com>
AuthorDate: Mon Apr 19 13:14:50 2021 +0300
Add javadoc validation to checkstyle plugin.
---
.../checkstyle-javadoc-additional-rules.xml | 57 +++++++++++
check-rules/checkstyle-rules.xml | 112 +++++++++++++++++++++
parent/pom.xml | 5 +-
3 files changed, 172 insertions(+), 2 deletions(-)
diff --git a/check-rules/checkstyle-javadoc-additional-rules.xml b/check-rules/checkstyle-javadoc-additional-rules.xml
new file mode 100644
index 0000000..fce7d48
--- /dev/null
+++ b/check-rules/checkstyle-javadoc-additional-rules.xml
@@ -0,0 +1,57 @@
+<?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
+ "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
+ "http://checkstyle.org/dtds/configuration_1_3.dtd">
+<module name="Checker">
+ <property name="charset" value="UTF-8"/>
+
+ <property name="fileExtensions" value="java, properties, xml"/>
+
+ <module name="BeforeExecutionExclusionFileFilter">
+ <property name="fileNamePattern" value=".*/test/.*"/>
+ </module>
+
+ <!-- SuppressWarning Filter. https://checkstyle.sourceforge.io/config_filters.html#SuppressWarningsFilter -->
+ <module name="SuppressWarningsFilter"/>
+
+ <!--
+ Checks that each Java package has a Javadoc file used for commenting.
+ By default it only allows a package-info.java file.
+ See: https://checkstyle.org/config_javadoc.html#JavadocPackage
+ -->
+ <module name="JavadocPackage"/>
+
+ <module name="TreeWalker">
+ <!--
+ Validates Javadoc comments to help ensure they are well formed.
+ See: https://checkstyle.org/config_javadoc.html#JavadocStyle
+ -->
+ <module name="JavadocStyle">
+ <property name="scope" value="package"/>
+ <property name="checkEmptyJavadoc" value="true"/>
+ </module>
+
+ <module name="JavadocStyle">
+ <property name="scope" value="private"/>
+ <property name="excludeScope" value="package"/>
+ </module>
+ </module>
+</module>
diff --git a/check-rules/checkstyle-rules.xml b/check-rules/checkstyle-rules.xml
index bc010f9..9459f97 100644
--- a/check-rules/checkstyle-rules.xml
+++ b/check-rules/checkstyle-rules.xml
@@ -112,5 +112,117 @@
See: https://checkstyle.sourceforge.io/config_whitespace.html#SingleSpaceSeparator
-->
<module name="SingleSpaceSeparator"/>
+
+ <!--
+ Javdoc style checks.
+ -->
+
+ <!--
+ Checks the order of javadoc block-tags or javadoc tags.
+ See: https://checkstyle.org/config_javadoc.html#AtclauseOrder
+ -->
+ <module name="AtclauseOrder"/>
+
+ <!--
+ Checks that Javadocs are located at the correct position.
+ See: https://checkstyle.org/config_javadoc.html#InvalidJavadocPosition
+ -->
+ <module name="InvalidJavadocPosition"/>
+
+ <!--
+ Checks that a javadoc block tag (starts with @) appears only at the beginning of a line,
+ ignoring leading asterisks and white space.
+ This check ignores block tags in comments and inside inline tags {@code } and {@literal }.
+ See: https://checkstyle.org/config_javadoc.html#JavadocBlockTagLocation
+ -->
+ <module name="JavadocBlockTagLocation">
+ <!-- default tags -->
+ <property name="tags" value="author, deprecated, exception, hidden"/>
+ <property name="tags" value="param, provides, return, see, serial"/>
+ <property name="tags" value="serialData, serialField, since, throws"/>
+ <property name="tags" value="uses, version"/>
+ <!-- additional tags can be used in the project -->
+ <property name="tags" value="apiNote, implSpec, implNote"/>
+ <property name="tags" value="noinspection"/>
+ </module>
+
+ <!--
+ Checks that the Javadoc content begins from the same position for all Javadoc comments in the project.
+ Any leading asterisks and spaces are not counted as the beginning of the content and are therefore ignored.
+ https://checkstyle.org/config_javadoc.html#JavadocContentLocation
+ -->
+ <module name="JavadocContentLocationCheck"/>
+
+ <!--
+ Checks if the javadoc has leading asterisks on each line.
+ See: https://checkstyle.org/config_javadoc.html#JavadocMissingLeadingAsterisk
+ -->
+ <module name="JavadocMissingLeadingAsterisk"/>
+
+ <!--
+ Checks that there is at least one whitespace after the leading asterisk.
+ See: https://checkstyle.org/config_javadoc.html#JavadocMissingWhitespaceAfterAsterisk
+ -->
+ <module name="JavadocMissingWhitespaceAfterAsterisk"/>
+
+ <!--
+ Checks that one blank line before the block tag if it is present in Javadoc.
+ See: https://checkstyle.org/config_javadoc.html#RequireEmptyLineBeforeBlockTagGroup
+ -->
+ <module name="RequireEmptyLineBeforeBlockTagGroup"/>
+
+ <!--
+ Checks that the block tag is followed by description.
+ See: https://checkstyle.org/config_javadoc.html#NonEmptyAtclauseDescription
+ -->
+ <module name="NonEmptyAtclauseDescription"/>
+
+ <!--
+ Checks that a Javadoc block can fit in a single line and doesn't contain block tags.
+ See: https://checkstyle.org/config_javadoc.html#SingleLineJavadoc
+ -->
+ <module name="SingleLineJavadoc">
+ <property name="ignoredTags" value="@inheritDoc"/>
+ </module>
+
+ <!--
+ Checks the Javadoc of a method or constructor.
+ See: https://checkstyle.org/config_javadoc.html#JavadocMethod
+ -->
+ <module name="JavadocMethod">
+ <property name="scope" value="package"/>
+ <property name="validateThrows" value="true"/>
+ </module>
+
+ <!--
+ Checks the Javadoc comments for type definitions.
+ See: https://checkstyle.org/config_javadoc.html#JavadocType
+ -->
+ <module name="JavadocType">
+ <property name="scope" value="package"/>
+ <property name="allowUnknownTags" value="true"/>
+ </module>
+
+ <!--
+ Checks for missing Javadoc comments for a method or constructor.
+ See: https://checkstyle.org/config_javadoc.html#MissingJavadocMethod
+ -->
+ <module name="MissingJavadocMethod">
+ <property name="scope" value="anoninner"/>
+ </module>
+
+ <!--
+ Checks for missing Javadoc comments for class, enum, interface, and annotation interface definitions.
+ See: https://checkstyle.org/config_javadoc.html#MissingJavadocType
+ -->
+ <module name="MissingJavadocType">
+ <property name="scope" value="private"/>
+ </module>
+
+ <!--
+ Checks that a variable has a Javadoc comment. Ignores serialVersionUID fields.
+ See: https://checkstyle.org/config_javadoc.html#JavadocVariable
+ -->
+ <module name="JavadocVariable"/>
</module>
</module>
diff --git a/parent/pom.xml b/parent/pom.xml
index d0cd6ea..3381091 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -77,12 +77,12 @@
<!-- Plugins versions -->
<apache.rat.plugin.version>0.13</apache.rat.plugin.version>
- <checkstyle.puppycrawl.version>8.37</checkstyle.puppycrawl.version>
+ <checkstyle.puppycrawl.version>8.41.1</checkstyle.puppycrawl.version>
<launch.maven.plugin.version>1.7.25</launch.maven.plugin.version>
<maven.antrun.plugin.version>3.0.0</maven.antrun.plugin.version>
<maven.assembly.plugin.version>3.2.0</maven.assembly.plugin.version>
<maven.build-helper.plugin.version>3.2.0</maven.build-helper.plugin.version>
- <maven.checkstyle.plugin.version>3.1.1</maven.checkstyle.plugin.version>
+ <maven.checkstyle.plugin.version>3.1.2</maven.checkstyle.plugin.version>
<maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
<maven.deploy.plugin.version>2.8.2</maven.deploy.plugin.version>
<maven.failsafe.plugin.version>3.0.0-M5</maven.failsafe.plugin.version>
@@ -314,6 +314,7 @@
<!--
Profile to exclude running surefire (unit) tests but do not prevent running integration ones
-->
+ <!--suppress MavenModelInspection -->
<profile>
<activation>
<property>