Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Side by Side Diff: build/android/gyp/util/build_utils.py

Issue 1815563005: [Android] Run lint using a cache in the output directory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: agrieve comments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import ast 5 import ast
6 import contextlib 6 import contextlib
7 import fnmatch 7 import fnmatch
8 import json 8 import json
9 import os 9 import os
10 import pipes 10 import pipes
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 # A user should be able to simply copy and paste the command that failed 145 # A user should be able to simply copy and paste the command that failed
146 # into their shell. 146 # into their shell.
147 copyable_command = '( cd {}; {} )'.format(os.path.abspath(self.cwd), 147 copyable_command = '( cd {}; {} )'.format(os.path.abspath(self.cwd),
148 ' '.join(map(pipes.quote, self.args))) 148 ' '.join(map(pipes.quote, self.args)))
149 return 'Command failed: {}\n{}'.format(copyable_command, self.output) 149 return 'Command failed: {}\n{}'.format(copyable_command, self.output)
150 150
151 151
152 # This can be used in most cases like subprocess.check_output(). The output, 152 # This can be used in most cases like subprocess.check_output(). The output,
153 # particularly when the command fails, better highlights the command's failure. 153 # particularly when the command fails, better highlights the command's failure.
154 # If the command fails, raises a build_utils.CalledProcessError. 154 # If the command fails, raises a build_utils.CalledProcessError.
155 def CheckOutput(args, cwd=None, 155 def CheckOutput(args, cwd=None, env=None,
156 print_stdout=False, print_stderr=True, 156 print_stdout=False, print_stderr=True,
157 stdout_filter=None, 157 stdout_filter=None,
158 stderr_filter=None, 158 stderr_filter=None,
159 fail_func=lambda returncode, stderr: returncode != 0): 159 fail_func=lambda returncode, stderr: returncode != 0):
160 if not cwd: 160 if not cwd:
161 cwd = os.getcwd() 161 cwd = os.getcwd()
162 162
163 child = subprocess.Popen(args, 163 child = subprocess.Popen(args,
164 stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd) 164 stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd, env=env)
165 stdout, stderr = child.communicate() 165 stdout, stderr = child.communicate()
166 166
167 if stdout_filter is not None: 167 if stdout_filter is not None:
168 stdout = stdout_filter(stdout) 168 stdout = stdout_filter(stdout)
169 169
170 if stderr_filter is not None: 170 if stderr_filter is not None:
171 stderr = stderr_filter(stderr) 171 stderr = stderr_filter(stderr)
172 172
173 if fail_func(child.returncode, stderr): 173 if fail_func(child.returncode, stderr):
174 raise CalledProcessError(cwd, args, stdout + stderr) 174 raise CalledProcessError(cwd, args, stdout + stderr)
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 515
516 md5_check.CallAndRecordIfStale( 516 md5_check.CallAndRecordIfStale(
517 on_stale_md5, 517 on_stale_md5,
518 record_path=record_path, 518 record_path=record_path,
519 input_paths=input_paths, 519 input_paths=input_paths,
520 input_strings=input_strings, 520 input_strings=input_strings,
521 output_paths=output_paths, 521 output_paths=output_paths,
522 force=force, 522 force=force,
523 pass_changes=True) 523 pass_changes=True)
524 524
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698