在 Gradle 的 Java 项目中,我们可以通过 pmd
插件使用 PMD。要配置我们要使用的规则,可以通过两种方式进行:
- > ruleSetFiles - 要使用的自定义规则集文件。有关如何编写规则集文件的信息,请参阅官方文档。示例:ruleSetFiles = files("config/pmd/myRuleSet.xml")
- > ruleSets要使用的内置规则集。请参阅内置规则集的官方列表。
使用 ruleSetFiles 没有问题,您可以找到规则的名称并添加或排除规则,但是在文档中没有关于 ruleStes 的信息?从哪里可以找到确切的名字?从我从另一个项目中发现的名称与 PMD 文档中的名称相似,但小写。例如:
Braces - > java-braces
Clone - > java-clone
Implementation - >java-implementation
Code Size - > java-codesize
但这就像安全代码指南 不会在-> java-securitycodeguidelines 中转换,而只是在java-sunsecure 中转换。我发现这些名称适用于 PMD 5.1.1。是:
pmd {
ruleSets = [
'java-android',
'java-basic',
'java-braces',
'java-clone',
'java-codesize',
'java-comments',
'java-controversial',
'java-coupling',
'java-design',
'java-empty',
'java-finalizers',
'java-imports',
'java-j2ee',
'java-javabeans',
'java-junit',
'java-logging-jakarta-commons',
'java-logging-java',
'java-migrating',
'java-naming',
'java-optimizations',
'java-strictexception',
'java-strings',
'java-sunsecure',
'java-typeresolution',
'java-unnecessary',
'java-unusedcode'
]
toolVersion = '5.1.1'
ignoreFailures = true
}
如何找到文档中显示的 PMD 名称与 Gradle 名称之间的映射?
最佳答案
The docs for RuleSetReferenceId很有帮助,因为我相信这 directory在源代码树中。基本上将 java- 放在任何这些文件的前面以打开那里的规则。
关于java - 如何在 Gradle >2.0 中查找 PMD 规则集名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25584501/