pw_env_setup: Increase CIPD logging Change-Id: Ifebdf36fce25a2b757b76311b5e7d5cc4bb4ec3c Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/49340 Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com> Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com> Reviewed-by: Michael Spang <spang@google.com>
diff --git a/pw_env_setup/py/pw_env_setup/cipd_setup/update.py b/pw_env_setup/py/pw_env_setup/cipd_setup/update.py index 41b5b0e..ef91b28 100755 --- a/pw_env_setup/py/pw_env_setup/cipd_setup/update.py +++ b/pw_env_setup/py/pw_env_setup/cipd_setup/update.py
@@ -28,7 +28,6 @@ import re import subprocess import sys -import tempfile def parse(argv=None): @@ -229,32 +228,35 @@ root_install_dir, os.path.basename(os.path.splitext(package_file)[0])) + name = os.path.basename(install_dir) + cmd = [ cipd, 'ensure', '-ensure-file', ensure_file, '-root', install_dir, - '-log-level', 'warning', + '-log-level', 'debug', + '-json-output', + os.path.join(root_install_dir, '{}-output.json'.format(name)), '-cache-dir', cache_dir, '-max-threads', '0', # 0 means use CPU count. ] # yapf: disable # TODO(pwbug/135) Use function from common utility module. - with tempfile.TemporaryFile(mode='w+') as temp: - print(*cmd, file=temp) - try: + log = os.path.join(root_install_dir, '{}.log'.format(name)) + try: + with open(log, 'w') as outs: + print(*cmd, file=outs) subprocess.check_call(cmd, - stdout=temp, + stdout=outs, stderr=subprocess.STDOUT) - except subprocess.CalledProcessError: - temp.seek(0) - sys.stderr.write(temp.read()) + except subprocess.CalledProcessError: + with open(log, 'r') as ins: + sys.stderr.write(ins.read()) raise # Set environment variables so tools can later find things under, for # example, 'share'. - name = os.path.basename(install_dir) - if env_vars: # Some executables get installed at top-level and some get # installed under 'bin'.