为什么SonarQube排除项不适用于sonar.javascript.file.suffixes中指定的其他扩展名?

时间:2019-04-15 16:58:31

标签: sonarqube sonarqube-scan sonarscanner

在sonar-project.properties文件中,我具有以下设置:

...
sonar.sources=src
sonar.exclusions=src/**/*.test.js
sonar.javascript.file.suffixes=js,jsx

但是我的构建失败并出现以下错误:

ERROR: Caused by: Line 346 of report refers to a file which is not configured as a test file: /tmp/app/src/components/__tests__/filters.test.jsx

我的詹金斯日志准确报告了58 files ignored because of inclusion/exclusion patterns,并已通过find . -name "*.test.js" | wc -l = 58验证

与jsx相同的命令为我提供10个结果find . -name "*.test.jsx" | wc -l,这意味着sonar.javascript.file.suffixes=js,jsx不会应用于排除属性。

如何在源文件中排除扩展名为.js和.jsx的文件?

1 个答案:

答案 0 :(得分:2)

您做了部分正确的操作。要排除文件,您必须设置sonar.exclusions。您已经做到了,但仅针对js个文件,因此,解决问题的方法是:

...
sonar.sources=src
sonar.exclusions=src/**/*.test.js,src/**/*.test.jsx
sonar.javascript.file.suffixes=js,jsx

sonar.javascript.file.suffixes通知JavaScript分析器哪些文件包含JavaScript代码。它不会影响sonar.exclusions,因此您必须自己定义所有模式。