git - 在gradle中的一组文件上运行pmd

标签 git gradle pmd

我使用的是已有多年历史的旧产品。
几年前,我们从 Ant 搬到了gradle。现在,我要在所有文件上添加pmd检查。
当我对产品中的3500个文件进行检查时。问题是,当您对旧文件运行这种分析时,它往往会导致很多违规情况。在这种情况下,大约为10000,这太多了,无法开始工作。

我的想法是从现在开始(即从git中的特定提交/标记)开始检查所有带有pmd的java文件。
是否可以从git表达式指定pmd评估的文件集,例如:

def targetFiles =“git diff --name-only 85d1633..HEAD” .execute()“

最佳答案

我不认为可以通过Gradle的PMD插件指定文件列表。

您可以使用Google“pmd make rule set”来查看有关创建自定义规则集的PMD文档(对于PMD 5.1.x-http://pmd.sourceforge.net/pmd-5.1.1/howtomakearuleset.html)。您可能只将规则集与动态创建的<include-pattern>元素拼凑在一起。

我会建议一种替代方法。无需立即打开所有PMD检查,只需选择一个,将其打开并修复那些违规情况即可。这应该是更易于管理的违规次数。一次重复执行一个规则,直到您关心的所有规则都已打开。

关于git - 在gradle中的一组文件上运行pmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40403492/

相关文章:

git - 有没有办法避免手动配置 git flow?

git - Git:如何将现有的 `merge`转换为 `merge --squash`?

java - 当 pull 请求 merge 到 bitbucket 时自动更新 npm 版本

java - GWT 交换机性能 - PMD 的建议

java - 将方法的复杂度降低 14

git - “git apply”失败,代码为 1 : trailing whitespace in SourceTree

java - 构建应用程序包时,gradle 脚本不起作用

java - Android - 将现有应用程序作为库项目添加到另一个应用程序

unit-testing - Gradle中的Sonarqube任务不会产生测试覆盖率

java - 没有重叠的 CheckStyle、FindBugs 和 PMD 配置