我已经实现了自定义插件,我尝试添加CustomMetric并创建自己的域,它看起来像:
private Metric<Integer> PROVIDER_METRIC =
metricBuilder("provider", "Count of providers", ValueType.INT)
.setDescription("Number of Providers")
.setDirection(Metric.DIRECTION_WORST)
.setDomain("Custom Domain")
.create();
在向SonarContext添加自定义指标期间,我遇到以下异常:
[WARNING] Unable to analyse file: [..nameScanningFile]
java.lang.UnsupportedOperationException: Unknown metric: provider
at org.sonar.scanner.sensor.DefaultSensorStorage.saveMeasure(DefaultSensorStorage.java:236)
at org.sonar.scanner.sensor.DefaultSensorStorage.store(DefaultSensorStorage.java:212)
at org.sonar.api.batch.sensor.measure.internal.DefaultMeasure.doSave(DefaultMeasure.java:95)
at org.sonar.api.batch.sensor.internal.DefaultStorable.save(DefaultStorable.java:45)
at com.generic.impl.visitors.GenericMetricsVisitor.addMetric(GenericMetricsVisitor.java:42)
我在创建新指标时尝试使用现有域(例如Size
),但我遇到了同样的错误。
这是否意味着我没有权利创建自己的指标?因为当我更新CoreMetrics(例如,CoreMetrics.COMPLEXITY
)时,我在UI上看到了它们。或者也许我做错了什么?