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

Side by Side Diff: third_party/WebKit/Source/devtools/scripts/build/modular_build.py

Issue 2588843002: DevTools: speed up closure dependency checking (Closed)
Patch Set: update BUILD.gn Created 3 years, 12 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
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 """ 7 """
8 Utilities for the modular DevTools build. 8 Utilities for the modular DevTools build.
9 """ 9 """
10 10
11 import collections
11 from os import path 12 from os import path
12 import os 13 import os
13 14
14 try: 15 try:
15 import simplejson as json 16 import simplejson as json
16 except ImportError: 17 except ImportError:
17 import json 18 import json
18 19
19 20
20 def read_file(filename): 21 def read_file(filename):
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 self._cached_sorted_modules = None 63 self._cached_sorted_modules = None
63 self.has_html = has_html 64 self.has_html = has_html
64 65
65 def application_json(self): 66 def application_json(self):
66 result = dict() 67 result = dict()
67 result['modules'] = self.application.values() 68 result['modules'] = self.application.values()
68 result['has_html'] = self.has_html 69 result['has_html'] = self.has_html
69 return json.dumps(result) 70 return json.dumps(result)
70 71
71 def all_compiled_files(self): 72 def all_compiled_files(self):
72 files = {} 73 files = collections.OrderedDict()
73 for name in self.modules: 74 for name in self.sorted_modules():
74 module = self.modules[name] 75 module = self.modules[name]
75 skipped_files = set(module.get('skip_compilation', [])) 76 skipped_files = set(module.get('skip_compilation', []))
76 for script in module.get('scripts', []): 77 for script in module.get('scripts', []):
77 if script not in skipped_files: 78 if script not in skipped_files:
78 files[path.normpath(path.join(self.application_dir, name, sc ript))] = True 79 files[path.normpath(path.join(self.application_dir, name, sc ript))] = True
79 return files.keys() 80 return files.keys()
80 81
81 def module_compiled_files(self, name): 82 def module_compiled_files(self, name):
82 files = [] 83 files = []
83 module = self.modules.get(name) 84 module = self.modules.get(name)
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 182
182 return Descriptors(self.application_dir, merged_application_descriptor, all_module_descriptors, has_html) 183 return Descriptors(self.application_dir, merged_application_descriptor, all_module_descriptors, has_html)
183 184
184 def _read_module_descriptor(self, module_name, application_descriptor_filena me): 185 def _read_module_descriptor(self, module_name, application_descriptor_filena me):
185 json_filename = path.join(self.application_dir, module_name, 'module.jso n') 186 json_filename = path.join(self.application_dir, module_name, 'module.jso n')
186 if not path.exists(json_filename): 187 if not path.exists(json_filename):
187 bail_error('Module descriptor %s referenced in %s is missing' % (jso n_filename, application_descriptor_filename)) 188 bail_error('Module descriptor %s referenced in %s is missing' % (jso n_filename, application_descriptor_filename))
188 module_json = load_and_parse_json(json_filename) 189 module_json = load_and_parse_json(json_filename)
189 module_json['name'] = module_name 190 module_json['name'] = module_name
190 return module_json 191 return module_json
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698