忽略多个标准无效的问题

时间:2016-03-07 10:04:24

标签: c# .net sonarqube sonarqube5.3

我想禁用C#规则“删除此强制转换并编辑界面以添加缺少的功能”(csharpsquid:S3215)。不是一般的,但对于文件夹中的所有文件“something \ Business \ Genome \ * .cs”) (“某事物”可以是一个或多个目录)

我正在尝试在此SonarQube项目中使用“忽略多个条件上的问题”选项,但我无法找出正确的设置(或者此功能可能无法正常工作?)。

到目前为止我尝试过的组合:

Rule Key Pattern               File Path Pattern 
csharpsquid:S3215              **/Business/Genome/*.cs
csharpsquid:S3215              **\Business\Genome\*.cs
csharpsquid:S3215              **//Business//Genome//*.cs
*:S3215                        **/Business/Genome/*.cs
*:S3215                        **\Business\Genome\*.cs
*:S3215                        **//Business//Genome//*.cs

我甚至不知道它是规则键模式还是不匹配的文件路径模式......: - /

更新08.03.16: 昨晚我跑了一些额外的测试。我没有在项目级别配置全局级别,而是使用了

Rule Key Pattern               File Path Pattern 
csharpsquid:S3215              **/?usiness/?enome/*.cs

排除套管问题:也没有成功。

然后我只用了

Rule Key Pattern               File Path Pattern 
csharpsquid:S3215              **/*.cs

看看它是否有效,而且确实如此。 所以我的道路一定是错的,但我不明白。

更新08.03.16(2):以下是构建服务器日志中的一行:

08:57:50.854 INFO  - 0/658 files analyzed, starting to analyze: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome\Absence.cs

我很确定这不是套管问题。但我有另一种怀疑。我扫描整个解决方案,显然SonarQube将该解决方案中的每个项目视为一个组件,并单独扫描每个组件/项目。扫描路径是否可能与项目相关?因为我在日志中也看到了这一点:

08:57:43.701 INFO  - Loading plugin stylecopanalyzers
08:57:43.924 INFO  - Base dir: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome
08:57:43.924 INFO  - Working dir: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\.sonarqube\out\.sonar...
08:57:44.103 INFO  - Source paths: Absence.cs, ...

1 个答案:

答案 0 :(得分:2)

文件包含/排除基于相对于每个SonarQube模块的路径(即Visual Studio项目)。所以如果" Business"是一个VS项目,这确实不会起作用。