Dist::Zilla::MVP::RootSection - a standard section in Dist::Zilla's configuration sequence


Dist-Zilla documentation Contained in the Dist-Zilla distribution.

Index


Code Index:

NAME

Top

Dist::Zilla::MVP::RootSection - a standard section in Dist::Zilla's configuration sequence

VERSION

Top

version 4.200008

DESCRIPTION

Top

This is a subclass of Config::MVP::Section, used as the starting section by Dist::Zilla::MVP::Assembler::Zilla. It has a number of useful defaults, as well as a zilla attribute which will, after section finalization, contain a Dist::Zilla object with which subsequent plugin sections may register.

Those useful defaults are:

AUTHOR

Top

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE

Top


Dist-Zilla documentation Contained in the Dist-Zilla distribution.

package Dist::Zilla::MVP::RootSection;
BEGIN {
  $Dist::Zilla::MVP::RootSection::VERSION = '4.200008';
}
use Moose;
extends 'Config::MVP::Section';
# ABSTRACT: a standard section in Dist::Zilla's configuration sequence


use MooseX::LazyRequire;
use MooseX::SetOnce;
use Moose::Util::TypeConstraints;

has '+name'    => (default => '_');

has '+aliases' => (default => sub { return { author => 'authors' } });

has '+multivalue_args' => (default => sub { [ qw(authors) ] });

has zilla => (
  is     => 'ro',
  isa    => class_type('Dist::Zilla'),
  traits => [ qw(SetOnce) ],
  writer => 'set_zilla',
  lazy_required => 1,
);

after finalize => sub {
  my ($self) = @_;

  my $assembler = $self->sequence->assembler;

  my $zilla = $assembler->zilla_class->new( $self->payload );

  $self->set_zilla($zilla);
};

1;

__END__