uti/lint/checkpatch: add --exclude to ignore specific directories
checkpatch: add option for excluding directories
when importing code from external sources
Using --exclude <dir> 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 <anas.nashif@intel.com>
Change-Id: Icc9e841e7d84026d6ab857ff90b0f093515ccaad
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/18568
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Philippe Mathieu-Daudé <philippe.mathieu.daude@gmail.com>
diff --git a/util/lint/checkpatch.pl b/util/lint/checkpatch.pl
index 84574f1..031aa34 100755
--- a/util/lint/checkpatch.pl
+++ b/util/lint/checkpatch.pl
@@ -45,6 +45,7 @@
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 @@
--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 @@
'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 @@
$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: "