Subscribed unsubscribe Subscribe Subscribe

Pluginの作り方が若干変わった? Plugin作りで遊ぶ

以前までは、、

  • Pluginを継承したクラスを定義し、そこでDESCRIPTORを登録する
public class PluginImpl extends Plugin {
    public void start() throws Exception {
        // plugins normally extend Hudson by providing custom implementations
        // of 'extension points'. In this example, we'll add one builder.
        BuildStep.BUILDERS.add(HelloWorldBuilder.DESCRIPTOR);
    }
}

気づいたら、、

  • Pluginクラスは不要!?
  • @ExtensionをDESCRIPTORクラスに付与する
    @Extension
    public static class DescriptorImpl extends JobPropertyDescriptor {
        @Override
        public boolean isApplicable(Class<? extends Job> jobType) {
            return AbstractProject.class.isAssignableFrom(jobType);
        }
    …

そうするとHudson君が自動的にプラグインとして認識して登録してくれる、と思うのだが何故だか動かないー!!
Pluginクラスを継承する方法も互換性のため使えるので、とりあえず古い方法でいじくることにする。