/usr/share/perl5/Dist/Zilla/Plugin/CPANFile.pm is in libdist-zilla-perl 5.043-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | package Dist::Zilla::Plugin::CPANFile;
# ABSTRACT: produce a cpanfile prereqs file
$Dist::Zilla::Plugin::CPANFile::VERSION = '5.043';
use Moose;
with 'Dist::Zilla::Role::FileGatherer';
use namespace::autoclean;
use Dist::Zilla::File::FromCode;
#pod =head1 DESCRIPTION
#pod
#pod This plugin will add a F<cpanfile> file to the distribution.
#pod
#pod =attr filename
#pod
#pod If given, parameter allows you to specify an alternate name for the generated
#pod file. It defaults, of course, to F<cpanfile>.
#pod
#pod =cut
has filename => (
is => 'ro',
isa => 'Str',
default => 'cpanfile',
);
sub _hunkify_hunky_hunk_hunks {
my ($self, $indent, $type, $req) = @_;
my $str = '';
for my $module (sort $req->required_modules) {
my $vstr = $req->requirements_for_module($module);
$str .= qq{$type "$module" => "$vstr";\n};
}
$str =~ s/^/' ' x $indent/egm;
return $str;
}
sub gather_files {
my ($self, $arg) = @_;
my $zilla = $self->zilla;
my $file = Dist::Zilla::File::FromCode->new({
name => $self->filename,
code => sub {
my $prereqs = $zilla->prereqs;
my @types = qw(requires recommends suggests conflicts);
my @phases = qw(runtime build test configure develop);
my $str = '';
for my $phase (@phases) {
for my $type (@types) {
my $req = $prereqs->requirements_for($phase, $type);
next unless $req->required_modules;
$str .= qq[\non '$phase' => sub {\n] unless $phase eq 'runtime';
$str .= $self->_hunkify_hunky_hunk_hunks(
($phase eq 'runtime' ? 0 : 1),
$type,
$req,
);
$str .= qq[};\n] unless $phase eq 'runtime';
}
}
return $str;
},
});
$self->add_file($file);
return;
}
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Dist::Zilla::Plugin::CPANFile - produce a cpanfile prereqs file
=head1 VERSION
version 5.043
=head1 DESCRIPTION
This plugin will add a F<cpanfile> file to the distribution.
=head1 ATTRIBUTES
=head2 filename
If given, parameter allows you to specify an alternate name for the generated
file. It defaults, of course, to F<cpanfile>.
=head1 AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2016 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.
=cut
|