Andy Lester > Module-Starter-1.52 > Module::Starter::Simple

Download:
Module-Starter-1.52.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  6
Open  6
View Bugs
Report a bug
Module Version: 1.52   Source  

NAME ^

Module::Starter::Simple - a simple, comprehensive Module::Starter plugin

VERSION ^

Version 1.52

SYNOPSIS ^

    use Module::Starter qw(Module::Starter::Simple);

    Module::Starter->create_distro(%args);

DESCRIPTION ^

Module::Starter::Simple is a plugin for Module::Starter that will perform all the work needed to create a distribution. Given the parameters detailed in Module::Starter, it will create content, create directories, and populate the directories with the required files.

CLASS METHODS ^

create_distro(%args)

This method works as advertised in Module::Starter.

new(%args)

This method is called to construct and initialize a new Module::Starter object. It is never called by the end user, only internally by create_distro, which creates ephemeral Module::Starter objects. It's documented only to call it to the attention of subclass authors.

OBJECT METHODS ^

All the methods documented below are object methods, meant to be called internally by the ephemperal objects created during the execution of the class method create_distro above.

create_basedir

Creates the base directory for the distribution. If the directory already exists, and $force is true, then the existing directory will get erased.

If the directory can't be created, or re-created, it dies.

create_modules( @modules )

This method will create a starter module file for each module named in @modules.

module_guts( $module, $rtname )

This method returns the text which should serve as the contents for the named module. $rtname is the email suffix which rt.cpan.org will use for bug reports. (This should, and will, be moved out of the parameters for this method eventually.)

create_Makefile_PL( $main_module )

This will create the Makefile.PL for the distribution, and will use the module named in $main_module as the main module of the distribution.

create_MI_Makefile_PL( $main_module )

This will create a Module::Install Makefile.PL for the distribution, and will use the module named in $main_module as the main module of the distribution.

Makefile_PL_guts( $main_module, $main_pm_file )

This method is called by create_Makefile_PL and returns text used to populate Makefile.PL; $main_pm_file is the filename of the distribution's main module, $main_module.

MI_Makefile_PL_guts( $main_module, $main_pm_file )

This method is called by create_MI_Makefile_PL and returns text used to populate Makefile.PL; $main_pm_file is the filename of the distribution's main module, $main_module.

create_Build_PL( $main_module )

This will create the Build.PL for the distribution, and will use the module named in $main_module as the main module of the distribution.

Build_PL_guts( $main_module, $main_pm_file )

This method is called by create_Build_PL and returns text used to populate Build.PL; $main_pm_file is the filename of the distribution's main module, $main_module.

create_Changes( )

This method creates a skeletal Changes file.

Changes_guts

Called by create_Changes, this method returns content for the Changes file.

create_README( $build_instructions )

This method creates the distribution's README file.

README_guts

Called by create_README, this method returns content for the README file.

create_t( @modules )

This method creates a bunch of *.t files. @modules is a list of all modules in the distribution.

t_guts( @modules )

This method is called by create_t, and returns a description of the *.t files to be created.

The return value is a hash of test files to create. Each key is a filename and each value is the contents of that file.

create_MANIFEST( @files )

This method creates the distribution's MANIFEST file. It must be run last, because all the other create_* functions have been returning the functions they create.

MANIFEST_guts( @files )

This method is called by create_MANIFEST, and returns content for the MANIFEST file.

create_build( )

This method creates the build file(s) and puts together some build instructions. The builders currently supported are:

ExtUtils::MakeMaker Module::Build Module::Install

create_ignores()

This creates an ignore.txt file for use as MANIFEST.SKIP, .cvsignore, .gitignore, or whatever you use.

ignores_guts()

Called by create_ignores, this method returns the contents of the ignore.txt file.

HELPER METHODS ^

verbose

verbose tells us whether we're in verbose mode.

create_file( $fname, @content_lines )

Creates $fname, dumps @content_lines in it, and closes it. Dies on any error.

progress( @list )

progress prints the given progress message if we're in verbose mode.

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.

AUTHOR ^

Andy Lester, <andy@petdance.com>

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

Copyright & License ^

Copyright 2005-2007 Andy Lester 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.

Please note that these modules are not products of or supported by the employers of the various contributors to the code.