SonarQube和SourceMeter不包括所有源文件

时间:2015-10-02 18:32:35

标签: python sonarqube

我在寻找python静态代码分析器时偶然发现了SourceMeter,我对输出印象非常深刻。我现在正尝试使用SourceMeter插件将SourceMeter输出与SonarQube接口集成。

然而,当我尝试使用SourceMeter插件在我的Python项目上运行SonarQube(声纳 - 跑步者)分析时,它会排除我的所有源文件。部分输出位于下方。如果我通过Eclipse插件或命令行运行分析,就会发生这种情况。它只是不想包含这些文件,即使我明确告诉它包含它们。

对此的任何帮助将不胜感激。谢谢。

13:14:03.944 INFO  - Base dir: C:\Users\cbreinga\workspace\Password-Reset-Utility
13:14:03.944 INFO  - Working dir: C:\Users\cbreinga\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\Password-Reset-Utility\org.sonar.ide.eclipse.core
13:14:03.944 INFO  - Source paths: src
13:14:03.944 INFO  - Source encoding: windows-1252, default locale: en_US
13:14:03.944 INFO  - Index files
13:14:03.945 INFO  - Excluded sources: 
13:14:03.945 INFO  -   **/PyUnitTests/**/*
13:14:03.945 INFO  -   **/src/GUI/PopUpWindowCantClose.py
13:14:03.945 INFO  -   **/src/Util/Killer.py
13:14:03.945 INFO  -   **/src/GUI/ProgressPanel.py
13:14:03.945 INFO  -   **/src/GUI/OptionsPanel.py
...
13:14:05.000 INFO  - 0 files indexed
13:14:05.001 INFO  - Quality profile for python: SourceMeter way

1 个答案:

答案 0 :(得分:1)

只需在包含Python源模块的目录上调用它,就可以使用Python的

SourceMeter。分析工作如下:

  • 如果目录包含__init__.py文件,SourceMeter会在相应的子目录中找到相应的__init__.py文件时递归分析给定目录(即python包)。
  • 如果目录不包含__init__.py文件,SourceMeter将检查给定目录的所有第一级子目录,并以递归方式分析每个包含__init__.py文件的子目录(如上例所示)。
  • 为了分析不构成python包的python文件,需要在分析目录中添加一个空的__init__.py文件。

如果您的声纳属性文件没有放在顶级python模块的__init__.py旁边,并且它在子目录中找不到任何__init__.py文件,它将不会分析任何文件。所以请确保将声纳属性文件放在正确的位置(即顶层python模块的__init__.py文件旁边)。