2015-06-05 18 views
2

关于此问题有一些问题,但他们都没有解决我的问题。如何从代码分析中排除目录?

我用SonarQube在我的项目,其中包含一个迁移目录的一个做代码分析。我想排除从代码分析的那个目录中的所有源文件。

在项目配置 - >设置 - > Exclusions->文件 - >源文件排除我加“** /迁移/ ,但在分析结果我还是得到代码文件问题该目录。
我的项目的目录结构如下所示:\MyProject\Migrations\SourceFile.cs

我在做什么错了?我是否在错误的地方输入了通配符,或者我的通配符错误?

在日志中我可以看到

13:06:23.460 INFO - Copy-paste detection exclusions: 
13:06:23.476 **/Migrations/*.* 

但后来我还可以看到

13:06:12.076 INFO - Inspecting <MyProject>\Migrations\SourceFile.cs 
+2

你检查这一点 - http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus 这也许应该为你工作: sonar.exclusions =迁移/ **/* – Techtwaddle

+0

是啊,并且该配置参数似乎是最合理的选择,但实际上不同的设置参数完成了这个技巧,答案中的细节。 –

回答

1

我不得不使用不同的设置。

相反配置 - >设置 - > Exclusions->文件 - >源文件排除我不得不使用配置 - >设置 - > Exclusions->Issues->忽略多项标准问题。

在这个设置中,我必须将RULE KEY PATTERN设置为*,并且我必须在FILE PATH PATTERN中设置路径通配符,**/Migrations/.完美地工作。

+0

哪个版本的SonarQube是这个用的? – user944849

+0

这是版本4.1。从那以后,我更新到最新的5.1.1,但我没有检查它是否仍然有效。 –

2

这是正确的地方设置。请仅尝试或/MyProject/Migrations/**。当你遇到你想要摆脱的问题之一时,你会看到你的“正则表达式”路径应该从什么开始。

而且多了一个提示:要查看结果,你必须重建项目,再次运行声纳。再次,直到你做对了。

+0

感谢您的建议,我尝试重新启动并简化了标准,但这并没有帮助。但是,我设法使它与另一个配置参数一起工作,答案中的详细信息。 –