Index: third_party/buildbot_7_12/buildbot/process/factory.py |
diff --git a/third_party/buildbot_7_12/buildbot/process/factory.py b/third_party/buildbot_7_12/buildbot/process/factory.py |
deleted file mode 100644 |
index adaea835891f54e28c0eb4d88d6b6afc4184502f..0000000000000000000000000000000000000000 |
--- a/third_party/buildbot_7_12/buildbot/process/factory.py |
+++ /dev/null |
@@ -1,197 +0,0 @@ |
-# -*- test-case-name: buildbot.test.test_step -*- |
- |
-from buildbot import util |
-from buildbot.process.base import Build |
-from buildbot.process.buildstep import BuildStep |
-from buildbot.steps.source import CVS, SVN |
-from buildbot.steps.shell import Configure, Compile, Test, PerlModuleTest |
- |
-# deprecated, use BuildFactory.addStep |
-def s(steptype, **kwargs): |
- # convenience function for master.cfg files, to create step |
- # specification tuples |
- return (steptype, kwargs) |
- |
-class ArgumentsInTheWrongPlace(Exception): |
- """When calling BuildFactory.addStep(stepinstance), addStep() only takes |
- one argument. You passed extra arguments to addStep(), which you probably |
- intended to pass to your BuildStep constructor instead. For example, you |
- should do:: |
- |
- f.addStep(ShellCommand(command=['echo','stuff'], haltOnFailure=True)) |
- |
- instead of:: |
- |
- f.addStep(ShellCommand(command=['echo','stuff']), haltOnFailure=True) |
- """ |
- |
-class BuildFactory(util.ComparableMixin): |
- """ |
- @cvar buildClass: class to use when creating builds |
- @type buildClass: L{buildbot.process.base.Build} |
- """ |
- buildClass = Build |
- useProgress = 1 |
- compare_attrs = ['buildClass', 'steps', 'useProgress'] |
- |
- def __init__(self, steps=None): |
- if steps is None: |
- steps = [] |
- self.steps = [self._makeStepFactory(s) for s in steps] |
- |
- def _makeStepFactory(self, step_or_factory): |
- if isinstance(step_or_factory, BuildStep): |
- return step_or_factory.getStepFactory() |
- return step_or_factory |
- |
- def newBuild(self, request): |
- """Create a new Build instance. |
- @param request: a L{base.BuildRequest} describing what is to be built |
- """ |
- b = self.buildClass(request) |
- b.useProgress = self.useProgress |
- b.setStepFactories(self.steps) |
- return b |
- |
- def addStep(self, step_or_factory, **kwargs): |
- if isinstance(step_or_factory, BuildStep): |
- if kwargs: |
- raise ArgumentsInTheWrongPlace() |
- s = step_or_factory.getStepFactory() |
- else: |
- s = (step_or_factory, dict(kwargs)) |
- self.steps.append(s) |
- |
- def addSteps(self, steps): |
- self.steps.extend([ s.getStepFactory() for s in steps ]) |
- |
-# BuildFactory subclasses for common build tools |
- |
-class GNUAutoconf(BuildFactory): |
- def __init__(self, source, configure="./configure", |
- configureEnv={}, |
- configureFlags=[], |
- compile=["make", "all"], |
- test=["make", "check"]): |
- BuildFactory.__init__(self, [source]) |
- if configure is not None: |
- # we either need to wind up with a string (which will be |
- # space-split), or with a list of strings (which will not). The |
- # list of strings is the preferred form. |
- if type(configure) is str: |
- if configureFlags: |
- assert not " " in configure # please use list instead |
- command = [configure] + configureFlags |
- else: |
- command = configure |
- else: |
- assert isinstance(configure, (list, tuple)) |
- command = configure + configureFlags |
- self.addStep(Configure, command=command, env=configureEnv) |
- if compile is not None: |
- self.addStep(Compile, command=compile) |
- if test is not None: |
- self.addStep(Test, command=test) |
- |
-class CPAN(BuildFactory): |
- def __init__(self, source, perl="perl"): |
- BuildFactory.__init__(self, [source]) |
- self.addStep(Configure, command=[perl, "Makefile.PL"]) |
- self.addStep(Compile, command=["make"]) |
- self.addStep(PerlModuleTest, command=["make", "test"]) |
- |
-class Distutils(BuildFactory): |
- def __init__(self, source, python="python", test=None): |
- BuildFactory.__init__(self, [source]) |
- self.addStep(Compile, command=[python, "./setup.py", "build"]) |
- if test is not None: |
- self.addStep(Test, command=test) |
- |
-class Trial(BuildFactory): |
- """Build a python module that uses distutils and trial. Set 'tests' to |
- the module in which the tests can be found, or set useTestCaseNames=True |
- to always have trial figure out which tests to run (based upon which |
- files have been changed). |
- |
- See docs/factories.xhtml for usage samples. Not all of the Trial |
- BuildStep options are available here, only the most commonly used ones. |
- To get complete access, you will need to create a custom |
- BuildFactory.""" |
- |
- trial = "trial" |
- randomly = False |
- recurse = False |
- |
- def __init__(self, source, |
- buildpython=["python"], trialpython=[], trial=None, |
- testpath=".", randomly=None, recurse=None, |
- tests=None, useTestCaseNames=False, env=None): |
- BuildFactory.__init__(self, [source]) |
- assert tests or useTestCaseNames, "must use one or the other" |
- if trial is not None: |
- self.trial = trial |
- if randomly is not None: |
- self.randomly = randomly |
- if recurse is not None: |
- self.recurse = recurse |
- |
- from buildbot.steps.python_twisted import Trial |
- buildcommand = buildpython + ["./setup.py", "build"] |
- self.addStep(Compile, command=buildcommand, env=env) |
- self.addStep(Trial, |
- python=trialpython, trial=self.trial, |
- testpath=testpath, |
- tests=tests, testChanges=useTestCaseNames, |
- randomly=self.randomly, |
- recurse=self.recurse, |
- env=env, |
- ) |
- |
- |
-# compatibility classes, will go away. Note that these only offer |
-# compatibility at the constructor level: if you have subclassed these |
-# factories, your subclasses are unlikely to still work correctly. |
- |
-ConfigurableBuildFactory = BuildFactory |
- |
-class BasicBuildFactory(GNUAutoconf): |
- # really a "GNU Autoconf-created tarball -in-CVS tree" builder |
- |
- def __init__(self, cvsroot, cvsmodule, |
- configure=None, configureEnv={}, |
- compile="make all", |
- test="make check", cvsCopy=False): |
- mode = "clobber" |
- if cvsCopy: |
- mode = "copy" |
- source = s(CVS, cvsroot=cvsroot, cvsmodule=cvsmodule, mode=mode) |
- GNUAutoconf.__init__(self, source, |
- configure=configure, configureEnv=configureEnv, |
- compile=compile, |
- test=test) |
- |
-class QuickBuildFactory(BasicBuildFactory): |
- useProgress = False |
- |
- def __init__(self, cvsroot, cvsmodule, |
- configure=None, configureEnv={}, |
- compile="make all", |
- test="make check", cvsCopy=False): |
- mode = "update" |
- source = s(CVS, cvsroot=cvsroot, cvsmodule=cvsmodule, mode=mode) |
- GNUAutoconf.__init__(self, source, |
- configure=configure, configureEnv=configureEnv, |
- compile=compile, |
- test=test) |
- |
-class BasicSVN(GNUAutoconf): |
- |
- def __init__(self, svnurl, |
- configure=None, configureEnv={}, |
- compile="make all", |
- test="make check"): |
- source = s(SVN, svnurl=svnurl, mode="update") |
- GNUAutoconf.__init__(self, source, |
- configure=configure, configureEnv=configureEnv, |
- compile=compile, |
- test=test) |