The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Module::Starter - a simple starter kit for any module

VERSION

version 1.54

SYNOPSIS

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" --email=andy@petdance.com

DESCRIPTION

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.

METHODS

Module::Starter->create_distro(%args)

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 'perl'
author       => $author,   # author's full name (required)
email        => $email,    # author's email address (required)
ignores_type => $type,     # ignores file type ('generic', 'cvs', 'git', 'manifest' )

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 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 => 'manifest' # creates MANIFEST.SKIP

It is also possible to provide an array ref with multiple types wanted:

ignores_type => [ 'git', 'manifest' ]

PLUGINS

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.

AUTHORS

Andy Lester, <petdance at cpan.org>

Ricardo Signes, <rjbs at cpan.org>

C.J. Adams-Collier, <cjac at colliertech.org>

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Module::Starter

You can also look for information at:

BUGS

Please report any bugs or feature requests to bug-module-starter at rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT

Copyright 2005-2009 Andy Lester, Ricardo Signes and C.J. Adams-Collier, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.