脉冲数

API文档:Pmd

对 Java 源代码文件运行一组静态代码分析规则并生成所发现问题的报告。

特性

财产描述
classpath

为要分析的类编译类路径。该类路径上的类在分析期间使用,但本身不进行分析。仅 PMD 5.2.1 或更高版本才能很好地支持此功能。

consoleOutput

是否将 PMD 结果写入System.out.

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 将提供最大堆大小。支持命令行选项等单位,-Xmx例如"1g".

minHeapSize
孵化

工作进程的最小堆大小。如果未指定,则不会设置最小堆大小。支持命令行选项等单位,-Xms例如"1g".

pmdClasspath

包含要使用的 PMD 库的类路径。

reports

此任务要生成的报告。

ruleSetConfig

要使用的自定义规则集(如果有)。替换ruleSetFiles,但它当前不支持多个规则集。有关如何编写规则集的信息, 请参阅官方文档。

ruleSetFiles

要使用的自定义规则集文件。有关如何编写规则集文件的信息,请参阅官方文档。如果您只想使用自定义规则集,则必须清除ruleSets

ruleSets

要使用的内置规则集。请参阅内置规则集的 官方列表。

rulesMinimumPriority

指定规则优先级阈值。

source

应用包含和排除模式后此任务的源。忽略不存在的源文件。

targetJdk

与 PMD 一起使用的目标 JDK。

threads

指定 PMD 使用的线程数。

方法

方法描述
exclude(excludeSpec)

添加排除规范。可以多次调用此方法来附加新规范。给定的闭包将 FileTreeElement作为其参数传递。闭包应该返回 true 或 false。例子:

exclude(excludes)

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

exclude(excludes)

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

exclude(excludeSpec)

添加排除规范。可以多次调用此方法来附加新规范。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

include(includeSpec)

添加包含规范。可以多次调用此方法来附加新规范。给定的闭包将 aFileTreeElement作为其参数传递 。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要包含的包含模式或规范之一。

include(includes)

添加 ANT 样式包含模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要处理的包含模式之一。

include(includes)

添加 ANT 样式包含模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要处理的包含模式之一。

include(includeSpec)

添加包含规范。可以多次调用此方法来附加新规范。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要包含的包含模式或规范之一。

reports(configureAction)

配置此任务要生成的报告。

source(sources)

向此任务添加一些源。给定的源对象将根据 进行评估Project.files(java.lang.Object[])

脚本块

堵塞描述
reports

配置此任务要生成的报告。

物业详情

FileCollection classpath

为要分析的类编译类路径。该类路径上的类在分析期间使用,但本身不进行分析。仅 PMD 5.2.1 或更高版本才能很好地支持此功能。

默认使用pmd插件:
sourceSet.outputsourceSet.compileClasspath

boolean consoleOutput

是否将 PMD 结果写入System.out.

默认使用pmd插件:
project.pmd.consoleOutput

Set<String> excludes

排除模式集。

boolean ignoreFailures

注意:此属性正在酝酿中,可能会在 Gradle 的未来版本中发生更改。

指定当此任务执行的验证失败时构建是否应中断。

Set<String> includes

包含模式集。

Property<Boolean> incrementalAnalysis

控制是否使用增量分析。仅 PMD 6.0.0 或更高版本支持此功能。有关更多详细信息,请参阅https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_userdocs_incremental_analysis.html 。

默认使用pmd插件:
false

Property<JavaLauncher> javaLauncher

注意:此属性正在酝酿中,可能会在 Gradle 的未来版本中发生更改。

Java启动器用于启动工作进程

Property<Integer> maxFailures

停止构建之前允许的最大失败次数。默认为 0,任何失败都会停止构建。 0 及以上的值有效。如果

ignoreFailures

设置后,它将被忽略并且构建将继续(允许无限失败)。

默认使用pmd插件:
project.pmd.maxFailures

Property<String> maxHeapSize

注意:此属性正在酝酿中,可能会在 Gradle 的未来版本中发生更改。

工作进程的最大堆大小。如果未指定,Gradle 将提供最大堆大小。支持命令行选项等单位,-Xmx例如"1g".

Property<String> minHeapSize

注意:此属性正在酝酿中,可能会在 Gradle 的未来版本中发生更改。

工作进程的最小堆大小。如果未指定,则不会设置最小堆大小。支持命令行选项等单位,-Xms例如"1g".

FileCollection pmdClasspath

包含要使用的 PMD 库的类路径。

默认使用pmd插件:
project.configurations.pmd

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

List<String> ruleSets

要使用的内置规则集。请参阅内置规则集的 官方列表。

ruleSets = ["basic", "braces"]
默认使用pmd插件:
project.pmd.ruleSets

Property<Integer> rulesMinimumPriority

指定规则优先级阈值。

默认使用pmd插件:
project.pmd.rulesMinimumPriority

FileTree source(只读)

应用包含和排除模式后此任务的源。忽略不存在的源文件。

源的PathSensitivity被配置为PathSensitivity.ABSOLUTE。如果您的来源不太严格,请通过在您的子类中重写此方法来相应地更改它。

默认使用pmd插件:
sourceSet.allJava

TargetJdk targetJdk

与 PMD 一起使用的目标 JDK。

默认使用pmd插件:
project.pmd.targetJdk

Property<Integer> threads

指定 PMD 使用的线程数。

默认使用pmd插件:
1

方法详情

SourceTask excludeClosure不包括规格)

添加排除规范。可以多次调用此方法来附加新规范。给定的闭包将 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>

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

SourceTask excludeString...不包括)

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

SourceTask exclude(不包括规格)Spec<FileTreeElement>

添加排除规范。可以多次调用此方法来附加新规范。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

SourceTask includeClosure包括规格)

添加包含规范。可以多次调用此方法来附加新规范。给定的闭包将 aFileTreeElement作为其参数传递 。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要包含的包含模式或规范之一。

SourceTask include(包括)Iterable<String>

添加 ANT 样式包含模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要处理的包含模式之一。

SourceTask includeString...包括)

添加 ANT 样式包含模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要处理的包含模式之一。

SourceTask include(包括规格)Spec<FileTreeElement>

添加包含规范。可以多次调用此方法来附加新规范。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要包含的包含模式或规范之一。

PmdReports reports(配置动作)Action<? super PmdReports>

配置此任务要生成的报告。

SourceTask sourceObject...来源)

向此任务添加一些源。给定的源对象将根据 进行评估Project.files(java.lang.Object[])

脚本块详细信息

reports{ }

配置此任务要生成的报告。

代表们:
PmdReportsreports