为 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 维护者的个人建议是:
- 查看 https://pmd.github.io/pmd-5.8.1/pmd-java/rules/index.html
中可用的所有规则
- Create your own ruleset 包括您同意的那些规则,以及您可能希望从默认值更改的所有额外属性。
Gradle 和 PMD Eclipse 插件都可以从文件中的规则集中加载规则,因此很容易使两者始终保持同步。
我的 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 维护者的个人建议是:
- 查看 https://pmd.github.io/pmd-5.8.1/pmd-java/rules/index.html 中可用的所有规则
- Create your own ruleset 包括您同意的那些规则,以及您可能希望从默认值更改的所有额外属性。
Gradle 和 PMD Eclipse 插件都可以从文件中的规则集中加载规则,因此很容易使两者始终保持同步。