Mercurial > hg > autobot
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 |
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 # }] |