quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

checksrc-all.pl (844B)


      1 #!/usr/bin/env perl
      2 # Copyright (C) Viktor Szakats
      3 #
      4 # SPDX-License-Identifier: curl
      5 
      6 use strict;
      7 use warnings;
      8 
      9 use File::Basename;
     10 use File::Find;
     11 use Cwd 'abs_path';
     12 
     13 my @files;
     14 if(system('git rev-parse --is-inside-work-tree >/dev/null 2>&1') == 0) {
     15   @files = `git ls-files '*.[ch]'`;
     16 }
     17 else {
     18   find(sub { if(/\.[ch]$/) { push(@files, $File::Find::name) } }, ('.'));
     19 }
     20 if(@ARGV) {
     21   find(sub { if(/\.[ch]$/) { push(@files, $File::Find::name) } }, @ARGV);
     22 }
     23 
     24 @files = grep !/\/CMakeFiles\//, @files;
     25 @files = map { dirname($_) } @files;
     26 my @dirs = sort { $a cmp $b } keys %{{ map { $_ => 1 } @files }};
     27 
     28 my $scripts_dir = dirname(abs_path($0));
     29 my $anyfailed = 0;
     30 
     31 for my $dir (@dirs) {
     32     @files = glob("$dir/*.[ch]");
     33     if(@files && system("$scripts_dir/checksrc.pl", @files) != 0) {
     34         $anyfailed = 1;
     35     }
     36 }
     37 
     38 exit $anyfailed;