簡體   English   中英

SonarQube 中的裝飾器插件

[英]Decorator plugin in SonarQube

我們已經實現了一個帶有實現裝飾器的擴展的 SonarQube 插件,並將其部署到擴展/插件。 不幸的是,在觸發聲納分析時,不會調用擴展實現。 還有什么需要配置的嗎?

實現看起來很簡單:

public class MyPlugin extends SonarPlugin {

    @Override
    public List getExtensions() {
        return Arrays.asList(MyExt.class);
    }
}

@DependsUpon(DecoratorBarriers.ISSUES_TRACKED)
public class MyExt implements Decorator, BatchComponent {

    @Override
    public void decorate(Resource resource, DecoratorContext decoratorContext) {

        Project project = decoratorContext.getProject();

        Measure measure = new Measure();
        measure.setData("abc");
        decoratorContext.saveMeasure(measure);

    }

    @Override
    public boolean shouldExecuteOnProject(Project project) {
        return true;
    }
}

如果您使用的是 SQ 5.2, Decorator器將不再工作。 您必須改為轉到MeasureComputer界面。

API對此真的不清楚,並且@Deprecated注釋被濫用恕我直言(通常你首先棄用代碼,讓它繼續工作直到它不再工作,然后你只需刪除它......你不會棄用代碼以便通知人們它不再可用......)

我猜 SonarSource 的某個人忘記了代碼棄用是關於什么的......

雖然軟件中保留了已棄用的軟件功能,但其使用可能會引發警告消息,推薦替代做法; 棄用狀態也可能表示該功能將在未來被刪除。 不推薦使用而不是立即刪除功能,以提供向后兼容性並讓程序員有時間使受影響的代碼符合新標准。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM