我已经阅读了有关排除的文档,尝试了几种组合,但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#文件的排除项?
非常感谢!
里卡多
答案 0 :(得分:4)
如SonarQube analysis parameters page所述,指定排除项的属性为“sonar.exclusions”。
所以您可以在“sonar-project.properties”文件中指定:
sonar.exclusions=FolderA/FolderB/*.cs
答案 1 :(得分:1)
实际上,对我而言,情况恰恰相反。
sonar.exclusion没有从分析中排除文件,但通过Sonar GUI将文件名添加到排除列表中工作正常。
我用它进行JavaScript分析。