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

NAME

Dist::Zilla::Plugin::Prereqs::Plugins - Add all Dist::Zilla plugins presently in use as prerequisites.

VERSION

version 1.000001

SYNOPSIS

    [Prereqs::Plugins]
    ; all plugins are now develop.requires deps

    [Prereqs::Plugins]
    phase = runtime    ; all plugins are now runtime.requires deps

DESCRIPTION

This is mostly because I am lazy, and the lengthy list of hand-updated dependencies on my @Author:: bundle started to get overwhelming, and I'd periodically miss something.

This module is kinda AutoPrereqsy, but in ways that I can't imagine being plausible with a generic AutoPrereqs tool, at least, not without requiring some nasty re-implementation of how dist.ini is parsed.

METHODS

mvp_multivalue_args

The list of attributes that can be specified multiple times

    exclude

get_plugin_module

    $instance->get_plugin_module( $plugin_instance );

skip_prereq

    if ( $instance->skip_prereq( $plugin_instance ) ) {

    }

get_prereq_for

    my ( $module, $version ) = $instance->get_prereq_for( $plugin_instance );

register_prereqs

See Dist::Zilla::Role::PrereqSource

ATTRIBUTES

phase

The target installation phase to inject into:

  • runtime

  • configure

  • build

  • test

  • develop

relation

The type of dependency relation to create:

  • requires

  • recommends

  • suggests

  • conflicts

    Though think incredibly hard before using this last one ;)

exclude

Specify anything you want excluded here.

May Be specified multiple times.

    [Prereqs::Plugins]
    exclude = Some::Module::Thingy
    exclude = Some::Other::Module::Thingy

PRIVATE ATTRIBUTES

_exclude_hash

PRIVATE METHODS

_build__exclude_hash

LIMITATIONS

  • This module will NOT report @Bundles as dependencies at present.

  • This module will NOT necessarily include ALL dependencies, but is only intended to include the majority of them.

    Some plugins, such as my own Bootstrap::lib don't add themselves to the dzil ->plugins() list, and as such, it will be invisible to this module.

AUTHOR

Kent Fredric <kentfredric@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 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.