如何在 sonar-project.properties 中指定通配符

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

在这里查看最后一节 - docs.sonarqube.org/display/SONAR/Narrowing+the+Focus 它有一些示例 【参考方案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 年前的事了,他们的文档仍然建议您可以使用通配符——烦人。

以上是关于如何在 sonar-project.properties 中指定通配符的主要内容,如果未能解决你的问题,请参考以下文章

如何在表单提交后保留文本(如何在提交后不删除自身?)

如何在异步任务中调用意图?或者如何在 onPostExecute 中开始新的活动?

在 Avkit 中如何使用这三行代码,以及如何将音乐静音”

如何在 JDBC 中启动事务?

如何在 Fragment 中调用 OnActivityResult 以及它是如何工作的?

如何使用 Firebase 在 Web 上托管 Flutter?它的效果如何?