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

Unified Diff: third_party/closure_compiler/compile.py

Issue 2117653002: Add the ability to pass arguments to runner.jar (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@enable-chrome-pass
Patch Set: merge Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/closure_compiler/closure_args.gypi ('k') | third_party/closure_compiler/compile2.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/closure_compiler/compile.py
diff --git a/third_party/closure_compiler/compile.py b/third_party/closure_compiler/compile.py
index c287884f6a019d5f0c74b59e31909009c36f562e..a25b74413181ea30295fe673b6af65c2f4907937 100755
--- a/third_party/closure_compiler/compile.py
+++ b/third_party/closure_compiler/compile.py
@@ -186,13 +186,14 @@ class Checker(object):
return tmp_file.name
def _run_js_check(self, sources, out_file=None, externs=None,
- closure_args=None):
+ runner_args=None, closure_args=None):
"""Check |sources| for type errors.
Args:
sources: Files to check.
out_file: A file where the compiled output is written to.
externs: @extern files that inform the compiler about custom globals.
+ runner_args: Arguments passed to runner.jar.
closure_args: Arguments passed directly to the Closure compiler.
Returns:
@@ -220,8 +221,9 @@ class Checker(object):
args_file = self._create_temp_file(args_file_content)
self._log_debug("Args file: %s" % args_file)
- runner_args = ["--compiler-args-file=%s" % args_file]
- _, stderr = self._run_jar(self._runner_jar, runner_args)
+ processed_runner_args = ["--%s" % arg for arg in runner_args or []]
+ processed_runner_args += ["--compiler-args-file=%s" % args_file]
+ _, stderr = self._run_jar(self._runner_jar, processed_runner_args)
errors = stderr.strip().split("\n\n")
maybe_summary = errors.pop()
@@ -243,7 +245,7 @@ class Checker(object):
return errors, stderr
def check(self, source_file, out_file=None, depends=None, externs=None,
- closure_args=None):
+ runner_args=None, closure_args=None):
"""Closure compiler |source_file| while checking for errors.
Args:
@@ -251,6 +253,7 @@ class Checker(object):
out_file: A file where the compiled output is written to.
depends: Files that |source_file| requires to run (e.g. earlier <script>).
externs: @extern files that inform the compiler about custom globals.
+ runner_args: Arguments passed to runner.jar.
closure_args: Arguments passed directly to the Closure compiler.
Returns:
@@ -280,6 +283,7 @@ class Checker(object):
errors, stderr = self._run_js_check([self._expanded_file],
out_file=out_file, externs=externs,
+ runner_args=runner_args,
closure_args=closure_args)
filtered_errors = self._filter_errors(errors)
cleaned_errors = map(self._clean_up_error, filtered_errors)
@@ -295,13 +299,14 @@ class Checker(object):
return bool(cleaned_errors), stderr
def check_multiple(self, sources, out_file=None, externs=None,
- closure_args=None):
+ runner_args=None, closure_args=None):
"""Closure compile a set of files and check for errors.
Args:
sources: An array of files to check.
out_file: A file where the compiled output is written to.
externs: @extern files that inform the compiler about custom globals.
+ runner_args: Arguments passed to runner.jar.
closure_args: Arguments passed directly to the Closure compiler.
Returns:
@@ -310,6 +315,7 @@ class Checker(object):
"""
errors, stderr = self._run_js_check(sources, out_file=out_file,
externs=externs,
+ runner_args=runner_args,
closure_args=closure_args)
self._nuke_temp_files()
return bool(errors), stderr
@@ -321,19 +327,20 @@ if __name__ == "__main__":
parser.add_argument("sources", nargs=argparse.ONE_OR_MORE,
help="Path to a source file to typecheck")
single_file_group = parser.add_mutually_exclusive_group()
- single_file_group.add_argument("--single-file", dest="single_file",
+ single_file_group.add_argument("--single_file", dest="single_file",
action="store_true",
help="Process each source file individually")
- # TODO(twellington): remove --no-single-file and use len(opts.sources).
- single_file_group.add_argument("--no-single-file", dest="single_file",
+ # TODO(twellington): remove --no_single_file and use len(opts.sources).
+ single_file_group.add_argument("--no_single_file", dest="single_file",
action="store_false",
help="Process all source files as a group")
parser.add_argument("-d", "--depends", nargs=argparse.ZERO_OR_MORE)
parser.add_argument("-e", "--externs", nargs=argparse.ZERO_OR_MORE)
- parser.add_argument("-o", "--out-file", dest="out_file",
+ parser.add_argument("-o", "--out_file",
help="A file where the compiled output is written to")
- parser.add_argument("-c", "--closure-args", dest="closure_args",
- nargs=argparse.ZERO_OR_MORE,
+ parser.add_argument("-r", "--runner_args", nargs=argparse.ZERO_OR_MORE,
+ help="Arguments passed to runner.jar")
+ parser.add_argument("-c", "--closure_args", nargs=argparse.ZERO_OR_MORE,
help="Arguments passed directly to the Closure compiler")
parser.add_argument("-v", "--verbose", action="store_true",
help="Show more information as this script runs")
@@ -359,6 +366,7 @@ if __name__ == "__main__":
found_errors, _ = checker.check(source, out_file=opts.out_file,
depends=depends, externs=externs,
+ runner_args=opts.runner_args,
closure_args=opts.closure_args)
if found_errors:
sys.exit(1)
@@ -367,6 +375,7 @@ if __name__ == "__main__":
sources,
out_file=opts.out_file,
externs=externs,
+ runner_args=opts.runner_args,
closure_args=opts.closure_args)
if found_errors:
print stderr
« no previous file with comments | « third_party/closure_compiler/closure_args.gypi ('k') | third_party/closure_compiler/compile2.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698