| Trees | Indices | Help | 
        
  | 
  
|---|
| 
       | 
  
  twisted.spread.jelly.Jellyable --+        
                                   |        
 twisted.spread.flavors.Serializable --+    
                                       |    
    twisted.spread.flavors.Referenceable --+
                                           |
 twisted.application.service.Service --+   |
                                       |   |
twisted.application.service.MultiService --+
                                           |
                                          Builder
I manage all Builds of a given type.
Each Builder is created by an entry in the config file (the c['builders'] list), with a number of parameters.
One of these parameters is the buildbot.process.factory.BuildFactory object that is associated with this Builder. The factory is responsible for creating new Build objects. Each Build object defines when and how the build is performed, so a new Factory or Builder should be defined to control this behavior.
The Builder holds on to a number of BuildRequest objects in a list named 
  .buildable. Incoming BuildRequest objects will be added to 
  this list, or (if possible) merged into an existing request. When a slave
  becomes available, I will use my BuildFactory to turn the 
  request into a new Build object. The 
  BuildRequest is forgotten, the Build goes into 
  .building while it runs. Once the build finishes, I will 
  discard it.
I maintain a list of available SlaveBuilders, one for each connected 
  slave that the slavenames parameter says we can use. Some of
  these will be idle, some of them will be busy running builds for me. If 
  there are multiple slaves, I can run multiple builds at once.
I also manage forced builds, progress expectation (ETA) management, and some status delivery chores.
| Instance Methods | |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      twisted.internet.defer.Deferred
     | 
      
  | 
  ||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
      
  | 
  |||
| 
     Inherited from  Inherited from  Inherited from  Inherited from  Inherited from   | 
  |||
| Class Variables | |
        expectations = Nonehash(x)  | 
  |
| 
     Inherited from  Inherited from   | 
  |
| Instance Variables | |
| list of buildbot.process.buildrequest.BuildRequest | 
        buildable BuildRequests that are ready to build, but which are waiting for a buildslave to be available.  | 
  
| list of buildbot.process.build.Build | 
        building Builds that are actively running  | 
  
| list of buildbot.buildslave.BuildSlave objects | 
        slaves the slaves currently available for building  | 
  
| Method Details | 
  
 
  | 
  
 
  | 
  
 Returns the submitted_at of the oldest unclaimed build request for this builder, or None if there are no build requests. 
  | 
  
 Suck the brain out of an old Builder. This takes all the runtime state from an existing Builder and moves it into ourselves. This is used when a Builder is changed in the master.cfg file: the new Builder has a different factory, but we want all the builds that were queued for the old one to get processed by the new one. Any builds which are already running will keep running. The new Builder will get as many of the old SlaveBuilder objects as it wants.  | 
  
 This is invoked by the BuildSlave when the self.slavename bot registers their builder. 
  | 
  
 This is called when the Build has finished (either success or failure). Any exceptions during the build are reported with results=FAILURE, not with an errback.  | 
  
 Mark the build as successful and update expectations for the next build. Only call this when the build did not fail in any way that would invalidate the time expectations generated by it. (if the compile failed and thus terminated early, we can't use the last build to predict how long the next one will take).  | 
  
 
  | 
| Trees | Indices | Help | 
        
  | 
  
|---|
| Generated by Epydoc 3.0.1 on Sun Jul 17 13:45:26 2011 | http://epydoc.sourceforge.net |