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

Unified Diff: Source/devtools/scripts/compile_frontend.py

Issue 1144333005: Make compile_frontend.py work with default JVM 1.8 installation on Mac OS X (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 'server ' -> 'server' Created 5 years, 6 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/scripts/compile_frontend.py
diff --git a/Source/devtools/scripts/compile_frontend.py b/Source/devtools/scripts/compile_frontend.py
index 61b5afc48db6814d0b2c2be4661a2da0ee2ecace..721a38af4f9d1dbd2117b957553385e36931c997 100755
--- a/Source/devtools/scripts/compile_frontend.py
+++ b/Source/devtools/scripts/compile_frontend.py
@@ -53,9 +53,8 @@ if len(sys.argv) == 2 and sys.argv[1] == '--help':
is_cygwin = sys.platform == 'cygwin'
-def run_in_shell(command_line):
- return subprocess.Popen(command_line, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
-
+def popen(arguments):
+ return subprocess.Popen(arguments, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
def to_platform_path(filepath):
if not is_cygwin:
@@ -66,7 +65,7 @@ def to_platform_path(filepath):
def to_platform_path_exact(filepath):
if not is_cygwin:
return filepath
- output, _ = run_in_shell('cygpath -w %s' % filepath).communicate()
+ output, _ = popen(['cygpath', '-w', filepath]).communicate()
# pylint: disable=E1103
return output.strip().replace('\\', '\\\\')
@@ -114,7 +113,6 @@ def which(program):
exe_file = path.join(part, program)
if is_exe(exe_file):
return exe_file
-
return None
@@ -143,7 +141,7 @@ def verify_jsdoc_extra(additional_files):
file_list.write('\n'.join(files))
finally:
file_list.close()
- return run_in_shell('%s -jar %s --files-list-name %s' % (java_exec, jsdoc_validator_jar, to_platform_path_exact(file_list.name))), file_list
+ return popen(java_exec + ['-jar', jsdoc_validator_jar, '--files-list-name', to_platform_path_exact(file_list.name)]), file_list
def verify_jsdoc(additional_files):
@@ -212,7 +210,7 @@ def find_java():
sys.exit(1)
is_ok = False
- java_version_out, _ = run_in_shell('%s -version' % java_path).communicate()
+ java_version_out, _ = popen([java_path, '-version']).communicate()
# pylint: disable=E1103
match = re.search(java_build_regex, java_version_out)
if match:
@@ -220,12 +218,12 @@ def find_java():
minor = int(match.group(2))
is_ok = major >= required_major and minor >= required_minor
if is_ok:
- exec_command = '%s -Xms1024m -server -XX:+TieredCompilation' % java_path
- check_server_proc = run_in_shell('%s -version' % exec_command)
+ exec_command = [java_path, '-Xms1024m', '-server', '-XX:+TieredCompilation']
+ check_server_proc = popen(exec_command + ['-version'])
check_server_proc.communicate()
if check_server_proc.returncode != 0:
# Not all Java installs have server JVMs.
- exec_command = exec_command.replace('-server ', '')
+ exec_command = exec_command.remove('-server')
has_server_jvm = False
if not is_ok:
@@ -241,7 +239,18 @@ closure_runner_jar = to_platform_path(path.join(scripts_path, 'compiler-runner',
jsdoc_validator_jar = to_platform_path(path.join(scripts_path, 'jsdoc-validator', 'jsdoc-validator.jar'))
modules_dir = tempfile.mkdtemp()
-common_closure_args = ' --summary_detail_level 3 --jscomp_error visibility --compilation_level SIMPLE_OPTIMIZATIONS --warning_level VERBOSE --language_in=ES6_STRICT --language_out=ES5_STRICT --accept_const_keyword --extra_annotation_name suppressReceiverCheck --extra_annotation_name suppressGlobalPropertiesCheck --module_output_path_prefix %s' % to_platform_path_exact(modules_dir + path.sep)
+common_closure_args = [
+ '--summary_detail_level', '3',
+ '--jscomp_error', 'visibility',
+ '--compilation_level', 'SIMPLE_OPTIMIZATIONS',
+ '--warning_level', 'VERBOSE',
+ '--language_in=ES6_STRICT',
+ '--language_out=ES5_STRICT',
+ '--accept_const_keyword',
+ '--extra_annotation_name', 'suppressReceiverCheck',
+ '--extra_annotation_name', 'suppressGlobalPropertiesCheck',
+ '--module_output_path_prefix', to_platform_path_exact(modules_dir + path.sep)
+]
worker_modules_by_name = {}
dependents_by_module_name = {}
@@ -346,7 +355,7 @@ try:
runtime_js_path = to_platform_path(path.join(devtools_frontend_path, 'Runtime.js'))
checked_modules = modules_to_check()
for name in checked_modules:
- closure_args = common_closure_args
+ closure_args = ' '.join(common_closure_args)
closure_args += ' --externs ' + to_platform_path(patched_es6_externs_file)
closure_args += ' --externs ' + to_platform_path(global_externs_file)
closure_args += ' --externs ' + platform_protocol_externs_file
@@ -356,8 +365,7 @@ try:
finally:
compiler_args_file.close()
-closure_runner_command = '%s -jar %s --compiler-args-file %s' % (java_exec, closure_runner_jar, to_platform_path_exact(compiler_args_file.name))
-modular_compiler_proc = run_in_shell(closure_runner_command)
+modular_compiler_proc = popen(java_exec + ['-jar', closure_runner_jar, '--compiler-args-file', to_platform_path_exact(compiler_args_file.name)])
def unclosure_injected_script(sourceFileName, outFileName):
@@ -383,24 +391,30 @@ injectedScriptSourceTmpFile = to_platform_path(path.join(inspector_path, 'Inject
unclosure_injected_script(injected_script_source_name, injectedScriptSourceTmpFile)
print 'Compiling InjectedScriptSource.js...'
-spawned_compiler_command = '%s -jar %s %s' % (java_exec, closure_compiler_jar, common_closure_args)
-command = spawned_compiler_command
-command += ' --externs ' + to_platform_path(injected_script_externs_file)
-command += ' --externs ' + to_platform_path(protocol_externs_file)
-command += ' --module ' + jsmodule_name_prefix + 'injected_script' + ':1'
-command += ' --js ' + to_platform_path(injectedScriptSourceTmpFile)
+spawned_compiler_command = java_exec + [
+ '-jar',
+ closure_compiler_jar
+] + common_closure_args
-injectedScriptCompileProc = run_in_shell(command)
+command = spawned_compiler_command + [
+ '--externs', to_platform_path_exact(injected_script_externs_file),
+ '--externs', to_platform_path_exact(protocol_externs_file),
+ '--module', jsmodule_name_prefix + 'injected_script' + ':1',
+ '--js', to_platform_path(injectedScriptSourceTmpFile)
+]
+
+injectedScriptCompileProc = popen(command)
print 'Compiling devtools.js...'
-spawned_compiler_command = '%s -jar %s %s' % (java_exec, closure_compiler_jar, common_closure_args)
-command = spawned_compiler_command
-command += ' --externs ' + to_platform_path(global_externs_file)
-command += ' --externs ' + to_platform_path(path.join(devtools_frontend_path, 'host', 'InspectorFrontendHostAPI.js'))
-command += ' --module ' + jsmodule_name_prefix + 'devtools_js' + ':1'
-command += ' --js ' + to_platform_path(path.join(devtools_frontend_path, 'devtools.js'))
-devtoolsJSCompileProc = run_in_shell(command)
+
+command = spawned_compiler_command + [
+ '--externs', to_platform_path(global_externs_file),
+ '--externs', to_platform_path(path.join(devtools_frontend_path, 'host', 'InspectorFrontendHostAPI.js')),
+ '--module', jsmodule_name_prefix + 'devtools_js' + ':1',
+ '--js', to_platform_path(path.join(devtools_frontend_path, 'devtools.js'))
+]
+devtoolsJSCompileProc = popen(command)
print 'Verifying JSDoc comments...'
additional_jsdoc_check_files = [injectedScriptSourceTmpFile]
@@ -409,8 +423,7 @@ jsdocValidatorProc, jsdocValidatorFileList = verify_jsdoc_extra(additional_jsdoc
print 'Validating InjectedScriptSource.js...'
injectedscript_check_script_path = path.join(scripts_path, "check_injected_script_source.py")
-check_injected_script_command = '%s %s' % (injectedscript_check_script_path, injected_script_source_name)
-validateInjectedScriptProc = run_in_shell(check_injected_script_command)
+validateInjectedScriptProc = popen([sys.executable, injectedscript_check_script_path, injected_script_source_name])
print
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698