我想禁用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, ...
答案 0 :(得分:2)
文件包含/排除基于相对于每个SonarQube模块的路径(即Visual Studio项目)。所以如果" Business"是一个VS项目,这确实不会起作用。