diff --git a/brightray/.gitmodules b/brightray/.gitmodules index 1e27bc6b5a21..17120b4cdf61 100644 --- a/brightray/.gitmodules +++ b/brightray/.gitmodules @@ -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 diff --git a/brightray/script/cibuild b/brightray/script/cibuild index 318331ffb3b1..ab6b8eaeadf9 100755 --- a/brightray/script/cibuild +++ b/brightray/script/cibuild @@ -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')) diff --git a/brightray/script/cpplint b/brightray/script/cpplint new file mode 100755 index 000000000000..2b2851f27741 --- /dev/null +++ b/brightray/script/cpplint @@ -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()) diff --git a/brightray/vendor/google-styleguide b/brightray/vendor/google-styleguide new file mode 160000 index 000000000000..8025f5495c04 --- /dev/null +++ b/brightray/vendor/google-styleguide @@ -0,0 +1 @@ +Subproject commit 8025f5495c04f1cf9e0d65a0aaa97b58c304faf7