hudson.plugins.android_emulator
Class TaskDispatcher

java.lang.Object
  extended by hudson.model.queue.QueueTaskDispatcher
      extended by hudson.plugins.android_emulator.TaskDispatcher
All Implemented Interfaces:
hudson.ExtensionPoint

@Extension
public class TaskDispatcher
extends hudson.model.queue.QueueTaskDispatcher

This QueueTaskDispatcher prevents any one Android emulator instance from being executed more than once concurrently on any one build machine.

From the given Task, we form a hash of the emulator configuration and check whether any other build currently running on the given Node is already using this configuration. If so, we veto execution of the given Task.

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 the 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 earlier BuildWrapper instances contributing to the environment.


Nested Class Summary
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Constructor Summary
TaskDispatcher()
           
 
Method Summary
 hudson.model.queue.CauseOfBlockage canTake(hudson.model.Node node, hudson.model.Queue.Task task)
           
 
Methods inherited from class hudson.model.queue.QueueTaskDispatcher
all
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TaskDispatcher

public TaskDispatcher()
Method Detail

canTake

public hudson.model.queue.CauseOfBlockage canTake(hudson.model.Node node,
                                                  hudson.model.Queue.Task task)
Specified by:
canTake in class hudson.model.queue.QueueTaskDispatcher


Copyright © 2004-2011. All Rights Reserved.