Jenkins下一代警告插件适配clang-tidy的正确XML/JSON格式?
适配Jenkins Next Generation Warnings插件中clangTidy工具的正确格式问题
我有一个针对大型C++项目的Jenkins构建任务,原本运行CppCheck静态分析时,会将XML输出存入控制台日志,再通过Python脚本汇总成单个XML文件,由Jenkins Next Generation Warnings插件正常解析。
现在尝试对clang-tidy执行相同流程:clang-tidy已在控制台生成警告,我用Python解析后生成了XML文件,但插件显示已解析文件,却检测不到任何问题。
当前生成的XML格式
<issues> <issue filename="C:\JenkinsJobs\User-Branch-Build\Windows-ClangTidy-User-Branch\Common\src\infrastructure\CSVParser.cpp" line="62" severity="warning"> <category>cppcoreguidelines-init-variables</category> <message>variable 'uLineNumber' is not initialized</message> </issue> ... </issues>
JenkinsFile中的解析代码
script { recordIssues(enabledForFailure: true, failOnError: true, tool: clangTidy(pattern: '**/clangtidy-*.xml'), qualityGates: [[threshold: 1, type: 'TOTAL', unstable: true ]] ) }
Jenkins输出日志
[Clang-Tidy] Searching for all files in 'c:\JenkinsJobs\User-Branch-Build\Windows-ClangTidy-User-Branch' that match the pattern '**/clangtidy-*.xml' [Clang-Tidy] Traversing of symbolic links: enabled [Clang-Tidy] -> found 1 file [Clang-Tidy] Successfully parsed file c:\JenkinsJobs\User-Branch-Build\Windows-ClangTidy-User-Branch\build\Windows\clangtidy-issues.xml [Clang-Tidy] -> found 0 issues (skipped 0 duplicates)
尝试过的其他方案
我试过多种XML格式都无效,但如果生成和CppCheck相同的XML格式,并把JenkinsFile中的工具改为tool: cppCheck(pattern: '**/clangtidy-*.xml'),插件能以CppCheck Warnings的形式显示问题,但我希望使用内置的clangTidy工具。
参考的CppCheck XML格式
<results version="2"> <cppcheck version="2.14"/> <errors> <error id="cppcoreguidelines-init-variables" severity="warning" msg="variable 'uLineNumber' is not initialized"> <location file="C:\JenkinsJobs\User-Branch-Build\Windows-ClangTidy-User-Branch\MyFile.cpp" line="62" column="17"/> </error> </errors> </results>
请问适配clangTidy工具的正确XML/JSON格式是什么?
内容的提问来源于stack exchange,提问作者mark
相关产品推荐
相关产品推荐

