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

Side by Side Diff: Source/devtools/scripts/concatenate_module_descriptors.py

Issue 459833002: Revert of Revert of DevTools: Introduce module initializers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright 2014 The Chromium Authors. All rights reserved. 3 # Copyright 2014 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Inlines all module.json files into modules.js.""" 7 """Inlines all module.json files into modules.js."""
8 8
9 from os import path 9 from os import path
10 import errno 10 import errno
11 import shutil 11 import shutil
12 import sys 12 import sys
13 try:
14 import simplejson as json
15 except ImportError:
16 import json
13 17
14 18
15 def read_file(filename): 19 def read_file(filename):
16 with open(filename, 'rt') as file: 20 with open(filename, 'rt') as file:
17 return file.read() 21 return file.read()
18 22
19 23
20 def build_modules(module_jsons): 24 def build_modules(module_jsons):
21 result = [] 25 result = []
22 for json_filename in module_jsons: 26 for json_filename in module_jsons:
23 if not path.exists(json_filename): 27 if not path.exists(json_filename):
24 continue 28 continue
25 module_name = path.basename(path.dirname(json_filename)) 29 module_name = path.basename(path.dirname(json_filename))
26 json = read_file(json_filename).replace('{', '{"name":"%s",' % module_na me, 1) 30
27 result.append(json) 31 # pylint: disable=E1103
28 return ','.join(result) 32 module_json = json.loads(read_file(json_filename))
33 module_json['name'] = module_name
34
35 # Clear scripts, as they are not used at runtime
36 # (only the fact of their presence is important).
37 if module_json.get('scripts'):
38 module_json['scripts'] = []
39 result.append(module_json)
40 return json.dumps(result)
29 41
30 42
31 def main(argv): 43 def main(argv):
32 input_filename = argv[1] 44 input_filename = argv[1]
33 output_filename = argv[2] 45 output_filename = argv[2]
34 module_jsons = argv[3:] 46 module_jsons = argv[3:]
35 47
36 with open(output_filename, 'w') as output_file: 48 with open(output_filename, 'w') as output_file:
37 output_file.write('var allDescriptors=[%s];' % build_modules(module_json s)) 49 output_file.write('var allDescriptors=%s;' % build_modules(module_jsons) )
38 50
39 51
40 if __name__ == '__main__': 52 if __name__ == '__main__':
41 sys.exit(main(sys.argv)) 53 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « Source/devtools/scripts/compile_frontend.py ('k') | Source/devtools/scripts/inline_js_imports.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698