场景: 我正在将我们当前的 VS 解决方案分析设置从使用 sonar-runner 迁移到使用 MSBuild runner。但是我遇到了一个相当重要的问题。
在旧设置中,我们使用该文件指定了我们的项目名称、密钥以及最重要的是一长串跳过的项目 ( sonar.visualstudio.skippedProjectPattern
) sonar-project.properties
。
这是因为 [警告:丑陋的遗留不良编码实践警报] 我们有六个解决方案,可以构建数十个项目,所有项目都来自同一个 git 存储库。许多项目在多个解决方案中都很常见,我们不希望对它们进行多次分析。因此,每个解决方案都有一组它“拥有”的项目,并作为其中的一部分进行分析。因此sonar-project.properies
,每个其他解决方案的文件都指定这些项目将被忽略。
问题:在新的 MSBuild Runner 方法中,除了将命令行上的参数传递到 MSBuild runner 的“开始”阶段之外,似乎没有MS 解决方案级别(也读作 SonarQube 项目级别)配置文件或机制。一个要么具有全局配置文件,要么具有 MSBuild*.*proj
文件(即MS 项目级配置文件)。后者显然是不可能的,因为项目是否被排除在分析之外是基于正在分析的解决方案。
如前所述,可以想象我们可以在命令行中传递所有这些,但这是次优的。我们的构建是由尽可能通用的脚本完成的。在sonar-project.properities
文件中进行配置对保持这种方式有很大帮助,我们希望在这里遗漏一些东西,让我们继续使用该文件或类似文件。我们是吗?