美文网首页
Sonar插件中获取自定义变量

Sonar插件中获取自定义变量

作者: 戈壁堂 | 来源:发表于2021-04-17 20:21 被阅读0次

例如sonarscanner执行扫描时传递的参数-Dsonar.projectKey可以在插件中使用context.getProject().key()获取到。

Is it possible to get some customized parameters in Custom rule?

可以利用SensorProjectSensor传递自定义变量。前者在每一个module执行时都会被调用;后者针对每个project只调用一次

实现的接口void execute(SensorContext context);中,从对象APIorg.sonar.api.scanner.sensor.SensorContext中可获取Configuration对象,顾名思义,包含了针对project级别所有的信息。例如,传递-Dsonar.mycontxt.name=abc的自定义参数,可以通过sensorContext.config().get("sonar.mycontxt.name")获取自定义的变量。

注意:

  • Sensor的execute方法可以指定执行的时间点,默认在文件扫描之后执行,可以通过注解@Phase(name = Phase.Name.PRE)让sensor在执行具体的代码扫描之前运行。
  • 自定义的Sensor需要添加到plugin的配置中,例如MySensor可以使用context.addExtension(MySensor.class);添加到插件定义中

相关文章

网友评论

      本文标题:Sonar插件中获取自定义变量

      本文链接:https://www.haomeiwen.com/subject/mlvbzktx.html