OLD | NEW |
1 # Copyright 2013 The LUCI Authors. All rights reserved. | 1 # Copyright 2013 The LUCI Authors. All rights reserved. |
2 # Use of this source code is governed by the Apache v2.0 license that can be | 2 # Use of this source code is governed under the Apache License, Version 2.0 |
3 # found in the LICENSE file. | 3 # that can be found in the LICENSE file. |
4 | 4 |
5 """Top-level presubmit script for LUCI. | 5 """Top-level presubmit script for LUCI. |
6 | 6 |
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for | 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for |
8 details on the presubmit API built into gcl. | 8 details on the presubmit API built into gcl. |
9 """ | 9 """ |
10 | 10 |
11 | 11 |
12 def header(input_api): | 12 def header(input_api): |
13 """Returns the expected license header regexp for this project.""" | 13 """Returns the expected license header regexp for this project.""" |
14 current_year = int(input_api.time.strftime('%Y')) | 14 current_year = int(input_api.time.strftime('%Y')) |
15 allowed_years = (str(s) for s in reversed(xrange(2011, current_year + 1))) | 15 allowed_years = (str(s) for s in reversed(xrange(2011, current_year + 1))) |
16 years_re = '(' + '|'.join(allowed_years) + ')' | 16 years_re = '(' + '|'.join(allowed_years) + ')' |
17 license_header = ( | 17 license_header = ( |
18 r'.*? Copyright %(year)s The LUCI Authors\. ' | 18 r'.*? Copyright %(year)s The LUCI Authors\. ' |
19 r'All rights reserved\.\n' | 19 r'All rights reserved\.\n' |
20 r'.*? Use of this source code is governed by the Apache v2\.0 license ' | 20 r'.*? Use of this source code is governed under the Apache License, ' |
21 r'that can be\n' | 21 r'Version 2\.0\n' |
22 r'.*? found in the LICENSE file\.(?: \*/)?\n' | 22 r'.*? that can be found in the LICENSE file\.(?: \*/)?\n' |
23 ) % { | 23 ) % { |
24 'year': years_re, | 24 'year': years_re, |
25 } | 25 } |
26 return license_header | 26 return license_header |
27 | 27 |
28 | 28 |
29 def CommonChecks(input_api, output_api): | 29 def CommonChecks(input_api, output_api): |
30 excluded = [ | 30 excluded = [ |
31 r'-build\.(js|html)$', | 31 r'-build\.(js|html)$', |
32 r'/test', | 32 r'/test', |
33 r'.+_pb2\.py$', | 33 r'.+_pb2\.py$', |
34 r'.*third_party.*', | 34 r'.*third_party.*', |
35 ] | 35 ] |
36 return input_api.canned_checks.PanProjectChecks( | 36 return input_api.canned_checks.PanProjectChecks( |
37 input_api, output_api, | 37 input_api, output_api, |
38 excluded_paths=excluded, | 38 excluded_paths=excluded, |
39 owners_check=False, | 39 owners_check=False, |
40 license_header=header(input_api)) | 40 license_header=header(input_api)) |
41 | 41 |
42 | 42 |
43 def CheckChangeOnUpload(input_api, output_api): | 43 def CheckChangeOnUpload(input_api, output_api): |
44 return CommonChecks(input_api, output_api) | 44 return CommonChecks(input_api, output_api) |
45 | 45 |
46 | 46 |
47 def CheckChangeOnCommit(input_api, output_api): | 47 def CheckChangeOnCommit(input_api, output_api): |
48 return CommonChecks(input_api, output_api) | 48 return CommonChecks(input_api, output_api) |
OLD | NEW |