NAME

Module::Setup::Plugin - Module::Setup Plugin

Trigger Point

befor_dump_config $config

config setup Module::Setup::Plugin::Config::Basic

after_setup_module_attribute

module attribute setup Module::Setup::Plugin::VC::SVN

after_setup_template_vars

template parameters setup

append_template_file

add module template file for new module Module::Setup::Plugin::VC::Git

template_process $options

for template process Module::Setup::Plugin::Template

replace_distribute_path $options

for distribute path rewrite phase

check_skeleton_directory

for test L<Module::Setup::Plugin::Test::Makefile>

after_create_skeleton

after create_skeleton

finalize_create_skeleton

last trigger of run method

Plugin Example

~/.module-setup/flavor/myflavor/plugins/plugin.pl package MyFlavor::Plugin; use strict; use warnings; use base 'Module::Setup::Plugin';

use Path::Class;

sub register {
    my($self, ) = @_;
    $self->add_trigger( check_skeleton_directory => \&check_skeleton_directory );
}

sub check_skeleton_directory {
    my $self = shift;
}

~/.module-setup/flavor/myflavor/config.yaml

config:
  plugins:
    - Config::Basic
    - VC::SVN
    - Template
    - Test::Makefile
    - +MyFlavor::Plugin

or command option

$ module-setup --plugin=+MyFlavor::Plugin New::Module