/usr/share/perl5/Dist/Zilla/App/Command/add.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 | use strict;
use warnings;
package Dist::Zilla::App::Command::add;
# ABSTRACT: add a module to a dist
$Dist::Zilla::App::Command::add::VERSION = '5.043';
use Dist::Zilla::App -command;
#pod =head1 SYNOPSIS
#pod
#pod Adds a new module to a Dist::Zilla-based distribution
#pod
#pod $ dzil add Some::New::Module
#pod
#pod There are two arguments, C<-p> and C<-P>. C<-P> specify the minting profile
#pod provider and C<-p> - the profile name. These work just like C<dzil new>.
#pod
#pod =cut
sub abstract { 'add modules to an existing dist' }
sub usage_desc { '%c %o <ModuleName>' }
sub opt_spec {
[ 'profile|p=s', 'name of the profile to use',
{ default => 'default' } ],
[ 'provider|P=s', 'name of the profile provider to use',
{ default => 'Default' } ],
# [ 'module|m=s@', 'module(s) to create; may be given many times' ],
}
sub validate_args {
my ($self, $opt, $args) = @_;
require MooseX::Types::Perl;
$self->usage_error('dzil add takes one or more arguments') if @$args < 1;
for my $name ( @$args ) {
$self->usage_error("$name is not a valid module name")
unless MooseX::Types::Perl::is_ModuleName($name);
}
}
sub execute {
my ($self, $opt, $arg) = @_;
my $zilla = $self->zilla;
my $dist = $zilla->name;
require Path::Class;
require File::pushd;
require Dist::Zilla::Dist::Minter;
my $minter = Dist::Zilla::Dist::Minter->_new_from_profile(
[ $opt->provider, $opt->profile ],
{
chrome => $self->app->chrome,
name => $dist,
_global_stashes => $self->app->_build_global_stashes,
},
);
my $root = Path::Class::dir($zilla->root)->absolute;
my $wd = File::pushd::pushd($minter->root);
my $factory = $minter->plugin_named(':DefaultModuleMaker');
for my $name ( @$arg ) {
$factory->make_module({ name => $name });
}
for my $file ( @{ $factory->zilla->files} ) {
$zilla->_write_out_file($file, $root);
}
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Dist::Zilla::App::Command::add - add a module to a dist
=head1 VERSION
version 5.043
=head1 SYNOPSIS
Adds a new module to a Dist::Zilla-based distribution
$ dzil add Some::New::Module
There are two arguments, C<-p> and C<-P>. C<-P> specify the minting profile
provider and C<-p> - the profile name. These work just like C<dzil new>.
=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
|