Module::Starter - a simple starter kit for any module
Nothing in here is meant for public consumption. Use module-starter from the command line.
module-starter --module=Foo::Bar,Foo::Bat \ --author="Andy Lester" --firstname.lastname@example.org
This is the core module for Module::Starter. If you're not looking to extend or alter the behavior of this module, you probably want to look at module-starter instead.
Module::Starter is used to create a skeletal CPAN distribution, including basic builder scripts, tests, documentation, and module code. This is done through just one method,
create_distro is the only method you should need to use from outside this module; all the other methods are called internally by this one.
This method creates orchestrates all the work; it creates distribution and populates it with the all the requires files.
It takes a hash of params, as follows:
distro => $distroname, # distribution name (defaults to first module) modules => [ module names ], # modules to create in distro dir => $dirname, # directory in which to build distro builder => 'Module::Build', # defaults to ExtUtils::MakeMaker # or specify more than one builder in an # arrayref license => $license, # type of license; defaults to 'artistic2' author => $author, # author's full name (taken from C<getpwuid> if not provided) email => $email, # author's email address (taken from C<EMAIL> if not provided) ignores_type => $type, # ignores file type ('generic', 'cvs', 'git', 'hg', 'manifest' ) fatalize => $fatalize, # generate code that makes warnings fatal verbose => $verbose, # bool: print progress messages; defaults to 0 force => $force # bool: overwrite existing files; defaults to 0
The ignores_type is a new feature that allows one to create SCM-specific ignore files. These are the mappings:
ignores_type => 'generic' # default, creates 'ignore.txt' ignores_type => 'cvs' # creates .cvsignore ignores_type => 'git' # creates .gitignore ignores_type => 'hg' # creates .hgignore ignores_type => 'manifest' # creates MANIFEST.SKIP
It is also possible to provide an array ref with multiple types wanted:
ignores_type => [ 'git', 'manifest' ]
Module::Starter itself doesn't actually do anything. It must load plugins that implement
create_distro and other methods. This is done by the class's
import routine, which accepts a list of plugins to be loaded, in order.
For more information, refer to Module::Starter::Plugin.
<xsawyerx at cpan.org>
<petdance at cpan.org>
<rjbs at cpan.org>
<cjac at colliertech.org>
You can find documentation for this module with the perldoc command.
You can also look for information at:
Please report any bugs or feature requests to the bugtracker for this project on GitHub at: https://github.com/xsawyerx/module-starter/issues. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
Copyright 2005-2009 Andy Lester, Ricardo Signes and C.J. Adams-Collier, All Rights Reserved.
Copyright 2010 Sawyer X, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Minimal authoring tool to create and manage distributions using Module::Build::Tiny as an installer.
Easy to use and powerful authoring tool using Dist::Zilla to create and manage distributions.
Very complex, fully pluggable and customizable distribution builder.