java - 如何在 Gradle >2.0 中查找 PMD 规则集名称

标签 java gradle pmd

在 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/

相关文章:

java - JodaTime DateTime,ISO8601 GMT 日期格式

java - JAXB 中的 <foo></foo> 和 null 有什么区别?

java - Android 构建失败 com.android.dex.DexException : Multiple dex files define Landroid/support

java - 避免在方法级别同步

java - Pmd 规则 : Too many static imports may lead to messy code in unitTest is not violated

java - CollectionUtils.isEmpty(list) 如何工作?

Java 旋转矩形产生奇怪的值

android - Glide Gradle和FirebaseUI无法同步

java - 构建 GraniteDS 项目时 Gradle 异常

java - 当前有任何将 Sonar 用于 Java 7 代码的解决方法吗?