Chromium Code Reviews| Index: mojo/public/tools/bindings/mojom_bindings_generator.py |
| diff --git a/mojo/public/tools/bindings/mojom_bindings_generator.py b/mojo/public/tools/bindings/mojom_bindings_generator.py |
| index 5240dd7f4d2b0660e98794b2658fa8ce624114e8..6e23c5649b1966aa186a6a7cbd5eca26f616b4c4 100755 |
| --- a/mojo/public/tools/bindings/mojom_bindings_generator.py |
| +++ b/mojo/public/tools/bindings/mojom_bindings_generator.py |
| @@ -81,8 +81,8 @@ def FindImportFile(dir_name, file_name, search_dirs): |
| for search_dir in [dir_name] + search_dirs: |
| path = os.path.join(search_dir, file_name) |
| if os.path.isfile(path): |
| - return path |
| - return os.path.join(dir_name, file_name) |
| + return path, search_dir |
| + return os.path.join(dir_name, file_name), None |
|
yzshen1
2016/07/21 23:21:51
According to our discussion, I wonder why this is
Luis Héctor Chávez
2016/07/21 23:33:13
Returning this will trigger L178 to print a nice i
|
| class MojomProcessor(object): |
| def __init__(self, should_generate): |
| @@ -108,9 +108,10 @@ class MojomProcessor(object): |
| self._ParseFileAndImports(filename, args.import_directories, []) |
| return self._GenerateModule(args, remaining_args, generator_modules, |
| - filename) |
| + filename, args.depth) |
| - def _GenerateModule(self, args, remaining_args, generator_modules, filename): |
| + def _GenerateModule(self, args, remaining_args, generator_modules, filename, |
| + source_root): |
| # Return the already-generated module. |
| if filename in self._processed_files: |
| return self._processed_files[filename] |
| @@ -124,17 +125,19 @@ class MojomProcessor(object): |
| # Process all our imports first and collect the module object for each. |
| # We use these to generate proper type info. |
| for import_data in mojom['imports']: |
| - import_filename = FindImportFile(dirname, |
| - import_data['filename'], |
| - args.import_directories) |
| + import_filename, import_dir = FindImportFile(dirname, |
| + import_data['filename'], |
| + args.import_directories) |
| + if import_dir is None: |
| + import_dir = args.depth |
| import_data['module'] = self._GenerateModule( |
| - args, remaining_args, generator_modules, import_filename) |
| + args, remaining_args, generator_modules, import_filename, import_dir) |
| module = OrderedModuleFromData(mojom) |
| # Set the path as relative to the source root. |
| module.path = os.path.relpath(os.path.abspath(filename), |
| - os.path.abspath(args.depth)) |
| + os.path.abspath(source_root)) |
| # Normalize to unix-style path here to keep the generators simpler. |
| module.path = module.path.replace('\\', '/') |
| @@ -185,7 +188,7 @@ class MojomProcessor(object): |
| dirname = os.path.split(filename)[0] |
| for imp_entry in tree.import_list: |
| - import_filename = FindImportFile(dirname, |
| + import_filename, _ = FindImportFile(dirname, |
| imp_entry.import_filename, import_directories) |
| self._ParseFileAndImports(import_filename, import_directories, |
| imported_filename_stack + [filename]) |