NAME
    Dist::Zilla::Plugin::Prereqs::MatchInstalled::All - Upgrade ALL your
    dependencies to the ones you have installed.

VERSION
    version 1.001000

SYNOPSIS
        [Prereqs::MatchInstalled::All]
        ; upgrade_perl = 1  ; if you want to upgrade to your installed perl
        ; include these too if you don't want to force a perl upgrade indirectly.
        exclude = strict
        exclude = warnings

DESCRIPTION
    This is a special case of "Dist::Zilla::Plugin::Prereqs::MatchInstalled"
    that automatically upgrades all versions of all dependencies, unless
    asked not to.

  PITFALLS
    Presently, there is one very large gotcha about using this module, in
    that it will upgrade everything, even things that don't make sense to
    upgrade.

    For instance:

   Local Versions
    If you have a single dependency on your system you might use, which is
    locally patched, and locally patched in such a way the local version is
    more recent than any on "CPAN", you should either

    a. Not use this module
    b. Put that module in the exclusion list

   Non-Dual Life modules
    This plugin is not very smart, and can't differentiate between modules
    that do exist on "CPAN" independent of Perl, and modules that don't.

    For instance, if you use "Autoprereqs", its very likely your
    distribution will add a dependency on either "strict" or "warnings"

    This module will ask your user to upgrade those versions to their latest
    versions, which will likely require them to upgrade their Perl
    installation to do so.

    Which basically means for the mean time, either

    a. You must be o.k. with end users needing more recent Perls
    b. You should avoid upgrading those dependencies by either

        a. Not using this plugin
        b. Adding problematic modules to the exclusion list

ATTRIBUTES
  "exclude"
    This parameter can be specified multiple times, and each time should
    represent a single package string to exclude from version upgrades.

        [Prereqs::MatchInstalled::All]
        exclude = foo
        exclude = bar

  "upgrade_perl"
    If specified, this will permit upgrades on the dependency on "perl" to
    the installed version.

        [Prereqs::MatchInstalled::All]
        upgrade_perl = 1

    Note, this has no effect on the modules that may inherently be only
    available by upgrading Perl.

    Default is false.

    See "PITFALLS" for details.

PRIVATE ATTRIBUTES
  "_exclude_hash"
PRIVATE METHODS
  "_build__exclude_hash"
  "_user_wants_excluded"
  "_user_wants_upgrade_on"
AUTHOR
    Kent Fredric <kentnl@cpan.org>

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.