X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDistar.pm;h=5cf0c1e4cc51daedc608471a91389bd0f7e5cd93;hb=c12b6d29cdd07c88273604529b5b201904693ae3;hp=163705fac87ddc783717f05d3edcf7f87d29dff9;hpb=f504bfb472e945dbdef8746c39f0d1550bbe393f;p=p5sagit%2FDistar.git diff --git a/lib/Distar.pm b/lib/Distar.pm index 163705f..5cf0c1e 100644 --- a/lib/Distar.pm +++ b/lib/Distar.pm @@ -12,16 +12,23 @@ use File::Spec; our $VERSION = '0.001000'; $VERSION = eval $VERSION; +my $MM_VER = eval $ExtUtils::MakeMaker::VERSION; + our @EXPORT = qw( author manifest_include run_preflight ); sub import { - strictures->import; + strict->import; + warnings->import(FATAL => 'all'); shift->export_to_level(1,@_); } -sub author { our $Author = shift } +sub author { + our $Author = shift; + $Author = [ $Author ] + if !ref $Author; +} our $Ran_Preflight; @@ -94,7 +101,7 @@ sub run_preflight { length && die "Outstanding changes"; } my $ymd = sprintf( - "%i-%02i-%02i", (localtime)[5]+1900, (localtime)[4]+1, (localtime)[3] + "%i-%02i-%02i", (gmtime)[5]+1900, (gmtime)[4]+1, (gmtime)[3] ); my $changes_line = "$version - $ymd\n"; my @cached = grep /^\+/, `git diff --cached -U0`; @@ -102,6 +109,9 @@ sub run_preflight { @cached == 2 or die "Pre-commit Changes not just Changes line"; $cached[0] =~ /^\+\+\+ .\/Changes\n/ or die "Changes not changed"; $cached[1] eq "+$changes_line" or die "Changes new line should be: \n\n$changes_line "; + + { no warnings 'exec'; `cpan-upload -h`; } + $? and die "cpan-upload not available"; } { @@ -112,9 +122,10 @@ sub run_preflight { sub new { my ($class, $args) = @_; return $class->SUPER::new({ - LICENSE => 'perl', + LICENSE => 'perl_5', + MIN_PERL_VERSION => '5.006', + AUTHOR => ($MM_VER >= 6.5702 ? $Distar::Author : $Distar::Author->[0]), %$args, - AUTHOR => $Distar::Author, ABSTRACT_FROM => $args->{VERSION_FROM}, test => { TESTS => ($args->{test}{TESTS}||'t/*.t').' xt/*.t xt/*/*.t' }, }); @@ -122,10 +133,7 @@ sub run_preflight { sub dist_test { my $self = shift; - my $manicheck = '$(PERLRUN) "-MExtUtils::Manifest=manicheck" -e "exit manicheck"'; - my $test = $self->can('cd') ? $self->cd('$(DISTVNAME)', $manicheck) - : 'cd $(DISTVNAME) && ' . $manicheck; - my $dist_test = $self->SUPER::dist_test(@_) . sprintf(<<'END', $test); + my $dist_test = $self->SUPER::dist_test(@_) . <<'END'; # --- Distar section: preflight: @@ -143,8 +151,8 @@ readmefile: create_distdir pod2text $(VERSION_FROM) >$(DISTVNAME)/README $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) ../Distar/helpers/add-readme-to-manifest disttest: distmanicheck -distmanicheck: distdir - %s +distmanicheck: create_distdir + cd $(DISTVNAME) && $(ABSPERLRUN) "-MExtUtils::Manifest=manicheck" -e "exit manicheck" END if (open my $fh, '<', 'maint/Makefile.include') {