我在使用Jenkins,SonarQube和cppcheck分析包含C#和Cpp项目的解决方案时遇到了问题。 对C#代码的分析工作总体上很好,所有结果(问题,代码覆盖等)都显示在Sonar中。
使用cppcheck进行C ++代码分析工作正常 - 结果通过Cppcheck在Jenkins中显示 插件但声纳中没有输出(甚至没有cpp的质量配置文件在声纳项目中被激活 - 这有效 我在为测试目的设置的测试项目中自动完成。
jenkins中的控制台输出为每个.cpp,.h,.vcxproj文件提供以下警告:
{{1}}
文件肯定位于这些警告之后列出的文件路径中,并且它们在分析期间(不复制/移动 构建作业中的文件。)
我已经阅读了这个post并确认了 我没有出现"测试"在我的路上。我还确保我要分析的文件不是共享文件。
我希望任何人都有一些想法在这里出错 - 我还没知道为什么声纳不想显示我的cppcheck结果。
我的系统:
祝你好运
Akki
答案 0 :(得分:2)
我目前正在开发一个用于导入PVS-Studio静态分析结果的SonarQube插件,我遇到了同样的问题。您提到的消息由MSBuild.SonarQube.Runner生成,表示分析中的源文件位于目录树中比.vcxproj文件更高的位置,例如:
sourceFile.cpp
projectDirectory
|
---project.vcxproj
据我了解,MSBuild.SonarQube.Runner假定所有源文件都应位于.vcxproj文件所在的目录下,并忽略所有不满足此条件的文件。
由于无法改变MSBuild.SonarQube.Runner确定项目基本目录的方式,并且您仍需要分析这些跳过的文件,我建议您使用默认的SonarQube扫描程序,将sonar-project.properties配置文件创建为这里描述:SonarQube Scanner,并使用sonar.sources属性指定源文件的路径。