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 """Generic presubmit checks that can be reused by other presubmit checks.""" | 5 """Generic presubmit checks that can be reused by other presubmit checks.""" |
6 | 6 |
7 | 7 |
8 ### Description checks | 8 ### Description checks |
9 | 9 |
10 def CheckChangeHasTestField(input_api, output_api): | 10 def CheckChangeHasTestField(input_api, output_api): |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
347 def CheckLicense(input_api, output_api, license_re, source_file_filter=None, | 347 def CheckLicense(input_api, output_api, license_re, source_file_filter=None, |
348 accept_empty_files=True): | 348 accept_empty_files=True): |
349 """Verifies the license header. | 349 """Verifies the license header. |
350 """ | 350 """ |
351 license_re = input_api.re.compile(license_re, input_api.re.MULTILINE) | 351 license_re = input_api.re.compile(license_re, input_api.re.MULTILINE) |
352 bad_files = [] | 352 bad_files = [] |
353 for f in input_api.AffectedSourceFiles(source_file_filter): | 353 for f in input_api.AffectedSourceFiles(source_file_filter): |
354 contents = input_api.ReadFile(f, 'rb') | 354 contents = input_api.ReadFile(f, 'rb') |
355 if accept_empty_files and not contents: | 355 if accept_empty_files and not contents: |
356 continue | 356 continue |
357 if not license_re.search(contents): | 357 if not license_re.search(contents): |
Dan Beam
2012/02/11 02:45:53
It doesn't check for this group at all.
M-A Ruel
2012/02/11 02:51:19
It?
| |
358 bad_files.append(f.LocalPath()) | 358 bad_files.append(f.LocalPath()) |
359 if bad_files: | 359 if bad_files: |
360 if input_api.is_committing: | 360 if input_api.is_committing: |
361 res_type = output_api.PresubmitPromptWarning | 361 res_type = output_api.PresubmitPromptWarning |
362 else: | 362 else: |
363 res_type = output_api.PresubmitNotifyResult | 363 res_type = output_api.PresubmitNotifyResult |
364 return [res_type( | 364 return [res_type( |
365 'License must match:\n%s\n' % license_re.pattern + | 365 'License must match:\n%s\n' % license_re.pattern + |
366 'Found a bad license header in these files:', items=bad_files)] | 366 'Found a bad license header in these files:', items=bad_files)] |
367 return [] | 367 return [] |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
849 text_files = tuple(text_files or ( | 849 text_files = tuple(text_files or ( |
850 r'.+\.txt$', | 850 r'.+\.txt$', |
851 r'.+\.json$', | 851 r'.+\.json$', |
852 )) | 852 )) |
853 project_name = project_name or 'Chromium' | 853 project_name = project_name or 'Chromium' |
854 license_header = license_header or ( | 854 license_header = license_header or ( |
855 r'.*? Copyright \(c\) %(year)s The %(project)s Authors\. ' | 855 r'.*? Copyright \(c\) %(year)s The %(project)s Authors\. ' |
856 r'All rights reserved\.\n' | 856 r'All rights reserved\.\n' |
857 r'.*? Use of this source code is governed by a BSD-style license that ' | 857 r'.*? Use of this source code is governed by a BSD-style license that ' |
858 r'can be\n' | 858 r'can be\n' |
859 r'.*? found in the LICENSE file\.( \*/)?\n' | 859 r'.*? found in the LICENSE file\.(?: \*/)?\n' |
M-A Ruel
2012/02/11 02:38:08
Humm I'd rather have that in a separate CL.
Dan Beam
2012/02/11 02:42:36
I've never done it because it'd be a 2 char CL, an
| |
860 ) % { | 860 ) % { |
861 'year': input_api.time.strftime('%Y'), | 861 'year': input_api.time.strftime('%Y'), |
862 'project': project_name, | 862 'project': project_name, |
863 } | 863 } |
864 | 864 |
865 results = [] | 865 results = [] |
866 # This code loads the default black list (e.g. third_party, experimental, etc) | 866 # This code loads the default black list (e.g. third_party, experimental, etc) |
867 # and add our black list (breakpad, skia and v8 are still not following | 867 # and add our black list (breakpad, skia and v8 are still not following |
868 # google style and are not really living this repository). | 868 # google style and are not really living this repository). |
869 # See presubmit_support.py InputApi.FilterSourceFile for the (simple) usage. | 869 # See presubmit_support.py InputApi.FilterSourceFile for the (simple) usage. |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
914 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes( | 914 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes( |
915 input_api, output_api)) | 915 input_api, output_api)) |
916 snapshot("checking license") | 916 snapshot("checking license") |
917 results.extend(input_api.canned_checks.CheckLicense( | 917 results.extend(input_api.canned_checks.CheckLicense( |
918 input_api, output_api, license_header, source_file_filter=sources)) | 918 input_api, output_api, license_header, source_file_filter=sources)) |
919 snapshot("checking was uploaded") | 919 snapshot("checking was uploaded") |
920 results.extend(input_api.canned_checks.CheckChangeWasUploaded( | 920 results.extend(input_api.canned_checks.CheckChangeWasUploaded( |
921 input_api, output_api)) | 921 input_api, output_api)) |
922 snapshot("done") | 922 snapshot("done") |
923 return results | 923 return results |
OLD | NEW |