| Dist-Zilla documentation | Contained in the Dist-Zilla distribution. |
Dist::Zilla::Plugin::Manifest - build a MANIFEST file
version 4.200008
If included, this plugin will produce a MANIFEST file for the distribution, listing all of the files it contains. For obvious reasons, it should be included as close to last as possible.
Ricardo SIGNES <rjbs@cpan.org>
This software is copyright (c) 2011 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Dist-Zilla documentation | Contained in the Dist-Zilla distribution. |
package Dist::Zilla::Plugin::Manifest; BEGIN { $Dist::Zilla::Plugin::Manifest::VERSION = '4.200008'; } # ABSTRACT: build a MANIFEST file use Moose; use Moose::Autobox; with 'Dist::Zilla::Role::FileGatherer'; use Dist::Zilla::File::FromCode; sub __fix_filename { my ($name) = @_; return $name unless $name =~ /[ '\\]/; $name =~ s/\\/\\\\/g; $name =~ s/'/\\'/g; return qq{'$name'}; } sub gather_files { my ($self, $arg) = @_; my $zilla = $self->zilla; my $file = Dist::Zilla::File::FromCode->new({ name => 'MANIFEST', code => sub { $zilla->files->map(sub { $_->name }) ->sort->map( sub { __fix_filename($_) } )->join("\n") . "\n", }, }); $self->add_file($file); } __PACKAGE__->meta->make_immutable; no Moose; 1; __END__