我有以下设置......
我们有许多Visual Studio C ++解决方案/项目。它们都通过TeamCity成功处理 - 编译,单元测试,Nuget包生成等。我现在尝试使用C ++社区插件添加这些项目的Sonar分析。
现在我知道插件本身不执行任何分析,必须单独完成,插件只导入结果。该插件能够成功识别并导入所有源文件,我可以在SonarQube仪表板中列出它们。 实际构建和分析是使用MSBuild通过Visual Studio / Visual C ++编译器完成的。我已经通过MSBuild启用了代码分析,我可以看到它正在生成一个问题列表。但是,我无法让SonarQube导入该问题列表。
对于MSBuild命令,我使用以下参数...
/t:Build
/p:Configuration=Debug
/p:RunCodeAnalysis=True;CodeAnalysisRuleSet=AllRules.ruleset;verbosity=normal
/filelogger
/flp:verbosity=diagnostic
我已经确认正在生成MSBuild.log文件并且它正在发现问题。
Sonar-Runner步骤有以下选项......
-Dsonar.language=c++
-Dsonar.projectKey=MYProject
-Dsonar.projectName=MYProject
-Dsonar.projectVersion=0.0.1
-Dsonar.sources=Src
-Dsonar.cxx.compiler.reportPath=*.log
-Dsonar.cxx.compiler.charset=UTF-8
-Dsonar.exclusions=**/packages/**/*
-Dsonar.cxx.includeDirectories=Src/Packages "
-Dsonar.cxx.compiler.parser='Visual C++'"
我也尝试过使用-Dsonar.cxx.compiler.reportPath=MSbuild.log
声纳似乎运行良好,但是没有解决代码分析问题。
有人可以建议我做错了什么,或者还有什么可以尝试。
非常感谢任何帮助。
谢谢&的问候,
RG
答案 0 :(得分:0)
尝试plugin的最新版本,并确保在您的个人资料中启用所有与编译器相关的规则。并检查编译构建日志,如果路径是相对的,则需要将/ FC标记传递给compilation