forked from checkbox/checkbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
executable file
·45 lines (42 loc) · 1.58 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python3
# This file is part of Checkbox.
#
# Copyright 2012 Canonical Ltd.
# Written by:
# Zygmunt Krynicki <[email protected]>
#
# Checkbox is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3,
# as published by the Free Software Foundation.
#
# Checkbox is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Checkbox. If not, see <http://www.gnu.org/licenses/>.
"""
setup.py multiplexer
====================
This `setup.py` is really a multiplexer to various setup.py files (for
plainbox, checkbox-ng, etc). It was implemented because readthedocs.org cannot
handle many projects in one repository correctly.
"""
import glob
import os
import subprocess
import sys
delegate_to = ['plainbox', 'checkbox-ng', 'checkbox-old', 'checkbox-support']
delegate_to.extend(glob.glob('plainbox-provider*'))
try:
base = os.path.dirname(__file__)
for target_dir in delegate_to:
# NOTE: use sys.executable because 'python' and 'python3' resolve to
# non-virtualenv (!) versions of python when building on
# readthedocs.org
cmd = [sys.executable, 'setup.py'] + sys.argv[1:]
cwd = os.path.join(base, target_dir)
subprocess.check_call(cmd, cwd=cwd)
except subprocess.CalledProcessError as exc:
raise SystemExit(str(exc))