如何分析SonarQube属性文件中只有.py文件?



我正在使用SonarQube为我的工作项目。在我们的项目中,我们有一个包含大量文件和文件夹的存储库。我想只过滤掉python文件(.py文件)。

我的目标是只分析文件夹repo/src中的.py文件。

我试过使用通配符,但是没有用。

以下是我尝试过的两件事:
sonar.sources=repo/src/**/*.py
sonar.sources=repo/src/**.py

只传递代码所在的整个文件夹(repo/src/)的选项有效,但是我的工作为SonarQube支付的计划不允许我们分析整个项目,因此为什么我只想分析python文件。

我做错了什么?谁能告诉我这里我误解了什么?

尝试在sonar.sources之外指定sonar.exclusions

之前,有sonar.language,您可以将其设置为Python的py:

设置要分析的源代码语言。浏览插件库页面以获得所有可用语言的列表。如果未设置,将触发多语言分析

但是long已被弃用,现在在最新版本中没有任何作用。从一个线程Sonarqube论坛,什么是替代声纳。语言属性在当前版本的sonarqube?:

另一种选择是不使用它。

现在,另一方面,如果你想防止项目中的其他语言被分析,那么你应该做这些事情之一:

  • 配置sonar.sources不包含这些文件,假设这可以方便地完成
  • 设置排除
  • 作为最后一招,还可以选择在项目级别配置语言文件后缀以不识别其他语言的文件(例如将Java文件后缀设置为.foo)

同一主题上的回复说这对他们有效:

所以在我的例子中,排除属性是这样的

sonar.exclusions=**/*.java,**/*.jar
因此,首先,更改sonar.sources以指定目录.

包含主源文件的目录的逗号分隔路径。

sonar.sources=repo/src

然后指定要忽略的文件扩展名sonar.exclusions

我们在我们的项目中有相同的设置:

sonar.sources=app
sonar.exclusions=**/*.html,**/*.js

您可以从声纳扫描仪日志中检查是否有一些文件被排除:

INFO: Indexing files...
INFO: Project configuration:
INFO:   Excluded sources: **/*.html,**/*.js
INFO:   Excluded sources for coverage: tests/*
INFO: 266 files indexed
INFO: 24 files ignored because of inclusion/exclusion patterns
INFO: 1 file ignored because of scm ignore settings
...

(我们正在使用SonarQube服务器9.5.0.56709,SonarScanner 4.3.0.2102)

最新更新