从 sonar-runner 迁移到 MSBuild Runner。 sonar-project.properties 文件去哪儿了?
Migrating from sonar-runner to MSBuild Runner. Where did the sonar-project.properties file go?
场景:
我正在将我们当前的 VS 解决方案分析设置从使用声纳运行器迁移到使用 MSBuild 运行器。但是我遇到了一个相当重要的问题。
在旧设置中,我们使用 sonar-project.properties
文件指定了我们的项目名称、密钥以及最重要的一长串跳过的项目 (sonar.visualstudio.skippedProjectPattern
)。
这是因为[警告:丑陋的遗留错误编码实践警告]我们有六个解决方案构建了数十个项目,全部来自同一个 git 存储库。许多项目在多个解决方案中是通用的,我们不希望对它们进行多次分析。因此,每个解决方案都有一组项目 "owns" 并作为其中的一部分进行分析。因此,每个其他解决方案的 sonar-project.properies
文件指定要忽略这些项目。
问题:在新的 MSBuild Runner 方法中,似乎没有 MS 解决方案级别(也称为 SonarQube 项目level) 配置文件或机制,除了将命令行上的参数传递给 MSBuild 运行程序的 'begin' 阶段。一个具有全局配置文件,或 MSBuild *.*proj
文件(即 MS 项目级别 配置文件)。后者显然是不可能的,因为一个项目是否被排除在分析之外取决于正在分析的解决方案。
如前所述,可以想象我们可以在命令行中传递所有这些,但这是次优的。我们的构建是通过尽可能通用的脚本完成的。在 sonar-project.properities
文件中进行配置对保持这种状态有很大帮助,我们希望我们在这里遗漏了一些可以让我们继续使用该文件或类似文件的东西。我们是吗?
v1.0 MSBuild SonarQube Runner 支持 /s:
命令行参数,允许您指定要使用的全局设置文件。设置文件可以包含您之前放在 sonar-project.properties
文件中的任何其他全局设置。
如果您未指定全局设置文件,MSBuild Runner 将在与运行器可执行文件相同的位置查找默认全局设置文件。
有关详细信息,请参阅文档存储库:https://github.com/SonarSource/sonar-.net-documentation/blob/master/doc/appendix-2.md
目前在 MSBuild SonarQube Runner 1.0 版中没有与 sonar-project.properties
文件等效的文件。我已经向项目的积压工作添加了一张新票,以考虑在即将发布的版本中添加此功能:http://jira.sonarsource.com/browse/SONARMSBRU-124
现在可以通过每个 .csproj 文件中的 ItemGroup 添加属性,方法如下:
<ItemGroup>
<SonarQubeSetting Include="sonar.cpd.exclusions">
<Value>Models/**/*.cs</Value>
</SonarQubeSetting>
</ItemGroup>
场景: 我正在将我们当前的 VS 解决方案分析设置从使用声纳运行器迁移到使用 MSBuild 运行器。但是我遇到了一个相当重要的问题。
在旧设置中,我们使用 sonar-project.properties
文件指定了我们的项目名称、密钥以及最重要的一长串跳过的项目 (sonar.visualstudio.skippedProjectPattern
)。
这是因为[警告:丑陋的遗留错误编码实践警告]我们有六个解决方案构建了数十个项目,全部来自同一个 git 存储库。许多项目在多个解决方案中是通用的,我们不希望对它们进行多次分析。因此,每个解决方案都有一组项目 "owns" 并作为其中的一部分进行分析。因此,每个其他解决方案的 sonar-project.properies
文件指定要忽略这些项目。
问题:在新的 MSBuild Runner 方法中,似乎没有 MS 解决方案级别(也称为 SonarQube 项目level) 配置文件或机制,除了将命令行上的参数传递给 MSBuild 运行程序的 'begin' 阶段。一个具有全局配置文件,或 MSBuild *.*proj
文件(即 MS 项目级别 配置文件)。后者显然是不可能的,因为一个项目是否被排除在分析之外取决于正在分析的解决方案。
如前所述,可以想象我们可以在命令行中传递所有这些,但这是次优的。我们的构建是通过尽可能通用的脚本完成的。在 sonar-project.properities
文件中进行配置对保持这种状态有很大帮助,我们希望我们在这里遗漏了一些可以让我们继续使用该文件或类似文件的东西。我们是吗?
v1.0 MSBuild SonarQube Runner 支持 /s:
命令行参数,允许您指定要使用的全局设置文件。设置文件可以包含您之前放在 sonar-project.properties
文件中的任何其他全局设置。
如果您未指定全局设置文件,MSBuild Runner 将在与运行器可执行文件相同的位置查找默认全局设置文件。
有关详细信息,请参阅文档存储库:https://github.com/SonarSource/sonar-.net-documentation/blob/master/doc/appendix-2.md
目前在 MSBuild SonarQube Runner 1.0 版中没有与 sonar-project.properties
文件等效的文件。我已经向项目的积压工作添加了一张新票,以考虑在即将发布的版本中添加此功能:http://jira.sonarsource.com/browse/SONARMSBRU-124
现在可以通过每个 .csproj 文件中的 ItemGroup 添加属性,方法如下:
<ItemGroup>
<SonarQubeSetting Include="sonar.cpd.exclusions">
<Value>Models/**/*.cs</Value>
</SonarQubeSetting>
</ItemGroup>