OLD | NEW |
| (Empty) |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 # TODO(joaodasilva): remove this file. http://crbug.com/327345 | |
6 | |
7 import itertools | |
8 | |
9 def _CheckPolicyProtobufs(input_api, output_api): | |
10 # List of pairs (A, B) where A should equal B. | |
11 file_pairs = [ | |
12 ( 'chrome/browser/policy/proto/chromeos/chrome_device_policy.proto', | |
13 'chrome/browser/chromeos/policy/proto/chrome_device_policy.proto' ), | |
14 ( 'chrome/browser/policy/proto/chromeos/install_attributes.proto', | |
15 'chrome/browser/chromeos/policy/proto/install_attributes.proto' ), | |
16 ( 'chrome/browser/policy/proto/cloud/chrome_extension_policy.proto', | |
17 'components/policy/proto/chrome_extension_policy.proto' ), | |
18 ( 'chrome/browser/policy/proto/cloud/device_management_backend.proto', | |
19 'components/policy/proto/device_management_backend.proto' ), | |
20 ( 'chrome/browser/policy/proto/cloud/device_management_local.proto', | |
21 'components/policy/proto/device_management_local.proto' ), | |
22 ( 'chrome/browser/policy/proto/PRESUBMIT.py', | |
23 'components/policy/proto/PRESUBMIT.py' ), | |
24 ( 'chrome/browser/chromeos/policy/proto/PRESUBMIT.py', | |
25 'components/policy/proto/PRESUBMIT.py' ), | |
26 ] | |
27 | |
28 root = input_api.change.RepositoryRoot() | |
29 results = [] | |
30 | |
31 for file_a, file_b in file_pairs: | |
32 path_a = input_api.os_path.join(root, *file_a.split('/')) | |
33 path_b = input_api.os_path.join(root, *file_b.split('/')) | |
34 with open(path_a, 'r') as f_a: | |
35 content_a = f_a.readlines()[3:] | |
36 with open(path_b, 'r') as f_b: | |
37 content_b = f_b.readlines()[3:] | |
38 if content_a != content_b: | |
39 # If you get this error then check |file_pairs| and make sure that the | |
40 # contents of the files in each pair match. | |
41 results.append(output_api.PresubmitError( | |
42 '%s must equal %s. This is temporary until http://crbug.com/327345 ' | |
43 'is fixed.' % (file_a, file_b))) | |
44 | |
45 # If new files are added then |file_pairs| must be updated. | |
46 existing = frozenset(itertools.chain(*file_pairs)) | |
47 for f in input_api.AffectedFiles(): | |
48 if f.LocalPath() not in existing: | |
49 # If you get this error then add an entry for the new files to | |
50 # |file_pairs|. | |
51 results.append(output_api.PresubmitError( | |
52 'Please add an entry for %s to %s/PRESUBMIT.py' % | |
53 (f.LocalPath(), input_api.PresubmitLocalPath()))) | |
54 | |
55 return results | |
56 | |
57 | |
58 def _CommonChecks(input_api, output_api): | |
59 return _CheckPolicyProtobufs(input_api, output_api) | |
60 | |
61 | |
62 def CheckChangeOnUpload(input_api, output_api): | |
63 return _CommonChecks(input_api, output_api) | |
64 | |
65 | |
66 def CheckChangeOnCommit(input_api, output_api): | |
67 return _CommonChecks(input_api, output_api) | |
OLD | NEW |