【发布时间】:2010-03-13 00:46:18
【问题描述】:
我们使用 Hudson 与 Violations 插件进行持续集成,该插件解析来自 pylint 的输出。但是,pylint 有点太严格了,而且很难配置。我们更愿意使用的是 pyflakes,它会给我们正确的“你做错了”的水平。
【问题讨论】:
标签: python continuous-integration hudson pylint pyflakes
我们使用 Hudson 与 Violations 插件进行持续集成,该插件解析来自 pylint 的输出。但是,pylint 有点太严格了,而且很难配置。我们更愿意使用的是 pyflakes,它会给我们正确的“你做错了”的水平。
【问题讨论】:
标签: python continuous-integration hudson pylint pyflakes
您可以调整 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
【讨论】:
Violations 插件需要它支持的各种检查器的 xml 输出。
我对 pyflakes 不熟悉,但从我的简短扫描来看,它似乎不支持将 xml 作为输出类型。因此,您必须在让 Violations 尝试解析它之前对 pyflakes 输出进行后处理(或者您可以修改 pyflakes 并编写自己的 Message 输出类)。您可能想要捕获 pylint 输出并使用它来找出 Violations 插件喜欢的适当 xml 格式。
【讨论】:
Violations 插件需要来自各种检查器的 xml 输出
这是错误的:一些检查器(如“checkstyle”)输出 XML,另一些检查器(如“pylint”和“pep8”)输出“文本”文件,每行一条记录。 Jenkins 中的“XML 文件名模式”标题明显具有误导性。
【讨论】: