我使用的是已有多年历史的旧产品。
几年前,我们从 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/