Sonarqube 插件如何查询其设置?

Sonarqube 插件如何查询其设置?,sonarqube,sonar-runner,sonarqube-4.5,Sonarqube,Sonar Runner,Sonarqube 4.5,我目前正在开发一个SonarQube插件,想知道是否有一种方法可以在运行时从sonar项目属性文件中查询设置 更具体地说,在sonar项目属性文件中,可以将分析模式设置为分析、预览或增量,例如sonar.analysis.mode=analysis 由于预览和增量模式出现错误的问题,我想在指定这两种模式之一时禁用插件 我知道有用于排除插件的sonar.preview.excludePlugins设置,但是我不能使用它。换句话说,我必须在运行时确定设置了哪种模式 有人能给我一个提示吗,因为我还没有

我目前正在开发一个SonarQube插件,想知道是否有一种方法可以在运行时从sonar项目属性文件中查询设置

更具体地说,在sonar项目属性文件中,可以将分析模式设置为分析、预览或增量,例如sonar.analysis.mode=analysis

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

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


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

插件不能通过标准插件排除属性自动禁用自己。 解决方案是,您的插件扩展(例如传感器)通过组件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...
  }
}

即使我使用的是装饰师,解决方案也是一样的。谢谢