OLD | NEW |
1 # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 1 # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license | 3 # Use of this source code is governed by a BSD-style license |
4 # that can be found in the LICENSE file in the root of the source | 4 # that can be found in the LICENSE file in the root of the source |
5 # tree. An additional intellectual property rights grant can be found | 5 # tree. An additional intellectual property rights grant can be found |
6 # in the file PATENTS. All contributing project authors may | 6 # in the file PATENTS. All contributing project authors may |
7 # be found in the AUTHORS file in the root of the source tree. | 7 # be found in the AUTHORS file in the root of the source tree. |
8 | 8 |
9 import json | 9 import json |
10 import os | 10 import os |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 if not os.path.isdir(path): | 87 if not os.path.isdir(path): |
88 non_existing_paths.append(path) | 88 non_existing_paths.append(path) |
89 if non_existing_paths: | 89 if non_existing_paths: |
90 return [output_api.PresubmitError( | 90 return [output_api.PresubmitError( |
91 'Directories to native API headers have changed which has made the ' | 91 'Directories to native API headers have changed which has made the ' |
92 'list in PRESUBMIT.py outdated.\nPlease update it to the current ' | 92 'list in PRESUBMIT.py outdated.\nPlease update it to the current ' |
93 'location of our native APIs.', | 93 'location of our native APIs.', |
94 non_existing_paths)] | 94 non_existing_paths)] |
95 return [] | 95 return [] |
96 | 96 |
| 97 api_change_msg = """ |
| 98 You seem to be changing native API header files. Please make sure that you: |
| 99 1. Make compatible changes that don't break existing clients. |
| 100 2. Mark the old stuff as deprecated. |
| 101 3. Create a timeline and plan for when the deprecated stuff will be |
| 102 removed. (The amount of time we give users to change their code |
| 103 should be informed by how much work it is for them. If they just |
| 104 need to replace one name with another or something equally |
| 105 simple, 1-2 weeks might be good; if they need to do serious work, |
| 106 up to 3 months may be called for.) |
| 107 4. Update/inform existing downstream code owners to stop using the |
| 108 deprecated stuff. (Send announcements to |
| 109 discuss-webrtc@googlegroups.com and webrtc-users@google.com.) |
| 110 5. Remove the deprecated stuff, once the agreed-upon amount of time |
| 111 has passed. |
| 112 Related files: |
| 113 """ |
97 | 114 |
98 def _CheckNativeApiHeaderChanges(input_api, output_api): | 115 def _CheckNativeApiHeaderChanges(input_api, output_api): |
99 """Checks to remind proper changing of native APIs.""" | 116 """Checks to remind proper changing of native APIs.""" |
100 files = [] | 117 files = [] |
101 for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile): | 118 for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile): |
102 if f.LocalPath().endswith('.h'): | 119 if f.LocalPath().endswith('.h'): |
103 for path in NATIVE_API_DIRS: | 120 for path in NATIVE_API_DIRS: |
104 if os.path.dirname(f.LocalPath()) == path: | 121 if os.path.dirname(f.LocalPath()) == path: |
105 files.append(f) | 122 files.append(f) |
106 | 123 |
107 if files: | 124 if files: |
108 return [output_api.PresubmitNotifyResult( | 125 return [output_api.PresubmitNotifyResult(api_change_msg, files)] |
109 'You seem to be changing native API header files. Please make sure ' | |
110 'you:\n' | |
111 ' 1. Make compatible changes that don\'t break existing clients.\n' | |
112 ' 2. Mark the old APIs as deprecated.\n' | |
113 ' 3. Create a timeline and plan for when the deprecated method will ' | |
114 'be removed (preferably 3 months or so).\n' | |
115 ' 4. Update/inform existing downstream code owners to stop using the ' | |
116 'deprecated APIs: \n' | |
117 'send announcement to discuss-webrtc@googlegroups.com and ' | |
118 'webrtc-users@google.com.\n' | |
119 ' 5. (after ~3 months) remove the deprecated API.\n' | |
120 'Related files:', | |
121 files)] | |
122 return [] | 126 return [] |
123 | 127 |
124 | 128 |
125 def _CheckNoIOStreamInHeaders(input_api, output_api): | 129 def _CheckNoIOStreamInHeaders(input_api, output_api): |
126 """Checks to make sure no .h files include <iostream>.""" | 130 """Checks to make sure no .h files include <iostream>.""" |
127 files = [] | 131 files = [] |
128 pattern = input_api.re.compile(r'^#include\s*<iostream>', | 132 pattern = input_api.re.compile(r'^#include\s*<iostream>', |
129 input_api.re.MULTILINE) | 133 input_api.re.MULTILINE) |
130 for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile): | 134 for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile): |
131 if not f.LocalPath().endswith('.h'): | 135 if not f.LocalPath().endswith('.h'): |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 for builder in masters[master]: | 514 for builder in masters[master]: |
511 if 'presubmit' in builder: | 515 if 'presubmit' in builder: |
512 # Do not trigger presubmit builders, since they're likely to fail | 516 # Do not trigger presubmit builders, since they're likely to fail |
513 # (e.g. OWNERS checks before finished code review), and we're running | 517 # (e.g. OWNERS checks before finished code review), and we're running |
514 # local presubmit anyway. | 518 # local presubmit anyway. |
515 pass | 519 pass |
516 else: | 520 else: |
517 try_config[master][builder] = ['defaulttests'] | 521 try_config[master][builder] = ['defaulttests'] |
518 | 522 |
519 return try_config | 523 return try_config |
OLD | NEW |