Bug 1257516 - Use the logger for virtualenv manager output. r?ted
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -160,16 +160,17 @@ option(env='PYTHON', nargs=1, help='Pyth
# Setup python virtualenv
# ==============================================================
@depends('PYTHON', check_build_environment, mozconfig)
@advanced
def virtualenv_python(env_python, build_env, mozconfig):
import os
import sys
import subprocess
+ from mozbuild.configure.util import LineIO
from mozbuild.virtualenv import (
VirtualenvManager,
verify_python_version,
)
python = env_python[0] if env_python else None
# Ideally we'd rely on the mozconfig injection from mozconfig_options,
@@ -180,25 +181,27 @@ def virtualenv_python(env_python, build_
python = mozconfig['env']['added']['PYTHON']
elif 'PYTHON' in mozconfig['env']['modified']:
python = mozconfig['env']['modified']['PYTHON'][1]
elif 'PYTHON' in mozconfig['vars']['added']:
python = mozconfig['vars']['added']['PYTHON']
elif 'PYTHON' in mozconfig['vars']['modified']:
python = mozconfig['vars']['modified']['PYTHON'][1]
- verify_python_version(sys.stderr)
+ with LineIO(lambda l: log.error(l)) as out:
+ verify_python_version(out)
topsrcdir, topobjdir = build_env.topsrcdir, build_env.topobjdir
if topobjdir.endswith('/js/src'):
topobjdir = topobjdir[:-7]
- manager = VirtualenvManager(
- topsrcdir, topobjdir,
- os.path.join(topobjdir, '_virtualenv'), sys.stdout,
- os.path.join(topsrcdir, 'build', 'virtualenv_packages.txt'))
+ with LineIO(lambda l: log.info(l)) as out:
+ manager = VirtualenvManager(
+ topsrcdir, topobjdir,
+ os.path.join(topobjdir, '_virtualenv'), out,
+ os.path.join(topsrcdir, 'build', 'virtualenv_packages.txt'))
if python:
# If we're not in the virtualenv, we need the which module for
# find_program.
if normsep(sys.executable) != normsep(manager.python_path):
sys.path.append(os.path.join(topsrcdir, 'python', 'which'))
found_python = find_program(python)
if not found_python: