忽略多个条件不起作用的问题
Ignore Issues on Multiple Criteria not working
我想禁用 C# 规则 "Remove this cast and edit the interface to add the missing functionality" (csharpsquid:S3215)。一般情况下不是,但对于文件夹中的所有文件 "something\Business\Genome\*.cs")
("something"可以是一个或多个目录)
我正在尝试在此 SonarQube 项目上使用选项 "Ignore Issues on Multiple Criteria",但我无法找到正确的设置(或者这个功能可能根本不起作用?)。
到目前为止我尝试过的组合:
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
我什至不知道是规则键模式还是文件路径模式不匹配...:-/
2016 年 3 月 8 日更新:
昨晚我 运行 进行了一些额外的测试。我在全局级别配置了它,而不是项目级别,我使用了
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 将该解决方案中的每个项目都视为一个组件,并单独扫描每个 component/project。扫描路径是否可能与项目相关?因为我在日志中也看到了这个:
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, ...
文件 inclusions/exclusions 基于相对于每个 SonarQube 模块(即 Visual Studio 项目)的路径。所以如果"Business"是一个VS项目,这确实行不通。
我想禁用 C# 规则 "Remove this cast and edit the interface to add the missing functionality" (csharpsquid:S3215)。一般情况下不是,但对于文件夹中的所有文件 "something\Business\Genome\*.cs") ("something"可以是一个或多个目录)
我正在尝试在此 SonarQube 项目上使用选项 "Ignore Issues on Multiple Criteria",但我无法找到正确的设置(或者这个功能可能根本不起作用?)。
到目前为止我尝试过的组合:
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
我什至不知道是规则键模式还是文件路径模式不匹配...:-/
2016 年 3 月 8 日更新: 昨晚我 运行 进行了一些额外的测试。我在全局级别配置了它,而不是项目级别,我使用了
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 将该解决方案中的每个项目都视为一个组件,并单独扫描每个 component/project。扫描路径是否可能与项目相关?因为我在日志中也看到了这个:
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, ...
文件 inclusions/exclusions 基于相对于每个 SonarQube 模块(即 Visual Studio 项目)的路径。所以如果"Business"是一个VS项目,这确实行不通。