| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2012 The Chromium Authors. All rights reserved. | 2 # Copyright 2012 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 """Makes sure that files include headers from allowed directories. | 6 """Makes sure that files include headers from allowed directories. |
| 7 | 7 |
| 8 Checks DEPS files in the source tree for rules, and applies those rules to | 8 Checks DEPS files in the source tree for rules, and applies those rules to |
| 9 "#include" and "import" directives in the .cpp and .java source files. | 9 "#include" and "import" directives in the .cpp and .java source files. |
| 10 Any source file including something not permitted by the DEPS files will fail. | 10 Any source file including something not permitted by the DEPS files will fail. |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 the change being presubmit checked. | 100 the change being presubmit checked. |
| 101 | 101 |
| 102 Args: | 102 Args: |
| 103 added_includes: ((file_path, (include_line, include_line, ...), ...) | 103 added_includes: ((file_path, (include_line, include_line, ...), ...) |
| 104 | 104 |
| 105 Return: | 105 Return: |
| 106 A list of tuples, (bad_file_path, rule_type, rule_description) | 106 A list of tuples, (bad_file_path, rule_type, rule_description) |
| 107 where rule_type is one of Rule.DISALLOW or Rule.TEMP_ALLOW and | 107 where rule_type is one of Rule.DISALLOW or Rule.TEMP_ALLOW and |
| 108 rule_description is human-readable. Empty if no problems. | 108 rule_description is human-readable. Empty if no problems. |
| 109 """ | 109 """ |
| 110 cpp = cpp_checker.CppChecker(self.verbose) | 110 cpp = cpp_checker.CppChecker(self.verbose, self._resolve_dotdot) |
| 111 problems = [] | 111 problems = [] |
| 112 for file_path, include_lines in added_includes: | 112 for file_path, include_lines in added_includes: |
| 113 if not cpp.IsCppFile(file_path): | 113 if not cpp.IsCppFile(file_path): |
| 114 continue | 114 continue |
| 115 rules_for_file = self.GetDirectoryRules(os.path.dirname(file_path)) | 115 rules_for_file = self.GetDirectoryRules(os.path.dirname(file_path)) |
| 116 if not rules_for_file: | 116 if not rules_for_file: |
| 117 continue | 117 continue |
| 118 for line in include_lines: | 118 for line in include_lines: |
| 119 is_include, violation = cpp.CheckLine( | 119 is_include, violation = cpp.CheckLine( |
| 120 rules_for_file, line, file_path, True) | 120 rules_for_file, line, file_path, True) |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 if options.json: | 221 if options.json: |
| 222 deps_checker.results_formatter = results.JSONResultsFormatter( | 222 deps_checker.results_formatter = results.JSONResultsFormatter( |
| 223 options.json, deps_checker.results_formatter) | 223 options.json, deps_checker.results_formatter) |
| 224 | 224 |
| 225 deps_checker.CheckDirectory(start_dir) | 225 deps_checker.CheckDirectory(start_dir) |
| 226 return deps_checker.Report() | 226 return deps_checker.Report() |
| 227 | 227 |
| 228 | 228 |
| 229 if '__main__' == __name__: | 229 if '__main__' == __name__: |
| 230 sys.exit(main()) | 230 sys.exit(main()) |
| OLD | NEW |