Interface ExecutableBuildAgent
-
- All Known Implementing Classes:
DefaultBuildAgent
,RemoteBuildAgent
public interface ExecutableBuildAgent
TheExecutableBuildAgent
that is able to be run builds. Basically it's an agent that's "local" to the running directory
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
build(@NotNull ReadOnlyCapabilitySet agentCapabilities, @NotNull DockerContainerController dockerContainerController)
Executes the passedCommonContext
boolean
cancelBuild(@NotNull String buildResultKey)
Cancels the passed buildResultKey if it matches<V> V
executeWithCurrentContext(Callable<V> callable)
Execute with guarantee that context will not be switched during execution.AgentStatus
getAgentStatus()
@Nullable CommonContext
getBuilding()
Gets theBuildContext
related to the build that is building on the agent.@NotNull String
getDescription()
Agent descriptionlong
getId()
Agent idString
getName()
Agent nameint
incrementError()
Tells the agent that an unhandled error has occurred.boolean
isActive()
void
onBuildProcessingFinished()
This method is called when the build process is completed and the result processing has finished.void
onContextReceived(@NotNull CommonContext commonContext)
This method is called when the agent has just retrieved a context from queuevoid
resetErrors()
Resetes the error countvoid
setContextToBuild(@NotNull CommonContext context)
void
start()
Starts the build agentvoid
stop()
Stops the build agent immediately.void
stopNicely()
Attempt to stop the agent and wait for the current build (if any) to stop buildingvoid
stopNicely(int statusCode)
Attempt to stop the agent and wait for the current build (if any) to stop building.void
waitForStop(int secondsToWait)
Waits a certain number of seconds for a build to stop.
-
-
-
Method Detail
-
getId
long getId()
Agent id- Returns:
-
getName
String getName()
Agent name- Returns:
-
getDescription
@NotNull @NotNull String getDescription()
Agent description
-
start
void start()
Starts the build agent
-
stop
void stop()
Stops the build agent immediately. Cancelling all currently running builds- Throws:
InterruptedException
-
stopNicely
void stopNicely()
Attempt to stop the agent and wait for the current build (if any) to stop building
-
stopNicely
void stopNicely(int statusCode)
Attempt to stop the agent and wait for the current build (if any) to stop building. If it's a non-local agent, then it will terminate with the given status code.
-
build
void build(@NotNull @NotNull ReadOnlyCapabilitySet agentCapabilities, @NotNull @NotNull DockerContainerController dockerContainerController) throws Exception
Executes the passedCommonContext
- Parameters:
agentCapabilities
-- Throws:
Exception
-
cancelBuild
boolean cancelBuild(@NotNull @NotNull String buildResultKey)
Cancels the passed buildResultKey if it matches- Parameters:
buildResultKey
-
-
getAgentStatus
AgentStatus getAgentStatus()
-
isActive
boolean isActive()
-
getBuilding
@Nullable @Nullable CommonContext getBuilding()
Gets theBuildContext
related to the build that is building on the agent. Null if not building or cancelling anything.- Returns:
-
setContextToBuild
void setContextToBuild(@NotNull @NotNull CommonContext context)
-
waitForStop
void waitForStop(int secondsToWait) throws TimeoutException
Waits a certain number of seconds for a build to stop.- Parameters:
secondsToWait
- -- Throws:
TimeoutException
-
incrementError
int incrementError()
Tells the agent that an unhandled error has occurred. The agent may then choose to stop the error if a thredhold has been reached. Provides an overload of exceptions being thrown.- Returns:
-
resetErrors
void resetErrors()
Resetes the error count
-
onBuildProcessingFinished
void onBuildProcessingFinished()
This method is called when the build process is completed and the result processing has finished.
-
onContextReceived
void onContextReceived(@NotNull @NotNull CommonContext commonContext)
This method is called when the agent has just retrieved a context from queue
-
-