首页 > 解决方案 > 如何解决运行代码分析任务TFS中文件无法被索引两次错误?

问题描述

我正在使用 SonarQube 版本 7.4 和 TFS 构建任务运行代码分析版本 4

我收到一个错误文件不能被索引两次。请检查包含/排除模式是否会为主文件和测试文件生成不相交的集合

以下是我对 SonarQube 任务步骤的准备分析的配置

sonar.verbose=true
sonar.sources=(Build.SourcesDirectory)
sonar.inclusions=Code/**
sonar.cs.vstest.reportsPaths=**/*.trx
sonar.cs.vscoveragexml.reportsPaths=**/*.coveragexml
sonar.cfamily.build-wrapper-output=(Build.SourcesDirectory)
sonar.cfamily.threads=6
sonar.cfamily.cppunit.reportsPath=**/result.xml
sonar.branch.name=(Build.SourceBranchName) sonar.dependencyCheck.reportPath=(Build.ArtifactStagingDirectory)\dependency-check-report.xml
sonar.dependencyCheck.htmlReportPath=$(Build.ArtifactStagingDirectory)\dependency-check-report.html

下面也是我的项目文件夹结构

Client
    Code
    Lib
    Package
    Research
    Runners
    Tools

我只想扫描代码文件夹,请帮助我。

标签: tfsazure-devopssonarqubesonarqube-scansonar-runner

解决方案


如何解决运行代码分析任务TFS中文件无法被索引两次错误?

根据您对 SonarQube 任务步骤的 Prepare analysis 的配置,您似乎没有正确配置源文件和测试文件。

根据SonarOpenCommunity 上的常见问题解答,我们可以知道:

问:错误:原因:文件 [...] 不能被索引两次。

答:如果出现以下错误,您必须验证您的排除/包含属性。请检查包含/排除模式是否会为源文件和测试文件生成不相交的集合

因此,为了解决这个问题,我们需要检查包含/排除模式是否会为源文件和测试文件生成不相交的集合。

@Naveen Kumar 的解决方案:

删除了 sonar.sources 并添加了 sonar.inclusions 和 sonar.exclusions 解决了他的问题。


推荐阅读