Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Side by Side Diff: PRESUBMIT.py

Issue 552203: Use the newly added CheckLicense() canned check to verify license boiler plate on source files. (Closed)
Patch Set: Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2010 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 """Top-level presubmit script for Chromium. 5 """Top-level presubmit script for Chromium.
6 6
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8 for more details about the presubmit API built into gcl. 8 for more details about the presubmit API built into gcl.
9 """ 9 """
10 10
11 EXCLUDED_PATHS = ( 11 EXCLUDED_PATHS = (
12 r"breakpad[\\\/].*", 12 r"breakpad[\\\/].*",
13 r"skia[\\\/].*", 13 r"skia[\\\/].*",
14 r"v8[\\\/].*", 14 r"v8[\\\/].*",
15 ) 15 )
16 16
17 17
18 def CheckChangeOnUpload(input_api, output_api): 18 _LICENSE_HEADER = (
19 r".*? Copyright \(c\) 20\d\d The Chromium Authors\. All rights reserved\."
20 "\n"
21 r".*? Use of this source code is governed by a BSD-style license that can "
22 "be\n"
23 r".*? found in the LICENSE file\."
24 "\n"
25 )
26
27
28 def _CommonChecks(input_api, output_api):
19 results = [] 29 results = []
20 # What does this code do? 30 # What does this code do?
21 # It loads the default black list (e.g. third_party, experimental, etc) and 31 # It loads the default black list (e.g. third_party, experimental, etc) and
22 # add our black list (breakpad, skia and v8 are still not following 32 # add our black list (breakpad, skia and v8 are still not following
23 # google style and are not really living this repository). 33 # google style and are not really living this repository).
24 # See presubmit_support.py InputApi.FilterSourceFile for the (simple) usage. 34 # See presubmit_support.py InputApi.FilterSourceFile for the (simple) usage.
25 black_list = input_api.DEFAULT_BLACK_LIST + EXCLUDED_PATHS 35 black_list = input_api.DEFAULT_BLACK_LIST + EXCLUDED_PATHS
26 sources = lambda x: input_api.FilterSourceFile(x, black_list=black_list) 36 sources = lambda x: input_api.FilterSourceFile(x, black_list=black_list)
27 results.extend(input_api.canned_checks.CheckLongLines( 37 results.extend(input_api.canned_checks.CheckLongLines(
28 input_api, output_api, sources)) 38 input_api, output_api, sources))
29 results.extend(input_api.canned_checks.CheckChangeHasNoTabs( 39 results.extend(input_api.canned_checks.CheckChangeHasNoTabs(
30 input_api, output_api, sources)) 40 input_api, output_api, sources))
31 results.extend(input_api.canned_checks.CheckChangeHasNoStrayWhitespace( 41 results.extend(input_api.canned_checks.CheckChangeHasNoStrayWhitespace(
32 input_api, output_api, sources)) 42 input_api, output_api, sources))
33 results.extend(input_api.canned_checks.CheckChangeHasBugField( 43 results.extend(input_api.canned_checks.CheckChangeHasBugField(
34 input_api, output_api)) 44 input_api, output_api))
35 results.extend(input_api.canned_checks.CheckChangeHasTestField( 45 results.extend(input_api.canned_checks.CheckChangeHasTestField(
36 input_api, output_api)) 46 input_api, output_api))
37 results.extend(input_api.canned_checks.CheckChangeSvnEolStyle( 47 results.extend(input_api.canned_checks.CheckChangeSvnEolStyle(
38 input_api, output_api, sources)) 48 input_api, output_api, sources))
39 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes( 49 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes(
40 input_api, output_api)) 50 input_api, output_api))
51 results.extend(input_api.canned_checks.CheckLicense(
52 input_api, output_api, _LICENSE_HEADER, sources))
53 return results
54
55
56 def CheckChangeOnUpload(input_api, output_api):
57 results = []
58 results.extend(_CommonChecks(input_api, output_api))
41 return results 59 return results
42 60
43 61
44 def CheckChangeOnCommit(input_api, output_api): 62 def CheckChangeOnCommit(input_api, output_api):
45 results = [] 63 results = []
46 black_list = input_api.DEFAULT_BLACK_LIST + EXCLUDED_PATHS 64 results.extend(_CommonChecks(input_api, output_api))
47 sources = lambda x: input_api.FilterSourceFile(x, black_list=black_list)
48 results.extend(input_api.canned_checks.CheckLongLines(
49 input_api, output_api, sources))
50 results.extend(input_api.canned_checks.CheckChangeHasNoTabs(
51 input_api, output_api, sources))
52 results.extend(input_api.canned_checks.CheckChangeHasNoStrayWhitespace(
53 input_api, output_api, sources))
54 results.extend(input_api.canned_checks.CheckChangeHasBugField(
55 input_api, output_api))
56 results.extend(input_api.canned_checks.CheckChangeHasTestField(
57 input_api, output_api))
58 results.extend(input_api.canned_checks.CheckChangeSvnEolStyle(
59 input_api, output_api, sources))
60 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes(
61 input_api, output_api))
62 # TODO(thestig) temporarily disabled, doesn't work in third_party/ 65 # TODO(thestig) temporarily disabled, doesn't work in third_party/
63 #results.extend(input_api.canned_checks.CheckSvnModifiedDirectories( 66 #results.extend(input_api.canned_checks.CheckSvnModifiedDirectories(
64 # input_api, output_api, sources)) 67 # input_api, output_api, sources))
65 # Make sure the tree is 'open'. 68 # Make sure the tree is 'open'.
66 # TODO(maruel): Run it in a separate thread to parallelize checks? 69 # TODO(maruel): Run it in a separate thread to parallelize checks?
67 results.extend(CheckTreeIsOpen( 70 results.extend(CheckTreeIsOpen(
68 input_api, 71 input_api,
69 output_api, 72 output_api,
70 'http://chromium-status.appspot.com/status', 73 'http://chromium-status.appspot.com/status',
71 '0', 74 '0',
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 'builds are pending.' % max_pendings, 197 'builds are pending.' % max_pendings,
195 long_text='\n'.join(out))] 198 long_text='\n'.join(out))]
196 except IOError: 199 except IOError:
197 # Silently pass. 200 # Silently pass.
198 pass 201 pass
199 return [] 202 return []
200 203
201 204
202 def GetPreferredTrySlaves(): 205 def GetPreferredTrySlaves():
203 return ['win', 'linux', 'mac'] 206 return ['win', 'linux', 'mac']
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698