View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Peter Flanigan > Module-Provision > Module::Provision::TraitFor::CreatingDistributions



Annotate this POD



Open  0
View/Report Bugs
Module Version: v0.42.1   Source  

Name ^

Module::Provision::TraitFor::CreatingDistributions - Create distributions

Synopsis ^

   use Moose;

   extends 'Module::Provision::Base';
   with    'Module::Provision::TraitFor::CreatingDistributions';

Description ^

Create distributions using either Git or SVN for the VCS

Configuration and Environment ^

Requires these attributes to be defined in the consuming class; appbase, appldir, builder, exec_perms, homedir, incdir, project_file, render_templates, stash, testdir, and vcs

Defines the following attributes;


Which text editor to use. It is a read only, lazily evaluated, simple string that cannot be null. It defaults to the editor configuration variable

Subroutines/Methods ^

build_distribution - Build a CPAN distribution tarball

   $self->build_distribution( $verbose );

Builds a CPAN distribution tarball

clean_distribution - Cleans up after a distribution build

   $self->clean_distribution( $verbose );

Cleans up after a distribution build

cover - Create test coverage statistics

   $exit_code = $self->cover;

Returns the exit code. Runs the distributions coverage tests



Creates the required directories for the new distribution. If subclassed this method can be modified to include additional directories

dist - Create a new distribution

   $exit_code = $self->dist;

The distributions main module name is specified on the command line



Runs after the new distribution has been created. If subclassed this method can be modified to perform additional actions after the templates have been rendered



Runs before the new distribution is created. If subclassed this method can be modified to perform additional actions before the project directories are created

edit_project - Edit the project file

   $exit_code = $self->edit_project;

The project file is one of; dist.ini, Build.PL, or Makefile.PL in the current directory


   $markdown_file = $self->generate_metadata( $create_flag );

Generates the distribution metadata files. If the create_flag is TRUE returns the name of the file

metadata - Generate the distribution metadata files

   $exit_code = $self->metadata;

Calls "generate_metadata" with the create flag set to FALSE

prove - Runs the tests for the distribution

   $exit_code = $self->prove;

Returns the exit code. Runs the distributions tests. If a specific test file is given on the command line, run only that that test

select_project - List available projects and select one to edit

   $exit_code = $self->select_project

Use from the shell like this:

   cd $(module_provision -q select_project 2>&1 1>/dev/tty)

Display a list of projects, select one and edit it's project file

show_tab_title - Display the tab title for the current distribution

   $exit_code = $self->show_tab_title;

Print the tab title for the current project to STDOUT

Diagnostics ^


Dependencies ^


Incompatibilities ^

There are no known incompatibilities in this module

Bugs and Limitations ^

There are no known bugs in this module. Please report problems to the address below. Patches are welcome

Acknowledgements ^

Larry Wall - For the Perl programming language

Author ^

Peter Flanigan, <>

License and Copyright ^

Copyright (c) 2017 Peter Flanigan. All rights reserved

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

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

syntax highlighting: