Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Unified Diff: PRESUBMIT.py

Issue 2766633002: Use a blacklist instead of whitelist for cpplint (Closed)
Patch Set: Final additions to blacklist that I missed before Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: PRESUBMIT.py
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 72e4326fe4f2e9a3784156695aed3063dcc6a49f..16b51dba6ae937b7af1074c67c4615100ab3ae74 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -13,24 +13,34 @@ import subprocess
import sys
-# Directories that will be scanned by cpplint by the presubmit script.
-CPPLINT_DIRS = [
- 'webrtc/api',
- 'webrtc/audio',
- 'webrtc/call',
- 'webrtc/common_audio',
- 'webrtc/common_video',
- 'webrtc/examples',
- 'webrtc/modules/audio_mixer',
- 'webrtc/modules/bitrate_controller',
- 'webrtc/modules/congestion_controller',
- 'webrtc/modules/pacing',
- 'webrtc/modules/remote_bitrate_estimator',
- 'webrtc/modules/rtp_rtcp',
- 'webrtc/modules/video_coding',
- 'webrtc/modules/video_processing',
- 'webrtc/tools',
- 'webrtc/video',
+# Files and directories that are *skipped* by cpplint in the presubmit script.
+CPPLINT_BLACKLIST = [
+ 'tools-webrtc',
+ 'webrtc/base',
+ 'webrtc/examples/objc',
+ 'webrtc/media',
+ 'webrtc/modules/audio_coding',
+ 'webrtc/modules/audio_conference_mixer',
+ 'webrtc/modules/audio_device',
+ 'webrtc/modules/audio_processing',
+ 'webrtc/modules/desktop_capture',
+ 'webrtc/modules/include/module_common_types.h',
+ 'webrtc/modules/media_file',
+ 'webrtc/modules/utility',
+ 'webrtc/modules/video_capture',
+ 'webrtc/p2p',
+ 'webrtc/pc',
+ 'webrtc/sdk/android/src/jni',
+ 'webrtc/sdk/objc',
+ 'webrtc/system_wrappers',
+ 'webrtc/test',
+ 'webrtc/voice_engine',
+ 'webrtc/call.h',
+ 'webrtc/common_types.h',
+ 'webrtc/common_types.cc',
+ 'webrtc/video_decoder.h',
+ 'webrtc/video_encoder.h',
+ 'webrtc/video_send_stream.h',
]
# These filters will always be removed, even if the caller specifies a filter
@@ -209,17 +219,17 @@ def _CheckNoFRIEND_TEST(input_api, output_api):
'use FRIEND_TEST_ALL_PREFIXES() instead.\n' + '\n'.join(problems))]
-def _IsLintWhitelisted(whitelist_dirs, file_path):
- """ Checks if a file is whitelisted for lint check."""
- for path in whitelist_dirs:
- if os.path.dirname(file_path).startswith(path):
+def _IsLintBlacklisted(blacklist_paths, file_path):
+ """ Checks if a file is blacklisted for lint check."""
+ for path in blacklist_paths:
+ if file_path == path or os.path.dirname(file_path).startswith(path):
return True
return False
def _CheckApprovedFilesLintClean(input_api, output_api,
source_file_filter=None):
- """Checks that all new or whitelisted .cc and .h files pass cpplint.py.
+ """Checks that all new or non-blacklisted .cc and .h files pass cpplint.py.
This check is based on _CheckChangeLintsClean in
depot_tools/presubmit_canned_checks.py but has less filters and only checks
added files."""
@@ -235,19 +245,20 @@ def _CheckApprovedFilesLintClean(input_api, output_api,
lint_filters.extend(BLACKLIST_LINT_FILTERS)
cpplint._SetFilters(','.join(lint_filters))
- # Create a platform independent whitelist for the CPPLINT_DIRS.
- whitelist_dirs = [input_api.os_path.join(*path.split('/'))
- for path in CPPLINT_DIRS]
+ # Create a platform independent blacklist for cpplint.
+ blacklist_paths = [input_api.os_path.join(*path.split('/'))
+ for path in CPPLINT_BLACKLIST]
# Use the strictest verbosity level for cpplint.py (level 1) which is the
- # default when running cpplint.py from command line.
- # To make it possible to work with not-yet-converted code, we're only applying
- # it to new (or moved/renamed) files and files listed in LINT_FOLDERS.
+ # default when running cpplint.py from command line. To make it possible to
+ # work with not-yet-converted code, we're only applying it to new (or
+ # moved/renamed) files and files not listed in CPPLINT_BLACKLIST.
verbosity_level = 1
files = []
for f in input_api.AffectedSourceFiles(source_file_filter):
# Note that moved/renamed files also count as added.
- if f.Action() == 'A' or _IsLintWhitelisted(whitelist_dirs, f.LocalPath()):
+ if f.Action() == 'A' or not _IsLintBlacklisted(blacklist_paths,
+ f.LocalPath()):
files.append(f.AbsoluteLocalPath())
for file_name in files:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698