Package hudson.plugins.android_emulator
Class TaskDispatcher
- java.lang.Object
-
- hudson.model.queue.QueueTaskDispatcher
-
- hudson.plugins.android_emulator.TaskDispatcher
-
- All Implemented Interfaces:
ExtensionPoint
@Extension public class TaskDispatcher extends QueueTaskDispatcher
This QueueTaskDispatcher prevents any one Android emulator instance from being executed more than once concurrently on any one build machine.From the given
As Android emulator attributes will quite often be parameterised (especially for matrix builds), we attempt to expand as many variables as possible, i.e. from the environment of theTask
, we form a hash of the emulator configuration and check whether any other build currently running on the givenNode
is already using this configuration. If so, we veto execution of the givenTask
.Node
and the axis combination for matrix builds. Because we are evaluating these parameters before the build has actually started, it's possible that the variable expansions made aren't 100% accurate, for example if there are earlierBuildWrapper
instances contributing to the environment.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Constructor Summary
Constructors Constructor Description TaskDispatcher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CauseOfBlockage
canTake(Node node, Queue.Task task)
-
Methods inherited from class hudson.model.queue.QueueTaskDispatcher
all, canRun, canTake
-
-
-
-
Method Detail
-
canTake
public CauseOfBlockage canTake(Node node, Queue.Task task)
- Overrides:
canTake
in classQueueTaskDispatcher
-
-