使用 SonarQube 9.6.0,
我有一个文件frontend/frontendUI/src/services/mock-data.ts
,正如其名称所示,其中包含大量快速而粗糙的模拟数据,这些数据实际上没有任何意义或不符合特定的风格。
我想跳过 SonarQube 对这个文件的分析——事实上,还有其他几个也名为“mock-*”的文件的分析。
为此,我发现本相应部分手册内容:
项目级别
项目设置 > 常规设置 >分析范围 > A. 文件排除
- 源文件排除:一个或多个通配符模式,定义从 定义的文件中过滤掉哪些文件
sonar.sources
。也可以使用 键在配置文件中设置sonar.exclusions
。
在屏幕上,我可以这样做,这是显示的通配符定义:
您可以使用以下通配符。[...]
* 匹配零个或多个字符
** 匹配零个或多个目录
? 匹配单个字符
我继续尝试了以下输入方式:
**/mock-*
- 这个很理想。**/mock-data.ts
frontend/frontendUI/src/services/mock-data.ts
- 这是直接从文件中的报告中复制的。
每次我保存后都重新运行分析。但都不起作用——之前报告的问题仍然存在。
不过,查看我的扫描仪示波器,我发现输入的值已成功应用。以下是我第二次尝试的相关值(据我所知):
Project server settings:
- sonar.exclusions=**/mock-data.ts,frontend/frontendUI/src/services/mock-data-backend-service.ts
Project scanner properties:
- sonar.exclusions=**/*pb.go,**/dist/**
- sonar.inclusions=**/*.go,**/*.ts
- sonar.sources=gocode,frontend
...现在,我尝试使用“忽略多个标准的问题”配置:
- 规则关键模式:
*
- 文件路径模式:(
**/mock-*
上面的理想模式)
这次,重新运行后该文件中的所有先前的报告(以及以“mock-”开头的其他报告)都按预期消失了!
尽管这是一个可行的解决方法,但我宁愿使用预期的工具。
如何正确使用“源文件排除”?