声纳排除不会阻止分析C#代码

时间:2013-07-29 17:20:39

标签: sonarqube

我已经阅读了有关排除的文档,尝试了几种组合,但Sonar仍在分析它不应该的代码。以下是我的sonar-runner.properties文件的示例:

#----- Required metadata
sonar.projectKey=ProjectKey
sonar.projectName=ProjectName
sonar.projectVersion=1.0
sonar.sources=MySourceFolder
sonar.build-stability.url=-
sonar.language=cs
sonar.dotnet.visualstudio.solution.file=MySourceFolder\\Solution.sln
sonar.donet.visualstudio.testProjectPattern=*.Tests*

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

#----- Default Sonar server
sonar.host.url=http://myserver

#----- MySQL
sonar.jdbc.url=jdbc:mysql://myserver:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
sonar.jdbc.driver=com.mysql.jdbc.Driver

#----- Global database settings
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

#----- Static analysis
sonar.fxcop.installDirectory=C:/Program Files (x86)/Microsoft Fxcop 10.0

我使用的最后一个选项是通过声纳UI(项目设置>排除>源文件排除)配置排除项,并设置如下值:

MySourceFolder/FolderA/FolderB/*.cs

在日志中,我看到以下消息:

[17:27:10][Step 7/9] 17:27:10.919 INFO  - Excluded sources: 
[17:27:10][Step 7/9] 17:27:10.919 INFO  -   MySourceFolder/FolderA/FolderB/*.cs

仍然,我正在分析代码,因为它出现在声纳违规和复制插件信息中。

了解可能导致此行为的原因或如何正确配置C#文件的排除项?

非常感谢!

里卡多

2 个答案:

答案 0 :(得分:4)

SonarQube analysis parameters page所述,指定排除项的属性为“sonar.exclusions”。

所以您可以在“sonar-project.properties”文件中指定:

sonar.exclusions=FolderA/FolderB/*.cs

答案 1 :(得分:1)

实际上,对我而言,情况恰恰相反。
sonar.exclusion没有从分析中排除文件,但通过Sonar GUI将文件名添加到排除列表中工作正常。
我用它进行JavaScript分析。