package hudson.plugins.jira; import hudson.Launcher; import hudson.tasks.BuildStepDescriptor; import hudson.maven.MavenBuild; import hudson.maven.MavenReporter; import hudson.maven.MavenReporterDescriptor; import hudson.model.BuildListener; import org.kohsuke.stapler.StaplerRequest; import java.io.IOException; /** * {@link MavenReporter} for JIRA. * * <p> * Modern plugins don't have to do this — they should simply have * {@link JiraIssueUpdater} and have its descriptor extend from {@link BuildStepDescriptor}, * and you can get rid of this class altogether. * * <p> * In case of the JIRA plugin, however, this is left for a compatibility reason. * * @author Kohsuke Kawaguchi */ public class MavenJiraIssueUpdater extends MavenReporter { private static final long serialVersionUID = -3416800198673836204L; @Override public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { return Updater.perform(build, listener); } @Override public MavenReporterDescriptor getDescriptor() { return DescriptorImpl.DESCRIPTOR; } public static final class DescriptorImpl extends MavenReporterDescriptor { public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl(); private DescriptorImpl() { super(MavenJiraIssueUpdater.class); } @Override public String getDisplayName() { // Placed in the build settings section return Messages.JiraIssueUpdater_DisplayName(); } @Override public String getHelpFile() { return "/plugin/jira/help.html"; } @Override public MavenJiraIssueUpdater newInstance(StaplerRequest req) throws FormException { return new MavenJiraIssueUpdater(); } } }