package Module::Release::MANIFEST; use strict; use warnings; use base qw(Exporter); use vars qw($VERSION); our @EXPORT = qw( check_MANIFEST ); $VERSION = '2.06_01'; =head1 NAME Module::Release::MANIFEST - Check Perl's MANIFEST to ensure you've updated it =head1 SYNOPSIS The release script automatically loads this module and checks your MANIFEST file. It runs C<{make|Build} manifest> and dies if the output contains any lines that start with C or C. If it dies, you have to start the release process again after verifying F (and F). =head1 DESCRIPTION =over 4 =item check_MANIFEST Runs C<{make|Build} manifest>. If it sees output starting with C or C, it dies. It looks in C to get the name of the distribution file. There's a slight problem with this command. It might re-order the list of files in F. Although this doesn't bother this command, it might make the file dirty for source control. =cut sub check_MANIFEST { my $self = shift; $self->_print( "Checking MANIFEST... " ); my $perl = $self->{perl}; my @ignore = $self->_get_prereq_ignore_list; my $output = $self->run( "$self->{make} manifest 2>&1" ); $self->_die( "\nERROR: MANIFEST is dirty! Update MANIFEST or MANIFEST.SKIP!\n$output\n\nAborting release\n" ) if $output =~ /^(?:added|removed)/mi; $self->_print( "done\n" ); } =back =head1 SEE ALSO L =head1 SOURCE AVAILABILITY This source is in Github: git://github.com/briandfoy/module-release.git =head1 AUTHOR brian d foy, C<< >> =head1 COPYRIGHT AND LICENSE Copyright (c) 2009-2011, brian d foy, All Rights Reserved. You may redistribute this under the same terms as Perl itself. =cut 1;