794e8aac3426c7dc3e35de9984f75b23a4f0262f
[p5sagit/Distar.git] / helpers / check-manifest
1 #!/usr/bin/env perl
2 use strict;
3 use warnings FATAL => 'all';
4 use ExtUtils::Manifest qw(filecheck maniread maniskip manicheck mkmanifest);
5
6 {
7   local $ExtUtils::Manifest::Quiet = 1;
8   my $manimiss = ! -e 'MANIFEST';
9   if (-e 'MANIFEST') {
10     my @extra = manicheck;
11     if (@extra) {
12       die "Files in MANIFEST are missing from file system:\n"
13         . join('', map "  $_\n", @extra);
14     }
15
16     my $read = maniread;
17     my $skip = maniskip;
18
19     my @missing = manicheck;
20     my @remove = grep $skip->($_), sort keys %$read;
21
22     exit 0
23       if !(@missing || @remove);
24   }
25 }
26
27 warn "Updating MANIFEST:\n";
28 mkmanifest;
29 warn "Go check it and retry.\n";
30 exit 1;