我有一个使用Gradle构建的Java项目,并使用checkstyle和默认的Google checkstyle.xml
(来自项目网站)。
其中,它为公共方法强制执行Javadoc。我希望将此规则保留为普通代码,但我不想为我的测试编写javadoc。
如何为此规则添加例外,以便checkstyle忽略它以获取测试文件?
答案 0 :(得分:1)
这可以分两步完成:
通过添加SuppressionFilter
模块在checkstyle.xml
中指定抑制文件。更具体地说,在" Checker"中添加以下代码。模块:
<module name="SuppressionFilter">
<property name="file" value="config/checkstyle/suppressions.xml"/>
<property name="optional" value="false"/>
</module>
其中&#34; config / checkstyle / suppressions.xml&#34;是来自项目根目录的抑制文件的路径。
按如下方式创建suppressions.xml
:
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://checkstyle.sourceforge.net/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress checks="JavadocMethod"
files=".*Test.java"/>
</suppressions>
告诉Checker不对名称以JavadocMethod
结尾的文件应用*Test.java
规则。
注意:如果未找到抑制文件或无效,您可能会遇到如下错误:
无法创建根模块:config {/path/to/config/checkstyle/checkstyle.xml},classpath {null}。
在我的情况下,使用$ gradle build --stacktrace
运行构建证明对于调试它非常有用。