| Index: third_party/closure_compiler/checker.py
|
| diff --git a/third_party/closure_compiler/checker.py b/third_party/closure_compiler/checker.py
|
| index 5ae34951f399d68082667aed5c3d1f10d69ebbab..ad465d43cad217b2da095f32bf283ad9c1eb7159 100644
|
| --- a/third_party/closure_compiler/checker.py
|
| +++ b/third_party/closure_compiler/checker.py
|
| @@ -19,7 +19,7 @@ class LineNumber(object):
|
|
|
| class FileCache(object):
|
| _cache = defaultdict(str)
|
| -
|
| +
|
| def _read(self, file):
|
| file = os.path.abspath(file)
|
| self._cache[file] = self._cache[file] or open(file, "r").read()
|
| @@ -105,12 +105,13 @@ class Checker(object):
|
| "-XX:+TieredCompilation"
|
| ]
|
|
|
| - def __init__(self, verbose=False):
|
| + def __init__(self, verbose=False, return_output=False):
|
| current_dir = os.path.join(os.path.dirname(__file__))
|
| self._compiler_jar = os.path.join(current_dir, "lib", "compiler.jar")
|
| self._runner_jar = os.path.join(current_dir, "runner", "runner.jar")
|
| self._temp_files = []
|
| self._verbose = verbose
|
| + self._return_output = return_output
|
|
|
| def _clean_up(self):
|
| if not self._temp_files:
|
| @@ -212,11 +213,16 @@ class Checker(object):
|
| self._debug("Summary: " + errors.pop())
|
|
|
| output = self._format_errors(map(self._fix_up_error, errors))
|
| - if runner_cmd.returncode:
|
| - self._fatal("Error in: " + file + ("\n" + output if output else ""))
|
| - elif output:
|
| - self._debug("Output: " + output)
|
| -
|
| - self._clean_up()
|
| + if self._return_output:
|
| + self._clean_up()
|
| +
|
| + return output
|
| + else:
|
| + if runner_cmd.returncode:
|
| + self._fatal("Error in: " + file + ("\n" + output if output else ""))
|
| + elif output:
|
| + self._debug("Output: " + output)
|
| +
|
| + self._clean_up()
|
|
|
| - return runner_cmd.returncode == 0
|
| + return runner_cmd.returncode == 0
|
|
|