electron/brightray/script/cpplint
2013-12-19 13:19:12 -06:00

48 lines
1.2 KiB
Python
Executable file

#!/usr/bin/env python
import fnmatch
import os
import subprocess
import sys
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
CPPLINT = os.path.join(SOURCE_ROOT, 'vendor', 'google-styleguide', 'trunk', 'cpplint', 'cpplint.py')
LINE_LENGTH = 100
IGNORED_FILES = [
os.path.join('browser', 'mac', 'bry_inspectable_web_contents_view_private.h'),
]
FILTERS = [
'-build/header_guard',
'-build/include_what_you_use',
'-legal/copyright',
# cpplint doesn't like the BOOL& parameters that ui::WindowImpl uses.
'-runtime/references',
]
def main():
os.chdir(SOURCE_ROOT)
files = list_files(['browser', 'common'],
['*.cc', '*.h'])
return cpplint(set(files) - set(IGNORED_FILES))
def list_files(directories, filters):
matches = []
for directory in directories:
for root, _, filenames, in os.walk(directory):
for f in filters:
for filename in fnmatch.filter(filenames, f):
matches.append(os.path.join(root, filename))
return matches
def cpplint(files):
return subprocess.call([sys.executable, CPPLINT, '--linelength=%d' % LINE_LENGTH, '--filter=' + ','.join(FILTERS)] + list(files))
if __name__ == '__main__':
sys.exit(main())