use tox env when asking pbr for its name
It seems pbr needs to be installed in order to get its name, so use tox instead of the system python. Change-Id: I8809978b23430daacfc6a48d1f4bc84cce24c003 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
@@ -23,9 +23,22 @@ def get_sdist_name(workdir, repo):
|
||||
if not os.path.exists(os.path.join(dest, 'setup.py')):
|
||||
# Not a python project
|
||||
return None
|
||||
cmd = ['python', 'setup.py', '--name']
|
||||
use_tox = repo.endswith('/pbr')
|
||||
if use_tox and not os.path.exists(os.path.join(dest, '.tox', 'venv')):
|
||||
# Use tox to set up a virtualenv so we can install the
|
||||
# dependencies for the package. This only seems to be
|
||||
# necessary for pbr, but...
|
||||
subprocess.check_output(
|
||||
['tox', '-e', 'venv', '--notest'],
|
||||
cwd=dest,
|
||||
)
|
||||
if use_tox:
|
||||
python = '.tox/venv/bin/python'
|
||||
else:
|
||||
python = 'python'
|
||||
# Run it once and discard the result to ensure any setup_requires
|
||||
# dependencies are installed.
|
||||
cmd = [python, 'setup.py', '--name']
|
||||
subprocess.check_output(cmd, cwd=dest)
|
||||
# Run it again to get a clean version of the name.
|
||||
name = subprocess.check_output(cmd, cwd=dest).strip()
|
||||
|
||||
Reference in New Issue
Block a user