annotate autobot/process/factory.py @ 2:a3374cdd116d

stub out more needed for python projects
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 06 Jan 2011 11:28:28 -0800
parents 8e14b6322cc7
children 6abe5fb1fafc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 from autobot.steps import CreateVirtualenv
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 from buildbot.process.factory import BuildFactory
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 """
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 generic factories
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6 """
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 class VirtualenvFactory(BuildFactory):
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 """
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 create a virtualenv
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 """
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12
2
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
13 def __init__(self, name='env', hg_sources=()):
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 """
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 - name : of the virtualenv
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 - hg_sources : sources of python packages with setuptools setup.pys
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 """
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 BuildFactory.__init__(self)
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 self.addStep(CreateVirtualenv(name))
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 self.addStep(ShellCommand(command=['mkdir', 'src'],
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 directory=name))
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 # TODO: set properities:
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23 # - python location
2
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
24 # - virtualenv location
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
25
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
26 # clone hg repositories
0
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
27 for hg_source in hg_sources:
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
28 self.addStep(ShellCommand(command=['hg', 'clone', hg_source],
8e14b6322cc7 initial stub for ateam buildbot
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29 directory=name + '/src'))
2
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
30
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
31
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
32 class PythonSourceFactory(VirtualenvFactory):
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
33 """
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
34 setup several python packages
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
35 """
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
36
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
37 def __init__(self, name='env', hg_sources=()):
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
38
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
39 # setup the environment
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
40 VirtualenvFactory.__init__(self, name=name, hg_sources=hg_sources)
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
41
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
42 # install the packages
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
43
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
44
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
45 # python sources:
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
46 # [{'source': 'http://hg.mozilla.org/....',
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
47 # 'type': 'hg', # or git,
a3374cdd116d stub out more needed for python projects
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
48 # }]