The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

Module::Provision::Base - Immutable data object

Synopsis

   use Moose;

   extends 'Module::Provision::Base';

Description

Creates an immutable data object required by the methods in the applied roles

Configuration and Environment

Defines the following list of attributes which can be set from the command line;

base

The directory which will contain the new project. Defaults to the users home directory

branch

The name of the initial branch to create. Defaults to master for Git and trunk for SVN

builder

Which of the two build systems to use. Set to MB for Module::Build or DZ for Dist::Zilla

config_class

The name of the configuration class

initial_wd

The working directory when the command was invoked

license

The name of the license used on the project. Defaults to perl

perms

Permissions used to create files. Defaults to 644. Directories and programs have the execute bit turned on if the corresponding read bit is on

plugins

Optional trait to load and apply

project

The class name of the new project. Should be the first extra argument on the command line

repository

Name of the directory containing the SVN repository. Defaults to repository

vcs

The version control system to use. Defaults to none, can be git or svn

Subroutines/Methods

BUILD

Load and apply optional traits

chdir

   $directory = $self->chdir( $directory );

Changes the current working directory to the one supplied and returns it. Throws if the operation was not successful

load_meta

   $cpan_meta_object = $self->load_meta( $optional_directory );

Loads the META.json file and returns and object

Diagnostics

None

Dependencies

Class::Usul
File::DataClass
Module::Metadata
Module::Provision::Config
Perl::Version

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, <pjfl@cpan.org>

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