OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import os | 5 import os |
6 | 6 |
7 """Chromium presubmit script for src/tools/ios. | 7 """Chromium presubmit script for src/tools/ios. |
8 | 8 |
9 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 9 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
10 for more details on the presubmit API built into gcl. | 10 for more details on the presubmit API built into gcl. |
11 """ | 11 """ |
12 | 12 |
13 WHITELIST_FILE = 'build/ios/grit_whitelist.txt' | 13 WHITELIST_FILE = 'build/ios/grit_whitelist.txt' |
14 | 14 |
15 def _CheckWhitelistSorted(input_api, output_api): | 15 def _CheckWhitelistSorted(input_api, output_api): |
16 for path in input_api.LocalPaths(): | 16 for path in input_api.LocalPaths(): |
17 if WHITELIST_FILE == path: | 17 if WHITELIST_FILE == path: |
18 lines = open(os.path.join('../..', WHITELIST_FILE)).readlines() | 18 lines = open(os.path.join('../..', WHITELIST_FILE)).readlines() |
19 sorted = all(lines[i] <= lines[i + 1] for i in xrange(len(lines) - 1)) | 19 i = 0 |
20 if not sorted: | 20 while i < len(lines) - 1 and lines[i] <= lines[i + 1]: |
| 21 i += 1 |
| 22 if i < len(lines) - 1: |
21 return [output_api.PresubmitError( | 23 return [output_api.PresubmitError( |
22 'The file ' + WHITELIST_FILE + ' must be sorted.')] | 24 'The file ' + WHITELIST_FILE + ' must be sorted. ' + |
| 25 'First offending line: #' + str(i + 2))] |
23 return [] | 26 return [] |
24 | 27 |
25 def _CommonChecks(input_api, output_api): | 28 def _CommonChecks(input_api, output_api): |
26 """Checks common to both upload and commit.""" | 29 """Checks common to both upload and commit.""" |
27 results = [] | 30 results = [] |
28 results.extend(_CheckWhitelistSorted(input_api, output_api)) | 31 results.extend(_CheckWhitelistSorted(input_api, output_api)) |
29 return results | 32 return results |
30 | 33 |
31 def CheckChangeOnUpload(input_api, output_api): | 34 def CheckChangeOnUpload(input_api, output_api): |
32 results = [] | 35 results = [] |
33 results.extend(_CommonChecks(input_api, output_api)) | 36 results.extend(_CommonChecks(input_api, output_api)) |
34 return results | 37 return results |
35 | 38 |
36 def CheckChangeOnCommit(input_api, output_api): | 39 def CheckChangeOnCommit(input_api, output_api): |
37 results = [] | 40 results = [] |
38 results.extend(_CommonChecks(input_api, output_api)) | 41 results.extend(_CommonChecks(input_api, output_api)) |
39 return results | 42 return results |
OLD | NEW |