blob: 4132c1687497f7b77ccaae955ca27595314dc29c [file] [log] [blame]
henrike@webrtc.org175b0c02013-07-22 22:32:50 +00001# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
2#
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
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9def _LicenseHeader(input_api):
10 """Returns the license header regexp."""
henrike@webrtc.orgb08a9902014-05-15 18:21:17 +000011 # Accept any year number from 2003 to the current year
henrike@webrtc.org175b0c02013-07-22 22:32:50 +000012 current_year = int(input_api.time.strftime('%Y'))
henrike@webrtc.orgb08a9902014-05-15 18:21:17 +000013 allowed_years = (str(s) for s in reversed(xrange(2003, current_year + 1)))
henrike@webrtc.org175b0c02013-07-22 22:32:50 +000014 years_re = '(' + '|'.join(allowed_years) + ')'
15 license_header = (
fischman@webrtc.org6db65e32014-05-23 17:27:18 +000016 r'.*? Copyright( \(c\))? %(year)s The WebRTC [Pp]roject [Aa]uthors\. '
17 r'All [Rr]ights [Rr]eserved\.\n'
henrike@webrtc.org175b0c02013-07-22 22:32:50 +000018 r'.*?\n'
19 r'.*? Use of this source code is governed by a BSD-style license\n'
20 r'.*? that can be found in the LICENSE file in the root of the source\n'
21 r'.*? tree\. An additional intellectual property rights grant can be '
22 r'found\n'
23 r'.*? in the file PATENTS\. All contributing project authors may\n'
24 r'.*? be found in the AUTHORS file in the root of the source tree\.\n'
25 ) % {
26 'year': years_re,
27 }
28 return license_header
29
30def _CommonChecks(input_api, output_api):
31 """Checks common to both upload and commit."""
32 results = []
33 results.extend(input_api.canned_checks.CheckLicense(
34 input_api, output_api, _LicenseHeader(input_api)))
35 return results
36
37def CheckChangeOnUpload(input_api, output_api):
38 results = []
39 results.extend(_CommonChecks(input_api, output_api))
40 return results
41
42def CheckChangeOnCommit(input_api, output_api):
43 results = []
44 results.extend(_CommonChecks(input_api, output_api))
45 return results