:lipstick: Fix cpplint warning.
[platform/framework/web/crosswalk-tizen.git] / script / cpplint.py
1 #!/usr/bin/env python
2
3 import fnmatch
4 import os
5 import subprocess
6 import sys
7
8 IGNORE_FILES = [
9   'browser/atom_application_mac.h',
10   'browser/atom_application_delegate_mac.h',
11   'browser/native_window_mac.h',
12   'browser/resources/win/resource.h',
13   'browser/ui/cocoa/event_processing_window.h',
14   'browser/ui/cocoa/atom_menu_controller.h',
15   'browser/ui/cocoa/nsalert_synchronous_sheet.h',
16   'common/api/api_messages.cc',
17   'common/api/api_messages.h',
18   'common/atom_version.h',
19   'common/swap_or_assign.h',
20 ]
21
22 SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
23
24
25 def main():
26   os.chdir(SOURCE_ROOT)
27   files = list_files(['app', 'browser', 'common', 'renderer'],
28                      ['*.cc', '*.h'])
29   call_cpplint(list(set(files) - set(IGNORE_FILES)))
30
31
32 def list_files(directories, filters):
33   matches = []
34   for directory in directories:
35     for root, _, filenames, in os.walk(directory):
36       for f in filters:
37         for filename in fnmatch.filter(filenames, f):
38           matches.append(os.path.join(root, filename))
39   return matches
40
41
42 def call_cpplint(files):
43   cpplint = os.path.join(SOURCE_ROOT, 'vendor', 'depot_tools', 'cpplint.py')
44   rules = '--filter=-build/header_guard,-build/include_what_you_use'
45   subprocess.check_call([sys.executable, cpplint, rules] + files)
46
47
48 if __name__ == '__main__':
49   sys.exit(main())