Files
platform-external-webrtc/third_party/closure_compiler/js_minify.py
Artem Titov 739351d476 Roll chromium_revision 95336cb92b..191d55580e (557816:557824)
Change log: 95336cb92b..191d55580e
Full diff: 95336cb92b..191d55580e

Roll chromium third_party 4e16929f46..3a8f2a9e1e
Change log: 4e16929f46..3a8f2a9e1e

Changed dependencies:
* src/tools: c44a3f5eca..f524a53b81
DEPS diff: 95336cb92b..191d55580e/DEPS

No update to Clang.

TBR=titovartem@google.com,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ic9c4a62b050383646e9fcf5cc07a5653c14ac06e
Reviewed-on: https://webrtc-review.googlesource.com/76120
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23205}
2018-05-11 11:17:05 +00:00

51 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
''' Javascript minifier using the closure compiler
This minifier strips spaces and comments out of Javascript using the closure
compiler. It takes the original Javascript on standard input, and outputs
the minified output on standard output.
Any errors or other messages from the compiler are output on standard error.
'''
import argparse
import sys
import tempfile
from compile2 import Checker
def Minify(source):
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--closure_args", nargs=argparse.ZERO_OR_MORE,
help="Arguments passed directly to the Closure compiler")
args = parser.parse_args()
with tempfile.NamedTemporaryFile(suffix='.js') as t1, \
tempfile.NamedTemporaryFile(suffix='.js') as t2:
t1.write(source)
t1.seek(0)
checker = Checker()
(compile_error, compile_stderr) = checker.check(
[t1.name],
out_file=t2.name,
closure_args=args.closure_args)
if compile_error:
print compile_stderr
t2.seek(0)
result = t2.read()
return result
if __name__ == '__main__':
orig_stdout = sys.stdout
result = ''
try:
sys.stdout = sys.stderr
result = Minify(sys.stdin.read())
finally:
sys.stdout = orig_stdout
print result