如何在 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 中开始新的活动?