Package hudson.model
Class AbstractBuild.AbstractBuildExecution
java.lang.Object
Run<JobT,RunT>.RunExecution
- Direct Known Subclasses:
AbstractBuild.AbstractRunner
- Enclosing class:
- AbstractBuild<P extends AbstractProject<P,
R>, R extends AbstractBuild<P, R>>
-
Field Summary
Modifier and TypeFieldDescriptionprotected Launcher
Since configuration can be changed while a build is in progress, create a launcher once and stick to it for the entire build duration.protected BuildListener
Output/progress of this build goes here. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanUp
(BuildListener listener) Performs final clean up action.protected Launcher
createLauncher
(BuildListener listener) Creates aLauncher
that this build will use.protected WorkspaceList.Lease
decideWorkspace
(Node n, WorkspaceList wsl) Allocates the workspace fromWorkspaceList
.void
protected abstract Result
doRun
(BuildListener listener) The portion of a build that is specific to a subclass ofAbstractBuild
goes here.protected final Node
Returns the currentNode
on which we are building.protected final boolean
perform
(BuildStep bs, BuildListener listener) Calls a build step.protected final void
performAllBuildStep
(BuildListener listener, Iterable<? extends BuildStep> buildSteps, boolean phase) Deprecated.protected final void
performAllBuildStep
(BuildListener listener, Map<?, ? extends BuildStep> buildSteps, boolean phase) Deprecated.as of 1.356 UseperformAllBuildSteps(BuildListener, Map, boolean)
protected final boolean
performAllBuildSteps
(BuildListener listener, Iterable<? extends BuildStep> buildSteps, boolean phase) Runs all the given build steps, even if one of them fail.protected final boolean
performAllBuildSteps
(BuildListener listener, Map<?, ? extends BuildStep> buildSteps, boolean phase) final void
post
(BuildListener listener) Performs the post-build action.protected abstract void
post2
(BuildListener listener) protected final boolean
preBuild
(BuildListener listener, Iterable<? extends BuildStep> steps) protected final boolean
preBuild
(BuildListener listener, Collection<? extends BuildStep> steps) protected final boolean
preBuild
(BuildListener listener, Map<?, ? extends BuildStep> steps) run
(BuildListener listener) Performs the main build and returns the status code.Methods inherited from class hudson.model.Run.RunExecution
getAttributes, getBuild, getProject
-
Field Details
-
launcher
Since configuration can be changed while a build is in progress, create a launcher once and stick to it for the entire build duration. -
listener
Output/progress of this build goes here.
-
-
Constructor Details
-
AbstractBuildExecution
public AbstractBuildExecution()
-
-
Method Details
-
getCurrentNode
Returns the currentNode
on which we are building.- Returns:
- Returns the current
Node
- Throws:
IllegalStateException
- if that cannot be determined
-
getLauncher
-
getListener
-
decideWorkspace
protected WorkspaceList.Lease decideWorkspace(@NonNull Node n, WorkspaceList wsl) throws InterruptedException, IOException Allocates the workspace fromWorkspaceList
.- Parameters:
n
- Passed in for the convenience. The node where the build is running.wsl
- Passed in for the convenience. The returned path must be registered to this object.- Throws:
InterruptedException
IOException
-
run
Description copied from class:Run.RunExecution
Performs the main build and returns the status code.- Specified by:
run
in classRun<P extends AbstractProject<P,
R>, R extends AbstractBuild<P, R>>.RunExecution - Throws:
Exception
- exception will be recorded and the build will be considered a failure.
-
createLauncher
@NonNull protected Launcher createLauncher(@NonNull BuildListener listener) throws IOException, InterruptedException Creates aLauncher
that this build will use. This can be overridden by derived types to decorate the resultingLauncher
.- Parameters:
listener
- Always non-null. Connected to the main build output.- Throws:
IOException
InterruptedException
-
defaultCheckout
- Throws:
IOException
InterruptedException
-
doRun
The portion of a build that is specific to a subclass ofAbstractBuild
goes here.- Returns:
- null to continue the build normally (that means the doRun method itself run successfully) Return a non-null value to abort the build right there with the specified result code.
- Throws:
Exception
-
post2
- Throws:
Exception
- See Also:
-
post
Description copied from class:Run.RunExecution
Performs the post-build action.This method is called after the main portion of the build is completed. This is a good opportunity to do notifications based on the result of the build. When this method is called, the build is not really finalized yet, and the build is still considered in progress --- for example, even if the build is successful, this build still won't be picked up by
Job.getLastSuccessfulBuild()
.- Specified by:
post
in classRun<P extends AbstractProject<P,
R>, R extends AbstractBuild<P, R>>.RunExecution - Throws:
Exception
-
cleanUp
Description copied from class:Run.RunExecution
Performs final clean up action.This method is called after
Run.RunExecution.post(BuildListener)
, after the build result is fully finalized. This is the point where the build is already considered completed.Among other things, this is often a necessary pre-condition before invoking other builds that depend on this build.
- Specified by:
cleanUp
in classRun<P extends AbstractProject<P,
R>, R extends AbstractBuild<P, R>>.RunExecution - Throws:
Exception
-
performAllBuildStep
@Deprecated protected final void performAllBuildStep(BuildListener listener, Map<?, ? extends BuildStep> buildSteps, boolean phase) throws InterruptedException, IOExceptionDeprecated.as of 1.356 UseperformAllBuildSteps(BuildListener, Map, boolean)
- Throws:
InterruptedException
IOException
-
performAllBuildSteps
protected final boolean performAllBuildSteps(BuildListener listener, Map<?, ? extends BuildStep> buildSteps, boolean phase) throws InterruptedException, IOException- Throws:
InterruptedException
IOException
-
performAllBuildStep
@Deprecated protected final void performAllBuildStep(BuildListener listener, Iterable<? extends BuildStep> buildSteps, boolean phase) throws InterruptedException, IOException Deprecated.as of 1.356 UseperformAllBuildSteps(BuildListener, Iterable, boolean)
- Throws:
InterruptedException
IOException
-
performAllBuildSteps
protected final boolean performAllBuildSteps(BuildListener listener, Iterable<? extends BuildStep> buildSteps, boolean phase) throws InterruptedException, IOException Runs all the given build steps, even if one of them fail.- Parameters:
phase
- true for the post build processing, and false for the final "run after finished" execution.- Returns:
- false if any build step failed
- Throws:
InterruptedException
IOException
-
perform
protected final boolean perform(BuildStep bs, BuildListener listener) throws InterruptedException, IOException Calls a build step.- Throws:
InterruptedException
IOException
-
preBuild
-
preBuild
-
preBuild
-
performAllBuildSteps(BuildListener, Iterable, boolean)