typographic pod treatment
[rersyncrecent.git] / Makefile.PL
bloba7771c238aac918bb46d5beb862689e5ed32bd9a
1 use strict;
2 use warnings;
3 use ExtUtils::MakeMaker;
5 my @sign = (MM->can("signature_target") ? (SIGN => 1) : ());
6 my $version_diff = 0; # we'll have to die if this becomes true
7 my $version_from = 'lib/File/Rsync/Mirror/Recentfile.pm';
8 if ($ARGV[0] && $ARGV[0] eq "--setversion") {
9     eval {  require $version_from; };
10     open my $fh, "make the-release-name|" or die;
11     local $/;
12     my ($have_version) = <$fh> =~ /^version\s+([\d\._]+)/m;
13     my ($namespace) = $version_from;
14     $namespace =~ s|^lib/(.+)\.pm$|$1|;
15     $namespace =~ s|/|::|g;
16     eval qq{ if (\$$namespace\::VERSION != \$have_version) {
17         warn "Not equal: CPAN::Testers::ParseReport::VERSION[\$$namespace\::VERSION] Makefile version[\$have_version]";
18         \$version_diff = 1;
19     }};
22 WriteMakefile
23     (
24      NAME                => 'File::Rsync::Mirror::Recentfile',
25      AUTHOR              => 'Andreas König <andreas.koenig.7os6VVqR@franz.ak.mind.de>',
26      VERSION_FROM        => $version_from,
27      PL_FILES            => {},
28      PREREQ_PM =>
29      {
30       'Data::Serializer' => 0.46,
31       'File::Rsync'      => 0,
32       'Test::More'       => 0,
33       'File::Basename'   => 0,
34       'File::Path'       => 0,
35       'File::Temp'       => 0,
36       'Scalar::Util'     => 0,
37       'Time::HiRes'      => 0,
38       'YAML::Syck'       => 0,
39      },
40      dist => {
41               DIST_DEFAULT => join(" ", # note: order matters!
42                                    "Makefile",
43                                    "META.yml",
44                                    "setversion",
45                                    "all",
46                                    "tardist",
47                                   ),
48               COMPRESS => 'gzip -9',
49              },
50      @sign,
51      clean               => { FILES => 'File-Rsync-Mirror-Recentfile-*' },
52     );
54 if ($version_diff){
55   die "
56 ==> I had to update some \$VERSIONs <==
57 ==> Your Makefile has been rebuilt. <==
58 ==> Please rerun the make command.  <==
62 package MY;
63 sub postamble {
64   my @m;
65   push @m, q{
66 setversion:
67         $(PERL) Makefile.PL --setversion
69 the-release-name :
70         $(NOECHO) $(ECHO) 'version ' $(VERSION)
71         $(NOECHO) $(ECHO) 'release-name ' $(DISTVNAME).tar$(SUFFIX)
73 release ::
74         /usr/bin/perl -I../CPAN/GIT/trunk/release-lib -S release $(DISTVNAME).tar$(SUFFIX)
75         rm -rf $(DISTVNAME)
77 sign:
78         cpansign -s
80   join "", @m;
83 sub dist_test {
84   return q{
85 # if we depend on $(DISTVNAME).tar$(SUFFIX), then the rest of the
86 # Makefile breaks our intent to NOT remake dist
87 disttest :
88         rm -rf $(DISTVNAME)
89         tar xvzf $(DISTVNAME).tar$(SUFFIX)
90         cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL
91         cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
92         cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
94 distdir ::
95         touch $(DISTVNAME)/SIGNATURE && $(CP) $(DISTVNAME)/SIGNATURE ./SIGNATURE
96         $(CP) $(DISTVNAME)/META.yml  ./META.yml
97         $(CP) $(DISTVNAME)/MANIFEST  ./MANIFEST
102 sub distdir {
103   my $self = shift;
104   my $out = $self->SUPER::distdir;
105   $out =~ s/distdir :/distdir ::/g;
106   return $out;
109 # dist_dir was the name in very old MakeMaker as of 5.005_04
110 sub dist_dir {
111   my $self = shift;
112   my $out = $self->SUPER::dist_dir;
113   $out =~ s/distdir :/distdir ::/g;
114   return $out;