Package buildbot :: Package steps :: Module source :: Class P4
[frames | no frames]

Class P4

   BuildStep --+        
               |        
LoggingBuildStep --+    
                   |    
              Source --+
                       |
                      P4


P4 is a class for accessing perforce revision control
Method Summary
  __init__(self, p4base, defaultBranch, p4port, p4user, p4passwd, p4extra_views, p4client, **kwargs)
  computeSourceRevision(self, changes)
Each subclass must implement this method to do something more precise than -rHEAD every time.
  startVC(self, branch, revision, patch)
    Inherited from Source
  commandComplete(self, cmd)
This is a general-purpose hook method for subclasses.
  describe(self, done)
  start(self)
Begin the step.
    Inherited from LoggingBuildStep
  checkDisconnect(self, f)
  createSummary(self, log)
To create summary logs, do something like this: warnings = grep('^Warning:', log.getText()) self.addCompleteLog('warnings', warnings)
  evaluateCommand(self, cmd)
Decide whether the command was SUCCESS, WARNINGS, or FAILURE.
  getColor(self, cmd, results)
  getText(self, cmd, results)
  getText2(self, cmd, results)
We have decided to add a short note about ourselves to the overall build description, probably because something went wrong.
  interrupt(self, reason)
Halt the command, either because the user has decided to cancel the build ('reason' is a string), or because the slave has disconnected ('reason' is a ConnectionLost Failure).
  maybeGetText2(self, cmd, results)
  setStatus(self, cmd, results)
  setupLogfiles(self, cmd, logfiles)
Set up any additional logfiles= logs.
  startCommand(self, cmd, errorMessages)
    Inherited from BuildStep
  acquireLocks(self, res)
  addCompleteLog(self, name, text)
  addHTMLLog(self, name, html)
  addLog(self, name)
  addLogObserver(self, logname, observer)
  addURL(self, name, url)
Add a BuildStep URL to this step.
  failed(self, why)
  finished(self, results)
  getProperty(self, propname)
  getSlaveName(self)
  releaseLocks(self)
  runCommand(self, c)
  setProgress(self, metric, value)
BuildSteps can call self.setProgress() to announce progress along some metric.
  setProperty(self, propname, value)
  setStepStatus(self, step_status)
  setupProgress(self)
  slaveVersion(self, command, oldversion)
Return the version number of the given slave command.
  slaveVersionIsOlderThan(self, command, minversion)
  startStep(self, remote)
Begin the step.

Instance Variable Summary
    Inherited from BuildStep
buildbot.process.base.Build build: the parent Build which is executing this step
buildbot.status.progress.StepProgress progress: tracks ETA for the step
buildbot.status.builder.BuildStepStatus step_status: collects output status

Class Variable Summary
str name = 'p4'
    Inherited from Source
NoneType branch = None                                                                  
bool haltOnFailure = True
bool notReally = False
    Inherited from LoggingBuildStep
dict logfiles = {}
list parms = ['build', 'name', 'locks', 'haltOnFailure', 'flu...
tuple progressMetrics = ('output',)
    Inherited from BuildStep
bool flunkOnFailure = False
bool flunkOnWarnings = False
list locks = []
bool useProgress = True
bool warnOnFailure = False
bool warnOnWarnings = False

Method Details

__init__(self, p4base, defaultBranch=None, p4port=None, p4user=None, p4passwd=None, p4extra_views=[], p4client='buildbot_%(slave)s_%(builder)s', **kwargs)
(Constructor)

Parameters:
p4base - A view into a perforce depot, typically "//depot/proj/"
           (type=string)
defaultBranch - Identify a branch to build by default. Perforce is a view based branching system. So, the branch is normally the name after the base. For example, branch=1.0 is view=//depot/proj/1.0/... branch=1.1 is view=//depot/proj/1.1/...
           (type=string)
p4port - Specify the perforce server to connection in the format <host>:<port>. Example "perforce.example.com:1666"
           (type=string)
p4user - The perforce user to run the command as.
           (type=string)
p4passwd - The password for the perforce user.
           (type=string)
p4extra_views - Extra views to be added to the client that is being used.
           (type=list of tuples)
p4client - The perforce client to use for this buildslave.
           (type=string)
Overrides:
buildbot.steps.source.Source.__init__

computeSourceRevision(self, changes)

Each subclass must implement this method to do something more precise than -rHEAD every time. For version control systems that use repository-wide change numbers (SVN, P4), this can simply take the maximum such number from all the changes involved in this build. For systems that do not (CVS), it needs to create a timestamp based upon the latest Change, the Build's treeStableTimer, and an optional self.checkoutDelay value.
Overrides:
buildbot.steps.source.Source.computeSourceRevision (inherited documentation)

Class Variable Details

name

Type:
str
Value:
'p4'                                                                   

Generated by Epydoc 2.1 on Sun Dec 10 22:04:44 2006 http://epydoc.sf.net