0

我目前正在开发一个 SonarQube 插件,并想询问是否有办法在运行时从 sonar-project-properties 文件中查询设置。

更具体地说,在 sonar-project-properties 文件中,您可以将分析模式设置为分析、预览或增量,例如 sonar.analysis.mode=analysis。

由于预览和增量模式出错的问题,我想在指定这两种模式之一时禁用插件。

我知道有用于排除插件的 sonar.preview.excludePlugins 设置,但是我不能使用它。换句话说,我必须在运行时弄清楚设置了哪种模式。

有人可以给我一个提示吗,因为我还没有找到从 sonar-project.properties 文件中查询设置的方法?

4

1 回答 1

0

插件不能通过标准插件排除属性自动禁用自己。解决方案是您的插件扩展,例如传感器,通过组件读取属性org.sonar.api.config.Settings,然后相应地继续或停止执行。基本上:

public class MySensor implements Sensor {
  private final Settings settings;

  public MySensor(Settings settings) {
    this.settings = settings;
  }

  public void analyse(Project module, SensorContext context) {
    if ("analysis ".equals(settings.getString("sonar.analysis.mode"))) {
      return;
    }
    // else continue...
  }
}
于 2015-10-29T21:43:17.260 回答