【问题标题】:How to specify wildcards in sonar-project.properties如何在 sonar-project.properties 中指定通配符
【发布时间】:2015-09-04 22:39:48
【问题描述】:

我正在尝试使用 SonarQube 扫描我拥有的 UI 模块。 UI 模块的数量很多。它们具有共同的结构。每个模块都有自己的 JS 文件。

我需要指定sonar.sources 值来匹配我项目中的所有JS 文件。有可能做这样的事情吗?

sonar.sources=\*/*/script
sonar.language=js

我用过这些。但是,我收到一条错误消息,例如 “无法解析路径”。有人可以帮忙吗?

【问题讨论】:

标签: javascript sonarqube glob sonarqube-scan sonar-runner


【解决方案1】:

谢谢大家。我在属性文件中使用了sonar.sources=.。此属性文件位于我的模块旁边。因此,现在 SonarQube 会考虑该文件旁边的所有文件夹,并扫描指定的文件扩展名。现在可以了。

【讨论】:

    【解决方案2】:

    尝试使用通配符:

    *   Match zero or more characters
    **  Match zero or more directories
    ?   Match a single character
    

    像这样:

    sonar.sources=**/script
    

    更新

    截至 2019 年,sonar.sources 参数不支持此类全局模式。通常的做法是将此值设置为包含源代码的目录 列表。扫描器将遍历目录树并运行适用的分析器(JavaScript 分析器将使用 .js 文件,Python 分析器将使用 .py 文件,等等。)

    【讨论】:

    • 是否有关于 sonar.sources 不再支持通配符 glob 的更新信息的来源/链接?我在一个 monorepo 中工作,并试图避免必须指定源代码目录列表...
    • @AislinnHayes,对不起,我不再使用声纳,我无法回答...
    • @AislinnHayes 如果您使用的是 monorepo,我建议您对 repo 中每个不同项目的子目录运行扫描,而不是对整个 repo 运行一次。您可以使用sonar.projectBaseDir 属性来执行此操作。这样,您可以为每个项目拥有不同的属性文件,每个都列出自己的源目录。
    • 我还搜索了 sonar.source 不接受通配符的提及。在 SonarSource 工作的人在这里证实了这一点:community.sonarsource.com/t/… 但那是 1.5 年前的事了,他们的文档仍然建议您可以使用通配符——烦人。
    猜你喜欢
    • 1970-01-01
    • 2017-09-03
    • 2016-03-08
    • 2018-03-09
    • 2018-06-04
    • 2014-01-14
    • 2015-10-27
    • 2021-01-16
    • 1970-01-01
    相关资源
    最近更新 更多