Bug 1257516 - Use the logger for virtualenv manager output. r?ted draft
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 25 Mar 2016 16:37:37 +0900
changeset 344667 9aadd62b13084ca16a2f5854af464c7cc97db49a
parent 344666 36f93966b47c93158c9de3aec527e47994b594a9
child 344696 6ed8521425345d88a64dfea34ccf399a07d69803
push id13899
push userbmo:mh+mozilla@glandium.org
push dateFri, 25 Mar 2016 08:32:05 +0000
reviewersted
bugs1257516
milestone48.0a1
Bug 1257516 - Use the logger for virtualenv manager output. r?ted
build/moz.configure/init.configure
--- 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: