在SonarQube Runner中,可以通过sonar项目属性中的sonar.exclusions属性来管理被排除的项目。这样我们就可以将构建配置与代码库分开管理。
我们正在从Runner迁移到Scanner for MSBuild,以利用对我们的代码运行FXCop规则。
在项目根文件夹中保留sonar-project.properties文件会导致“MSBuild.SonarQube.Runner.exe end”命令异常。 SonarQube Scanner for MSBuild不理解sonar-project.properties文件。请从以下文件夹中删除这些文件:[folder] 现在我唯一能看到的排除特定项目的选项(实际上是所有名称以.Test,.Tests,.Testing,.UnitTests等结尾的项目)似乎是在每个受影响的项目的propertyGroup中添加一个项目属性:
我们正在从Runner迁移到Scanner for MSBuild,以利用对我们的代码运行FXCop规则。
在项目根文件夹中保留sonar-project.properties文件会导致“MSBuild.SonarQube.Runner.exe end”命令异常。 SonarQube Scanner for MSBuild不理解sonar-project.properties文件。请从以下文件夹中删除这些文件:[folder] 现在我唯一能看到的排除特定项目的选项(实际上是所有名称以.Test,.Tests,.Testing,.UnitTests等结尾的项目)似乎是在每个受影响的项目的propertyGroup中添加一个项目属性:
<SonarQubeExclude> true </ SonarQubeExclude>
与在根级别(我们在Jenkins中使用的方法)或在构建设置中(我们目前在TeamCity中使用的方法)管理设置相比,这很难维护,容易出错且繁琐。
有其他替代方案吗?或计划在未来推出?
当项目文件夹称为***.Tests时,在将其添加到排除设置后仍会进行扫描。
[14:14:14][Step 12/23] INFO: ------------- Scan MyProject.Tests
[14:14:14][Step 12/23] INFO: Excluded sources for coverage:
[14:14:14][Step 12/23] INFO: **/*.Tests/**/*
[14:14:14][Step 12/23] INFO: **/*.Test/**/*
[14:14:14][Step 12/23] INFO: Base dir: C:\SomeFolder\MyProject\Modules\MyProject.Tests
[14:14:14][Step 12/23] INFO: Working dir: C:\SomeFolder\MyProject\.sonarqube\out\.sonar\{Sonar_Project}_{some guid}
[14:14:14][Step 12/23] INFO: Test paths: [I removed some classes], Utils/SomeTests.cs, Enum/dummy.resx, app.config, Compression/TestData/data1.FRM, Compression/TestData/data1.zip, Compression/TestData/data1.Off.zip, packages.config
[14:14:14][Step 12/23] INFO: Source encoding: UTF-8, default locale: en_US
[14:14:14][Step 12/23] INFO: Index files
[14:14:15][Step 12/23] INFO: 45 files indexed
[14:14:15][Step 12/23] INFO: Quality profile for cs: [some profile]
[14:14:15][Step 12/23] INFO: Quality profile for vb: [some profile]