#!/usr/bin/perl use strict; use warnings; use FindBin; use Path::Class; use lib Path::Class::Dir->new($FindBin::Bin, '..', 'lib')->stringify; use Module::Setup; Module::Setup->new->setup_options->run; =head1 NAME module-setup - create a skeleton module =head1 SYNOPSIS module-setup [options] module_name Examples: module-setup MyApp module-setup MyApp other_flavor_name module-setup --init new_flavor_name module-setup --pack MyApp::Flavor::Class flavor_name > MyApp/Flavor/Class.pm module-setup --direct MyApp # use Module::Setup::Flavor::Default module-setup --direct --flavor-class=+My::Flavor MyApp module-setup --additional=DBIC --flavor-class=Additional::Flavor::DBIC default module-setup --pack --additional=DBIC MyFlavorCatalystDBIC catalyst > MyFlavorCatalystDBIC.pm module-setup --pack --without-additional MyFlavorCatalyst catalyst > MyFlavorCatalyst.pm Options: --init Create new flavor --pack Pack flavor --without-additional without additional template in pack --direct unuse flavor directory --target=dir set the target directory for skeleton --flavor=flavor Change to flavor (default is 'default') --flavor-class=base_class Change to flavor class (default is 'Module::Setup::Flavor::Default') --plugin=plugin_name add using plugin --additional=name additional template name (use L<Module::Setup::Plugin::Additional>) --help Show this message For Devel: --devel for flavor development --test develpoment flavor test --pack create flavor module file --executable create executable file $ module-setup --devel FlavorClassName # create skeleton $ cd FlavorClassName $ # edit $ module-setup --devel --test # flavor test $ module-setup --devel --pack # flavor packing $ module-setup --devel --pack --executable > fobar-setup.pl # create executable file =cut