xref: /openbsd-src/gnu/usr.bin/perl/Porting/perlgov-team-update (revision 256a93a44f36679bee503f12e49566c2183f6181)
1*256a93a4Safresh1#!/usr/bin/env perl
2*256a93a4Safresh1use v5.30.0;
3*256a93a4Safresh1use warnings;
4*256a93a4Safresh1use Encode qw(encode);
5*256a93a4Safresh1use JSON::PP;
6*256a93a4Safresh1
7*256a93a4Safresh1my $file = 'Porting/core-team.json';
8*256a93a4Safresh1open my $fh, '<:encoding(UTF-8)', $file
9*256a93a4Safresh1  or die "can't read $file: $!\n";
10*256a93a4Safresh1
11*256a93a4Safresh1my $json = do { local $/; <$fh> };
12*256a93a4Safresh1
13*256a93a4Safresh1my $data = JSON::PP->new->decode($json);
14*256a93a4Safresh1
15*256a93a4Safresh1my $pod = q{};
16*256a93a4Safresh1
17*256a93a4Safresh1for my $key (qw( active inactive )) {
18*256a93a4Safresh1  $pod .= qq{=head2 \u$key Members\n\n=over 4\n\n};
19*256a93a4Safresh1
20*256a93a4Safresh1  my @items = map {; encode('utf-8', "<$_>") } $data->{$key}->@*;
21*256a93a4Safresh1
22*256a93a4Safresh1  open(my $fh, '-|', 'git', 'check-mailmap', @items)
23*256a93a4Safresh1    or die "error running check-mailmap: $!";
24*256a93a4Safresh1
25*256a93a4Safresh1  my @lines = <$fh>;
26*256a93a4Safresh1
27*256a93a4Safresh1  $pod .= "=item $_\n" for sort @lines;
28*256a93a4Safresh1
29*256a93a4Safresh1  $pod .= "=back\n\n";
30*256a93a4Safresh1}
31*256a93a4Safresh1
32*256a93a4Safresh1say $pod;
33