我有这个运行良好的 Makefile:
$ cat Makefile
PMD := ~/pmd-bin-6.31.0/bin/run.sh pmd
gen_quality_analysis:
$(PMD) -d MyCode/ -R rulesets/java/quickstart.xml -f text > quality_analysis/report.txt
$
我的问题是我从 Makefile 中得到一个 Error 4
$ LANG=en make gen_quality_analysis
~/pmd-bin-6.31.0/bin/run.sh pmd -d AtlasPOC2/ -R rulesets/java/quickstart.xml -f text > quality_analysis/report.txt
Feb 14, 2021 9:53:35 AM net.sourceforge.pmd.PMD encourageToUseIncrementalAnalysis
WARNING: This analysis could be faster, please consider using Incremental Analysis: https://pmd.github.io/pmd-6.31.0/pmd_userdocs_incremental_analysis.html
make: *** [Makefile:15: gen_quality_analysis] Error 4
$
我怎样才能骑这个
make: *** [Makefile:15: gen_quality_analysis] Error 4
线?
注意:尽管我收到了这个错误 4,但工作运行良好,我得到了预期的 report.txt
答案 0 :(得分:2)
按优先顺序:
修复程序 ~/pmd-bin-6.31.0/bin/run.sh pmd
以在成功时返回 0。
编写一个将退出状态从 4 更改为 0 的包装器:
$(PMD) -d ...;\
status=$$?;\
[ $$status -eq 4 ] && status=0;\
exit $$status
使用 .IGNORE: gen_quality_analysis
忽略该目标的错误。
通过使用 make -i
运行 make 忽略所有错误。
答案 1 :(得分:0)
来自 pmd 的帮助文档 - 发现违规时返回码为 4,这是意料之中的。 https://pmd.github.io/latest/pmd_userdocs_cli_reference.html
如果您希望即使发现违规也返回代码为 0,请添加“-failOnViolation false”。