BuildStepListener.java 1.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
package hudson.model;

import hudson.ExtensionList;
import hudson.ExtensionPoint;
import hudson.tasks.BuildStep;
import jenkins.model.Jenkins;

/**
 * Receives events that happen as a build executes {@link BuildStep}s.
 * @author <a href="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>
11
 * @since 1.502
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
 */
public abstract class BuildStepListener implements ExtensionPoint {

    /**
     * Called when a buildStep is performed.
     */
    public abstract void started(AbstractBuild build, BuildStep bs, BuildListener listener);

    /**
     * Called when a buildStep has completed.
     */
    public abstract void finished(AbstractBuild build, BuildStep bs, BuildListener listener, boolean canContinue);

    /**
     * Returns all the registered {@link BuildStepListener}s.
     */
    public static ExtensionList<BuildStepListener> all() {
29
        // TODO should have a null-safe version when Jenkins.getInstance() is null; would require changes in ExtensionList
30
        return ExtensionList.lookup(BuildStepListener.class);
31 32
    }
}