1175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
2175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org#
3175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org# Use of this source code is governed by a BSD-style license
4175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org# that can be found in the LICENSE file in the root of the source
5175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org# tree. An additional intellectual property rights grant can be found
6175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org# in the file PATENTS.  All contributing project authors may
7175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org# be found in the AUTHORS file in the root of the source tree.
8175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org
9175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.orgdef _LicenseHeader(input_api):
10175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  """Returns the license header regexp."""
11b08a9904e693f0c5deeedef60a0a3736bc22dd39henrike@webrtc.org  # Accept any year number from 2003 to the current year
12175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  current_year = int(input_api.time.strftime('%Y'))
13b08a9904e693f0c5deeedef60a0a3736bc22dd39henrike@webrtc.org  allowed_years = (str(s) for s in reversed(xrange(2003, current_year + 1)))
14175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  years_re = '(' + '|'.join(allowed_years) + ')'
15175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  license_header = (
166db65e38fc0f5873a0bbe9cecd71e4ab560cfb71fischman@webrtc.org      r'.*? Copyright( \(c\))? %(year)s The WebRTC [Pp]roject [Aa]uthors\. '
176db65e38fc0f5873a0bbe9cecd71e4ab560cfb71fischman@webrtc.org        r'All [Rr]ights [Rr]eserved\.\n'
18175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      r'.*?\n'
19175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      r'.*? Use of this source code is governed by a BSD-style license\n'
20175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      r'.*? that can be found in the LICENSE file in the root of the source\n'
21175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      r'.*? tree\. An additional intellectual property rights grant can be '
22175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org        r'found\n'
23175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      r'.*? in the file PATENTS\.  All contributing project authors may\n'
24175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      r'.*? be found in the AUTHORS file in the root of the source tree\.\n'
25175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  ) % {
26175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      'year': years_re,
27175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  }
28175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  return license_header
29175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org
30175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.orgdef _CommonChecks(input_api, output_api):
31175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  """Checks common to both upload and commit."""
32175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  results = []
33175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  results.extend(input_api.canned_checks.CheckLicense(
34175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org      input_api, output_api, _LicenseHeader(input_api)))
35175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  return results
36175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org
37175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.orgdef CheckChangeOnUpload(input_api, output_api):
38175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  results = []
39175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  results.extend(_CommonChecks(input_api, output_api))
40175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  return results
41175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org
42175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.orgdef CheckChangeOnCommit(input_api, output_api):
43175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  results = []
44175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  results.extend(_CommonChecks(input_api, output_api))
45175b0c0cff671553ef08d2d49cfbd269158e2f4chenrike@webrtc.org  return results
46