-
-
03 Mar 2017 11:01:53 UTC
- Distribution: Dist-Zilla-Role-BundleDeps
- Module version: 0.002005
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (0)
- Testers (718 / 1 / 0)
- Kwalitee
Bus factor: 1- 96.43% Coverage
- License: perl_5
- Perl: v5.6.0
- Activity
24 month- Tools
- Download (27.35KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
NAME
Dist::Zilla::Role::BundleDeps - Automatically add all plugins in a bundle as dependencies
VERSION
version 0.002005
SYNOPSIS
package blahblahblah; use Moose; ... with 'Dist::Zilla::Role::PluginBundle'; with 'Dist::Zilla::Role::BundleDeps';
Dependencies appear now for all plugins returned.
DESCRIPTION
This role attempts to solve the problem of communicating dependencies to META.* from bundles in a different way.
My first attempt was
[Prereqs::Plugins]
, which added all values that are seen in thedist.ini
to dependencies.However, that was inherently limited, as the
:version
specifier is lost before the plugins appear on$zilla->plugins
This Role however, can see any declarations of
:version
your bundle advertises, by standing between yourbundle_config
method andDist::Zilla
METHODS
bundledeps_defaults
This method provides the
HashRef
of defaults to use for the generatedPrereqs
section.Because this role is intended to advertise Plugin Bundle dependencies, and because those dependencies will be "develop" dependencies everywhere other than the bundle itself, our defaults are:
{ -phase => develop, -relationship => requires, }
These can be overridden when consuming a bundle in
dist.ini
[@Author::MyBundle] ; authordep Dist::Zilla::Role::BundleDeps bundledeps_phase = runtime bundledeps_relationship = requires
LIMITATIONS
Self References in develop_requires
If you bundle plugins with your bundle, and use those plugins in the bundle, you'll risk a self-reference problem, which may be solved in a future release of Dist::Zilla.
Until then, you'll need to possibly use
[RemovePrereqs]
to trim self-references.Bootstrap problems on Bundles
When using your bundle to ship itself, the use of this role can imply some confusion if the role is not installed, as
dzil listdeps
will require this role present to work.It is subsequently recommended to state an explicit
AuthorDep
indist.ini
to avoid this.[Bootstrap::lib] [@Author::MyBundle] ; authordep Dist::Zilla::Role::BundleDeps bundledeps_phase = runtime bundledeps_relationship = requires
SEE ALSO
AUTHOR
Kent Fredric <kentnl@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Kent Fredric <kentfredric@gmail.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Module Install Instructions
To install Dist::Zilla::Role::BundleDeps, copy and paste the appropriate command in to your terminal.
cpanm Dist::Zilla::Role::BundleDeps
perl -MCPAN -e shell install Dist::Zilla::Role::BundleDeps
For more information on module installation, please visit the detailed CPAN module installation guide.