OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import argparse | 6 import argparse |
7 import ast | 7 import ast |
8 import collections | 8 import collections |
9 import os | 9 import os |
10 import sys | 10 import sys |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 output_depends.extend(expanded_depends) | 65 output_depends.extend(expanded_depends) |
66 output_externs.update(expanded_externs) | 66 output_externs.update(expanded_externs) |
67 | 67 |
68 output_depends = remove_duplicates_with_order(output_depends) | 68 output_depends = remove_duplicates_with_order(output_depends) |
69 | 69 |
70 return output_depends, output_externs | 70 return output_depends, output_externs |
71 | 71 |
72 | 72 |
73 def GetInputs(args): | 73 def GetInputs(args): |
74 parser = argparse.ArgumentParser() | 74 parser = argparse.ArgumentParser() |
75 parser.add_argument("source", nargs=1) | 75 parser.add_argument("sources", nargs=argparse.ONE_OR_MORE) |
76 parser.add_argument("-d", "--depends", nargs=argparse.ZERO_OR_MORE, | 76 parser.add_argument("-d", "--depends", nargs=argparse.ZERO_OR_MORE, |
77 default=[]) | 77 default=[]) |
78 parser.add_argument("-e", "--externs", nargs=argparse.ZERO_OR_MORE, | 78 parser.add_argument("-e", "--externs", nargs=argparse.ZERO_OR_MORE, |
79 default=[]) | 79 default=[]) |
80 opts = parser.parse_args(args) | 80 opts = parser.parse_args(args) |
81 | 81 |
82 source = opts.source[0] | 82 # TODO(twellington): resolve dependencies for multiple sources. |
83 depends, externs = resolve_recursive_dependencies( | 83 if len(opts.sources) == 1: |
84 os.path.normpath(os.path.join(os.getcwd(), source)), | 84 depends, externs = resolve_recursive_dependencies( |
85 opts.depends, | 85 os.path.normpath(os.path.join(os.getcwd(), opts.sources[0])), |
86 opts.externs) | 86 opts.depends, |
| 87 opts.externs) |
| 88 else: |
| 89 depends = opts.depends |
| 90 externs = set(opts.externs) |
87 | 91 |
88 files = set() | 92 files = set() |
89 for file in {source} | set(depends) | externs: | 93 for file in set(opts.sources) | set(depends) | externs: |
90 files.add(file) | 94 files.add(file) |
91 files.update(processor.Processor(file).included_files) | 95 files.update(processor.Processor(file).included_files) |
92 | 96 |
93 return files | 97 return files |
94 | 98 |
95 | 99 |
96 if __name__ == "__main__": | 100 if __name__ == "__main__": |
97 print "\n".join(GetInputs(sys.argv[1:])) | 101 print "\n".join(GetInputs(sys.argv[1:])) |
OLD | NEW |