public abstract class Publisher extends BuildStepCompatibilityLayer implements Describable<Publisher>
BuildStep
s that run after the build is completed.
To register a custom Publisher
from a plugin,
put Extension
on your descriptor implementation.
Starting 1.178, publishers are exposed to all kinds of different
project type, not just the freestyle project type (in particular,
the native maven2 job type.) This is convenient default for
Publisher
s in particular initially, but we encourage advanced
plugins to consider writing MavenReporter, as it offers the
potential of reducing the amount of configuration needed to run the plugin.
For those plugins that don't want Publisher
to show up in
different job type, use BuildStepDescriptor
for the base type
of your descriptor to control which job type it supports.
Modifier and Type | Class and Description |
---|---|
static class |
Publisher.DescriptorExtensionListImpl
Publisher has a special sort semantics that requires a subtype. |
BuildStep.PublisherList
BUILDERS, PUBLISHERS
Modifier | Constructor and Description |
---|---|
protected |
Publisher()
|
Modifier and Type | Method and Description |
---|---|
static DescriptorExtensionList<Publisher,Descriptor<Publisher>> |
all()
Returns all the registered
Publisher descriptors. |
Descriptor<Publisher> |
getDescriptor()
Gets the descriptor for this instance.
|
Action |
getProjectAction(Project project)
Deprecated.
since 1.150
|
boolean |
needsToRunAfterFinalized()
Return true if this
Publisher needs to run after the build result is
fully finalized. |
boolean |
prebuild(Build build,
BuildListener listener)
Deprecated.
since 1.150
|
getProjectAction, getProjectActions, perform, perform, prebuild
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getRequiredMonitorService
@Deprecated protected Publisher()
@Deprecated public boolean prebuild(Build build, BuildListener listener)
prebuild
in class BuildStepCompatibilityLayer
@Deprecated public Action getProjectAction(Project project)
getProjectAction
in class BuildStepCompatibilityLayer
public boolean needsToRunAfterFinalized()
Publisher
needs to run after the build result is
fully finalized.
The execution of normal Publisher
s are considered within a part
of the build. This allows publishers to mark the build as a failure, or
to include their execution time in the total build time.
So normally, that is the preferable behavior, but in a few cases
this is problematic. One of such cases is when a publisher needs to
trigger other builds, which in turn need to see this build as a
completed build. Those plugins that need to do this can return true
from this method, so that the BuildStepCompatibilityLayer.perform(AbstractBuild, Launcher, BuildListener)
method is called after the build is marked as completed.
When Publisher
behaves this way, note that they can no longer
change the build status anymore.
public Descriptor<Publisher> getDescriptor()
Describable
Descriptor
is a singleton for every concrete Describable
implementation, so if a.getClass() == b.getClass()
then by default
a.getDescriptor() == b.getDescriptor()
as well.
(In rare cases a single implementation class may be used for instances with distinct descriptors.)
getDescriptor
in interface Describable<Publisher>
public static DescriptorExtensionList<Publisher,Descriptor<Publisher>> all()
Publisher
descriptors.Copyright © 2004–2021. All rights reserved.