如何开始将pyflakes与Hudson集成

8 投票
3 回答
1799 浏览
提问于 2025-04-15 20:22

我们使用Hudson来进行持续集成,并且用Violations插件来解析pylint的输出结果。不过,pylint有点太严格了,而且配置起来也比较麻烦。我们更想用的是pyflakes,因为它能给我们一个合适的“你这样做是不对的”反馈。

3 个回答

0

这个违规插件需要从不同的检查工具输出XML格式的结果。

这说法不对:有些检查工具,比如“checkstyle”,确实会输出XML格式的文件,但还有一些工具,比如“pylint”和“pep8”,则是输出文本文件,每行一条记录。Jenkins中的“XML文件名模式”这个标题让人误解。

1

Violations 插件需要从它支持的各种检查工具那里获取 xml 格式的输出。

我对 pyflakes 不是很熟悉,但我简单看了一下,发现它似乎不支持输出 xml 格式。所以你需要在让 Violations 解析 pyflakes 的输出之前,先对这个输出进行处理(或者你可以修改 pyflakes,自己写一个消息输出类)。你可能还想捕获 pylint 的输出,然后用它来了解 Violations 插件喜欢的 xml 格式是什么样的。

4

你可以调整pyflakes和pep8的输出,让它们和Violations pylint插件一起使用。

pyflakes path/to/src | awk -F\: '{printf "%s:%s: [E]%s\n", $1, $2, $3}' > violations.pyflakes.txt

pep8 path/to/src | awk -F\: '{printf "%s:%s: [%s]%s\n", $1, $2, substr($4,2,4), substr($4,6)}' > violations.pep8.txt

你可以使用正则表达式或者把输出拼接起来,生成一个包含多个指标的报告。

想了解更多细节,可以查看这个链接:http://hustoknow.blogspot.com/2011/01/integration-pyflakes-into-hudson.html

撰写回答