为 eclipse-pmd 配置与 gradle PMD 使用相同的 PMD 规则集 - net.sourceforge.pmd:pmd-java 使用哪个规则集

Configure same PMD ruleset for eclipse-pmd as gradle PMD uses - Which ruleset is used for net.sourceforge.pmd:pmd-java

我的 build.gradle 中有 PMD 检查,如下所示:

apply plugin: "pmd"

dependencies {
  pmd "net.sourceforge.pmd:pmd-java:5.5.+"
}
/*** PMD ***/

pmd {
    ignoreFailures = true
}

tasks.withType(Pmd) {
    excludes = ["**/gen/*"]
    reports {
        xml.enabled = true
        html.enabled = true
    }
}

这里使用的是哪个规则集?

我想为 eclipse PMD 插件配置相同的规则集(项目属性 -> PMD - 添加)。 理想情况下,eclipse 项目由 gradle 配置以具有正确的设置。

Gradle 的默认配置使用 java-basic (source)

但是,这是一种非常保守的方法,几乎​​没有利用所有 PMD 所提供的优势。

我作为 PMD 维护者的个人建议是:

  1. 查看 https://pmd.github.io/pmd-5.8.1/pmd-java/rules/index.html
  2. 中可用的所有规则
  3. Create your own ruleset 包括您同意的那些规则,以及您可能希望从默认值更改的所有额外属性。

Gradle 和 PMD Eclipse 插件都可以从文件中的规则集中加载规则,因此很容易使两者始终保持同步。