为此,我将 Jenkins警告插件与自定义解析器一起使用。
从 3.8 版开始,您可以在 Jenkins 的系统配置部分动态定义新的解析器。只需导航到http://[jenkins-url]/configure并在Compiler Warnings部分创建一个新的解析器。UI应该是不言自明的
使用以下命令行生成一个文本文件,而不是 XML:
cppcheck --enable=all --template="{file},{line},{severity},{id},{message}" . 2> cppcheck.txt
这是模板参数的帮助:
--template='<text>' Format the error messages. E.g.
'{file}:{line},{severity},{id},{message}' or
'{file}({line}):({severity}) {message}' or
'{callstack} {message}'
Pre-defined templates: gcc, vs, edit.
更多信息可以在 Cppcheck PDF手册中找到。
我正在使用这个正则表达式来解析文件:
^(.+),(\d+),(error|warning|style|performance|portability|information),(.*),(.*)$
更新
警告插件已终止使用。所有功能都已集成到警告下一代插件中。
使用这个新插件,无需自定义解析器即可支持 cppcheck。
使用以下命令行生成 XML 文件:
cppcheck --xml --xml-version=2 . 2> cppcheck.xml
在您的 Jenkinsfile 中,您需要添加此行以扫描文件以查找警告或问题:
scanForIssues tool: cppCheck(pattern: 'cppcheck.xml')