WorkflowListener
WorkflowListener.java
package org.jreleaser.extensions.api.workflow;
import org.jreleaser.extensions.api.ExtensionPoint;
import org.jreleaser.model.api.JReleaserContext;
import org.jreleaser.model.api.announce.Announcer;
import org.jreleaser.model.api.assemble.Assembler;
import org.jreleaser.model.api.catalog.Cataloger;
import org.jreleaser.model.api.deploy.Deployer;
import org.jreleaser.model.api.distributions.Distribution;
import org.jreleaser.model.api.download.Downloader;
import org.jreleaser.model.api.hooks.ExecutionEvent;
import org.jreleaser.model.api.packagers.Packager;
import org.jreleaser.model.api.release.Releaser;
import org.jreleaser.model.api.upload.Uploader;
/**
* @author Andres Almiray
* @since 1.3.0
*/
public interface WorkflowListener extends ExtensionPoint {
/**
* Signals JReleaser to halt execution if this listener fails.
*
* @return {@code false} to halt execution on failure, {@code true} to continue.
*/
boolean isContinueOnError();
/**
* Triggered when the execution session starts.
*
* @param context the execution context.
*/
void onSessionStart(JReleaserContext context);
/**
* Triggered when the execution session ends.
*
* @param context the execution context.
*/
void onSessionEnd(JReleaserContext context);
/**
* Triggered when a workflow step starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
*/
void onWorkflowStep(ExecutionEvent event, JReleaserContext context);
/**
* Triggered when an announcer starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
* @param announcer the executing announcer.
*/
void onAnnounceStep(ExecutionEvent event, JReleaserContext context, Announcer announcer);
/**
* Triggered when an assembler starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
* @param assembler the executing assembler.
*/
void onAssembleStep(ExecutionEvent event, JReleaserContext context, Assembler assembler);
/**
* Triggered when a cataloger starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
* @param cataloger the executing cataloger.
*/
void onCatalogStep(ExecutionEvent event, JReleaserContext context, Cataloger cataloger);
/**
* Triggered when a deployer starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
* @param deployer the executing deployer.
*/
void onDeployStep(ExecutionEvent event, JReleaserContext context, Deployer deployer);
/**
* Triggered when a downloader starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
* @param downloader the executing downloader.
*/
void onDownloadStep(ExecutionEvent event, JReleaserContext context, Downloader downloader);
/**
* Triggered when an uploader starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
* @param uploader the executing uploader.
*/
void onUploadStep(ExecutionEvent event, JReleaserContext context, Uploader uploader);
/**
* Triggered when a releaser starts/ends/fails.
*
* @param event event metadata.
* @param context the execution context.
* @param releaser the executing releaser.
*/
void onReleaseStep(ExecutionEvent event, JReleaserContext context, Releaser releaser);
/**
* Triggered when a distribution is about to be processed.
*
* @param context the execution context.
* @param distribution the distribution to be processed.
*/
void onDistributionStart(JReleaserContext context, Distribution distribution);
/**
* Triggered when a distribution has been processed.
*
* @param context the execution context.
* @param distribution the processed distribution.
*/
void onDistributionEnd(JReleaserContext context, Distribution distribution);
/**
* Triggered when a packager starts/ends/fails the preparing step.
*
* @param event event metadata.
* @param context the execution context.
* @param distribution the distribution to be processed.
* @param packager the executing packager.
*/
void onPackagerPrepareStep(ExecutionEvent event, JReleaserContext context, Distribution distribution, Packager packager);
/**
* Triggered when a packager starts/ends/fails the packaging step.
*
* @param event event metadata.
* @param context the execution context.
* @param distribution the distribution to be processed.
* @param packager the executing packager.
*/
void onPackagerPackageStep(ExecutionEvent event, JReleaserContext context, Distribution distribution, Packager packager);
/**
* Triggered when a packager starts/ends/fails the publishing step.
*
* @param event event metadata.
* @param context the execution context.
* @param distribution the distribution to be processed.
* @param packager the executing packager.
*/
void onPackagerPublishStep(ExecutionEvent event, JReleaserContext context, Distribution distribution, Packager packager);
}