SonarQube 7.4 使用 fastlane 扫描 ObjectiveC

SonarQube 7.4 scanning ObjectiveC using fastlane

我有很多 iOS 项目同时包含 ObjectiveC 和 Swift 代码。我正在使用 SonarQube 7.4 服务器并使用 Fastlane 进行构建、测试、扫描和部署。 1 年多来一切正常,突然声纳扫描仪开始出现以下错误:

INFO: Sensor CFamily [cpp]
ERROR: The only way to get an accurate analysis of C/C++/Objective-C files is by using the SonarSource build-wrapper
and setting the property "sonar.cfamily.build-wrapper-output", but it was not specified.
If you don't want to analyze C/C++/Objective-C files, then prevent them from being analyzed by setting the following properties:
sonar.c.file.suffixes=-
sonar.cpp.file.suffixes=-
sonar.objc.file.suffixes=-

我在我的一个项目上尝试了 build-wrapper,但它开始出现编译错误。 Fastlane Gym 虽然工作正常。因此,与其弄清楚所有这些,不如在 Fastlane 中有一个插件来解决这个问题?或者我可以忽略这个构建包装器的任何方式? (它工作正常但突然停止所以不确定它是否是 'really' 问题)

解决方案非常有趣,因为 SonarQube 扫描仪的功能已损坏(或存在错误)。我创建了一个新项目并使用 build-wrapper 来构建我的项目。它在目录

中创建了 2 个文件
  • bw_output/
    • 构建包装器-dump.json
    • 构建-wrapper.log

build-wrapper-dump.json 的内容是

{"version":0,
"captures":[]}

我将此文件用于我的其他项目,sonar-scanner 对所有项目都有效。所以看起来上述问题的解决方案是提交这 2 个文件并更新 sonar-project.properties,如下所示:

sonar.cfamily.build-wrapper-output=bw_output
#sonar.cfamily.build-wrapper-output.bypass=true

第二行是注释,也可以跳过