From a3cac87ea805689f791e5e47ef12afff1c7e2b5d Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sat, 4 Mar 2017 18:17:35 -0700 Subject: [PATCH] uti/lint/checkpatch: add --exclude to ignore specific directories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit checkpatch: add option for excluding directories when importing code from external sources Using --exclude we should be able to exclude a list of well defined locations in the tree that carry sources from other projects with other styles. This comes from the 01org/zephyr project in github: Original-Change-Id: I7d321e85eed6bc37d5c6879ae88e21d20028a433 Original-Signed-off-by: Anas Nashif Change-Id: Icc9e841e7d84026d6ab857ff90b0f093515ccaad Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/18568 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi Reviewed-by: Philippe Mathieu-Daudé --- util/lint/checkpatch.pl | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/util/lint/checkpatch.pl b/util/lint/checkpatch.pl index 84574f1f90..031aa34c82 100755 --- a/util/lint/checkpatch.pl +++ b/util/lint/checkpatch.pl @@ -45,6 +45,7 @@ my %use_type = (); my @use = (); my %ignore_type = (); my @ignore = (); +my @exclude = (); my $help = 0; my $configuration_file = ".checkpatch.conf"; my $max_line_length = 80; @@ -86,6 +87,7 @@ Options: --list-types list the possible message types --types TYPE(,TYPE2...) show only these comma separated message types --ignore TYPE(,TYPE2...) ignore various comma separated message types + --exclude DIR(,DIR22...) exclude directories --show-types show the specific message type in the output --max-line-length=n set the maximum line length, if exceeded, warn --min-conf-desc-length=n set the min description length, if shorter, warn @@ -190,6 +192,7 @@ GetOptions( 'subjective!' => \$check, 'strict!' => \$check, 'ignore=s' => \@ignore, + 'exclude=s' => \@exclude, 'types=s' => \@use, 'show-types!' => \$show_types, 'list-types!' => \$list_types, @@ -2277,6 +2280,16 @@ sub process { $found_file = 1; } + my $skipme = 0; + foreach (@exclude) { + if ($realfile =~ m@^(?:$_/)@) { + $skipme = 1; + } + } + if ($skipme) { + next; + } + #make up the handle for any error we report on this line if ($showfile) { $prefix = "$realfile:$realline: "