6f7153c74cab5ea9397cebf41148bbb5072b1153
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / PRESUBMIT.py
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
3 # found in the LICENSE file.
4
5 import os
6
7 _EXCLUDED_PATHS = []
8
9 _LICENSE_HEADER = (
10   r".*? Copyright \(c\) 20\d\d The Chromium Authors\. All rights reserved\."
11     "\n"
12   r".*? Use of this source code is governed by a BSD-style license that can "
13     "be\n"
14   r".*? found in the LICENSE file\."
15     "\n"
16 )
17
18
19 def _CommonChecks(input_api, output_api):
20   results = []
21   results.extend(input_api.canned_checks.PanProjectChecks(
22       input_api, output_api, excluded_paths=_EXCLUDED_PATHS))
23
24   src_dir = os.path.join(input_api.change.RepositoryRoot(), "src")
25
26   def IsResource(maybe_resource):
27     f = maybe_resource.AbsoluteLocalPath()
28     if not f.endswith(('.css', '.html', '.js')):
29       return False
30     return True
31
32   from web_dev_style import css_checker, js_checker
33   results.extend(css_checker.CSSChecker(input_api, output_api,
34                                         file_filter=IsResource).RunChecks())
35   results.extend(js_checker.JSChecker(input_api, output_api,
36                                       file_filter=IsResource).RunChecks())
37
38   from build import check_gyp
39   gyp_result = check_gyp.GypCheck()
40   if len(gyp_result) > 0:
41     results.extend([output_api.PresubmitError(gyp_result)])
42
43   from build import check_grit
44   grit_result = check_grit.GritCheck()
45   if len(grit_result) > 0:
46     results.extend([output_api.PresubmitError(grit_result)])
47
48   black_list = input_api.DEFAULT_BLACK_LIST
49   sources = lambda x: input_api.FilterSourceFile(x, black_list=black_list)
50   results.extend(input_api.canned_checks.CheckLicense(
51                  input_api, output_api, _LICENSE_HEADER,
52                  source_file_filter=sources))
53   return results
54
55
56 def GetPathsToPrepend(input_api):
57   web_dev_style_path = input_api.os_path.join(
58     input_api.change.RepositoryRoot(),
59     "third_party",
60     "web_dev_style")
61   return [input_api.PresubmitLocalPath(), web_dev_style_path]
62
63
64 def RunWithPrependedPath(prepended_path, fn, *args):
65   import sys
66   old_path = sys.path
67
68   try:
69     sys.path = prepended_path + old_path
70     return fn(*args)
71   finally:
72     sys.path = old_path
73
74
75 def CheckChangeOnUpload(input_api, output_api):
76   def go():
77     results = []
78     results.extend(_CommonChecks(input_api, output_api))
79     return results
80   return RunWithPrependedPath(GetPathsToPrepend(input_api), go)
81
82
83 def CheckChangeOnCommit(input_api, output_api):
84   def go():
85     results = []
86     results.extend(_CommonChecks(input_api, output_api))
87     return results
88   return RunWithPrependedPath(GetPathsToPrepend(input_api), go)