NAME
CPAN::Local - Hack custom CPAN repos
VERSION
version 0.010
DESCRIPTION
CPAN::Local is a framework for creating custom CPAN implementations. It
is to your private repositories as Dist::Zilla is to your distributions.
The individual tasks related to mirror management are handled by
separate plugins, and those plugins can be combined to achieve the
desired behavior, or new ones can be written where further
customizations is needed.
There are other libraries for managing a local CPAN mirror, but while
all of them focus on functionality, CPAN::Local focuses entirely on
extensibility. It is insipered by Dist::Zilla and attempts to provide
sufficient flexibility to acommodate the strangest of needs.
This document describes the "CPAN::Local" class, which represents a
local repository with plugins configured to perform actions on it. For
more documentation on how to use this library see CPAN::Local::Manual.
ATTRIBUTES
config_filename
Base name of the configuration file. Default is "cpanlocal".
config
A Config::MVP::Sequence representing the mirror configuration. Normally
generated by reading the configuration file (see "config_filename").
root_namespace
The root namespaces for plugins and roles that will be loaded. Default
is "CPAN::Local".
distribution_base_class
The base class for distribution objects. Default is
"CPAN::Local::Distribution".
root
The root directory of the repository. Assumes the current working
directory by default.
logger
Logging facility. An instance of Log::Dispatchouli by default.
plugins
All plugins requested by the "config", required and instantiated.
METHODS
plugins_with($role_name)
Returns all plugins that implement a given role. Only the last portion
of the role name should be passed as an argument - i.e. if $role_name is
"Index", then all plugins implementing "CPAN::Local::Role::Index" will
be returned.
AUTHOR
Peter Shangov <
[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Venda, Inc..
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.