【gradle代码分析插件系列1】 Checkstyle插件用法
内容
- 使用
- 任务
- 项目布局
- 依赖管理
- 配置
- 自定义HTML报告
- 生成SARIF报告
- 更改给Checkstyle的内存量
Checkstyle插件使用Checkstyle对项目的Java源文件执行质量检查,并从这些检查生成报告。
使用
要使用Checkstyle插件,请在构建脚本中包含以下内容:
plugins {
id 'checkstyle'
}
该插件会为项目添加一些执行质量检查的任务。您可以通过运行gradle check来执行这些检查。
请注意,Checkstyle将使用与运行Gradle相同的Java版本运行。
任务
Checkstyle插件向项目添加了以下任务:
-
checkstyleMain — Checkstyle
- 依赖:classes
- 对生产Java源文件运行Checkstyle。
-
checkstyleTest — Checkstyle
- 依赖:testClasses
- 对测试Java源文件运行Checkstyle。
-
checkstyleSourceSet — Checkstyle
- 依赖:sourceSetClasses
- 对给定源集的Java源文件运行Checkstyle。
添加到其他任务的依赖项
Checkstyle插件还向由Java插件定义的任务添加了以下依赖项。
- check
- 依赖:所有Checkstyle任务,包括checkstyleMain和checkstyleTest。
项目布局
默认情况下,Checkstyle插件期望将配置文件放置在根项目中,但可以更改。
<root>
└── config
└── checkstyle
└── checkstyle.xml
└── suppressions.xml
- Checkstyle配置文件放在这里
- 主要Checkstyle配置文件
依赖管理
Checkstyle插件添加了以下依赖项配置:
名称 | 含义 |
---|---|
checkstyle | 要使用的Checkstyle库 |
配置
请参阅API文档中的CheckstyleExtension类。
内置变量
Checkstyle插件定义了一个config_loc属性,可用于在Checkstyle配置文件中定义其他配置文件(如suppressions.xml)的路径。
checkstyle.xml
<module name="SuppressionFilter">
<property name="file" value="${config_loc}/suppressions.xml"/>
</module>
自定义HTML报告
可以使用XSLT样式表自定义由Checkstyle任务生成的HTML报告,例如突出显示特定错误或更改其外观:
build.gradle
tasks.withType(Checkstyle) {
reports {
xml.required = false
html.required = true
html.stylesheet resources.text.fromFile('config/xsl/checkstyle-custom.xsl')
}
}
生成SARIF报告
SARIF报告支持Checkstyle版本10.3.3及更高版本。默认情况下未启用。
build.gradle
checkstyle {
toolVersion = '10.3.3'
}
tasks.withType(Checkstyle) {
reports {
sarif.required = true
}
}
更改给Checkstyle的内存量
Checkstyle分析是在单独的进程中执行的。默认情况下,Checkstyle进程被分配了512MB的最大堆空间。当分析许多源文件时,您可能需要为此过程提供额外的内存。您可以通过配置Checkstyle.maxHeapSize来更改Checkstyle的内存量。
build.gradle
tasks.withType(Checkstyle) {
minHeapSize = "200m"
maxHeapSize = "1g"
}
参考链接
Gradle Checkstyle Plugin User Manual](https://docs.gradle.org/current/userguide/checkstyle_plugin.html)