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

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

Issue 2837083003: DevTools: create test infrastructure so devtools drives the test (Closed)
Patch Set: Created 3 years, 8 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 Utilities for the modular DevTools build. 7 Utilities for the modular DevTools build.
8 """ 8 """
9 9
10 import collections 10 import collections
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 for next in unvisited_modules: 122 for next in unvisited_modules:
123 break 123 break
124 failure = visit(None, next) 124 failure = visit(None, next)
125 if failure: 125 if failure:
126 # failure[0] can never be None 126 # failure[0] can never be None
127 bail_error('Unknown module "%s" encountered in dependencies of " %s"' % (failure[1], failure[0])) 127 bail_error('Unknown module "%s" encountered in dependencies of " %s"' % (failure[1], failure[0]))
128 128
129 self._cached_sorted_modules = result 129 self._cached_sorted_modules = result
130 return result 130 return result
131 131
132 def sorted_dependencies_closure(self, module_name): 132 def sorted_dependencies_closure(self, module_name, include_test_dependencies =False):
133 visited = set() 133 visited = set()
134 134
135 def sorted_deps_for_module(name): 135 def sorted_deps_for_module(name):
136 result = [] 136 result = []
137 desc = self.modules[name] 137 desc = self.modules[name]
138 deps = desc.get('dependencies', []) 138 deps = desc.get('dependencies', [])
139 if include_test_dependencies:
140 deps.extend(desc.get('test_dependencies', []))
139 for dep in deps: 141 for dep in deps:
140 result += sorted_deps_for_module(dep) 142 result += sorted_deps_for_module(dep)
141 if name not in visited: 143 if name not in visited:
142 result.append(name) 144 result.append(name)
143 visited.add(name) 145 visited.add(name)
144 return result 146 return result
145 147
146 return sorted_deps_for_module(module_name) 148 return sorted_deps_for_module(module_name)
147 149
148 150
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 186
185 return Descriptors(self.application_dir, merged_application_descriptor, all_module_descriptors, has_html) 187 return Descriptors(self.application_dir, merged_application_descriptor, all_module_descriptors, has_html)
186 188
187 def _read_module_descriptor(self, module_name, application_descriptor_filena me): 189 def _read_module_descriptor(self, module_name, application_descriptor_filena me):
188 json_filename = path.join(self.application_dir, module_name, 'module.jso n') 190 json_filename = path.join(self.application_dir, module_name, 'module.jso n')
189 if not path.exists(json_filename): 191 if not path.exists(json_filename):
190 bail_error('Module descriptor %s referenced in %s is missing' % (jso n_filename, application_descriptor_filename)) 192 bail_error('Module descriptor %s referenced in %s is missing' % (jso n_filename, application_descriptor_filename))
191 module_json = load_and_parse_json(json_filename) 193 module_json = load_and_parse_json(json_filename)
192 module_json['name'] = module_name 194 module_json['name'] = module_name
193 return module_json 195 return module_json
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698