Run cpplint as part of our CI build

This will help ensure a consistent C++ coding style.
This commit is contained in:
Adam Roben 2013-11-17 17:36:57 -05:00
parent 904cb1a564
commit 43f3d0acdc
4 changed files with 41 additions and 0 deletions

View file

@ -4,3 +4,6 @@
[submodule "vendor/gyp"]
path = vendor/gyp
url = https://github.com/svn2github/gyp
[submodule "vendor/google-styleguide"]
path = vendor/google-styleguide
url = https://github.com/svn2github/sgss-mirror-google-styleguide

View file

@ -18,6 +18,7 @@ def main():
url = 'https://{0}.s3.amazonaws.com/libchromiumcontent'.format(os.environ['JANKY_ARTIFACTS_S3_BUCKET'])
return (run_script('bootstrap', url) or
run_script('cpplint') or
run_script('build'))

36
brightray/script/cpplint Executable file
View file

@ -0,0 +1,36 @@
#!/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')
def main():
os.chdir(SOURCE_ROOT)
files = list_files(['browser', 'common'],
['*.cc', '*.mm', '*.h'])
return cpplint(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):
rules = '--filter=-build/header_guard'
return subprocess.call([sys.executable, CPPLINT, rules] + files)
if __name__ == '__main__':
sys.exit(main())

1
brightray/vendor/google-styleguide vendored Submodule

@ -0,0 +1 @@
Subproject commit 8025f5495c04f1cf9e0d65a0aaa97b58c304faf7