API 文档 | Pmd |
---|
对 Java 源代码文件运行一组静态代码分析规则,并生成发现的问题报告。
属性 | 描述 |
classpath | 用于分析类的编译类路径。此类路径上的类在分析期间使用,但本身不被分析。这仅在 PMD 5.2.1 或更高版本中得到良好支持。 |
consoleOutput | 是否将 PMD 结果写入 |
excludes | 排除模式集。 |
ignoreFailures | 孵化中 指定当此任务执行的验证失败时构建是否中断。 |
includes | 包含模式集。 |
incrementalAnalysis | 控制是否使用增量分析。这仅在 PMD 6.0.0 或更高版本中支持。有关更多详细信息,请参见 https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_userdocs_incremental_analysis.html。 |
javaLauncher | 孵化中 用于启动工作进程的 Java 启动器 |
maxFailures | 在停止构建之前允许的最大失败数。默认为 0,这意味着在任何失败时停止构建。0 及以上的值有效。如果 |
maxHeapSize | 孵化中 工作进程的最大堆大小。如果未指定,Gradle 将提供最大堆大小。支持类似于命令行选项 |
minHeapSize | 孵化中 工作进程的最小堆大小。如果未指定,则不设置最小堆大小。支持类似于命令行选项 |
pmdClasspath | 包含要使用的 PMD 库的类路径。 |
reports | 此任务要生成的报告。 |
ruleSetConfig | 要使用的自定义规则集(如果有)。它取代了 |
ruleSetFiles | 要使用的自定义规则集文件。有关如何编写规则集文件,请参见官方文档。如果您只想使用自定义规则集,必须清空 |
ruleSets | 要使用的内置规则集。请参见官方列表以获取内置规则集。 |
rulesMinimumPriority | 指定规则优先级的阈值。 |
source | 应用包含和排除模式后,此任务的源。忽略不存在的源文件。 |
targetJdk | PMD 使用的目标 JDK。 |
threads | 指定 PMD 使用的线程数。 |
方法 | 描述 |
exclude(excludeSpec) | 添加一个排除规范。此方法可以多次调用以追加新的规范。给定闭包会接收 |
exclude(excludes) | 添加一个 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。 |
exclude(excludes) | 添加一个 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。 |
exclude(excludeSpec) | 添加一个排除规范。此方法可以多次调用以追加新的规范。如果没有提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。 |
include(includeSpec) | 添加一个包含规范。此方法可以多次调用以追加新的规范。给定闭包会接收 |
include(includes) | 添加一个 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。 |
include(includes) | 添加一个 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。 |
include(includeSpec) | 添加一个包含规范。此方法可以多次调用以追加新的规范。如果没有提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式或规范才能被包含。 |
reports(configureAction) | 配置此任务要生成的报告。 |
source(sources) | 为此任务添加一些源。给定的源对象将根据 |
块 | 描述 |
reports | 配置此任务要生成的报告。 |
FileCollection
classpath
用于分析类的编译类路径。此类路径上的类在分析期间使用,但本身不被分析。这仅在 PMD 5.2.1 或更高版本中得到良好支持。
- 使用
pmd
插件时的默认值 -
和sourceSet
.outputsourceSet
.compileClasspath
控制是否使用增量分析。这仅在 PMD 6.0.0 或更高版本中支持。有关更多详细信息,请参见 https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_userdocs_incremental_analysis.html。
- 使用
pmd
插件时的默认值 -
false
在停止构建之前允许的最大失败数。默认为 0,这意味着在任何失败时停止构建。0 及以上的值有效。如果
ignoreFailures
设置时,此值将被忽略,构建将继续(允许无限次失败)。
- 使用
pmd
插件时的默认值 project.pmd.maxFailures
注意:此属性正在孵化中,将来可能在 Gradle 版本中更改。
工作进程的最大堆大小。如果未指定,Gradle 将提供最大堆大小。支持类似于命令行选项 -Xmx
的单位,例如 "1g"
。
注意:此属性正在孵化中,将来可能在 Gradle 版本中更改。
工作进程的最小堆大小。如果未指定,则不设置最小堆大小。支持类似于命令行选项 -Xms
的单位,例如 "1g"
。
PmdReports
reports
(只读)
此任务要生成的报告。
TextResource
ruleSetConfig
要使用的自定义规则集(如果有)。它取代了 ruleSetFiles
,但目前不支持多个规则集。有关如何编写规则集,请参见官方文档。
ruleSetConfig = resources.text.fromFile(resources.file("config/pmd/myRuleSets.xml"))
- 使用
pmd
插件时的默认值 project.pmd.ruleSetConfig
FileCollection
ruleSetFiles
要使用的自定义规则集文件。有关如何编写规则集文件,请参见官方文档。如果您只想使用自定义规则集,必须清空 ruleSets
。
ruleSetFiles = files("config/pmd/myRuleSet.xml")
- 使用
pmd
插件时的默认值 project.pmd.ruleSetFiles
FileTree
source
(只读)
应用包含和排除模式后,此任务的源。忽略不存在的源文件。
源的 PathSensitivity
配置为 PathSensitivity.ABSOLUTE
。如果您的源限制较少,请通过在子类中重写此方法来进行相应的更改。
- 使用
pmd
插件时的默认值 sourceSet
.allJava
SourceTask
exclude
(Closure
excludeSpec)
添加一个排除规范。此方法可以多次调用以追加新的规范。给定闭包会接收 FileTreeElement
作为其参数。该闭包应返回 true 或 false。示例
copySpec { from 'source' into 'destination' //an example of excluding files from certain configuration: exclude { it.file in configurations.someConf.files } }
如果没有提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。
SourceTask
exclude
(Iterable
<String
>
excludes)
Iterable
<String
>添加一个 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。
SourceTask
exclude
(String
...
excludes)
String
...添加一个 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。
SourceTask
exclude
(Spec
<FileTreeElement
>
excludeSpec)
Spec
<FileTreeElement
>添加一个排除规范。此方法可以多次调用以追加新的规范。如果没有提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。
SourceTask
include
(Closure
includeSpec)
添加一个包含规范。此方法可以多次调用以追加新的规范。给定闭包会接收 FileTreeElement
作为其参数。如果没有提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式或规范才能被包含。
SourceTask
include
(Iterable
<String
>
includes)
Iterable
<String
>添加一个 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。
SourceTask
include
(String
...
includes)
String
...添加一个 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,并且可以在一次调用中指定多个模式。如果没有提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。
SourceTask
include
(Spec
<FileTreeElement
>
includeSpec)
Spec
<FileTreeElement
>添加一个包含规范。此方法可以多次调用以追加新的规范。如果没有提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式或规范才能被包含。
PmdReports
reports
(Action
<? super PmdReports
>
configureAction)
Action
<? super PmdReports
>配置此任务要生成的报告。
SourceTask
source
(Object
...
sources)
Object
...为此任务添加一些源。给定的源对象将根据 Project.files(java.lang.Object[])
进行评估。