NAME Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled - Advertise versions of things you have as soft dependencies VERSION version 0.003000 SYNOPSIS "[Prereqs::MatchInstalled]" was a good concept, but its application seemed too strong for some things. This is a variation on the same theme, but instead of upgrading dependencies in-place, it propagates the upgrade to a different relation, to produce a softer dependency map. Below shows the defaults expanded by hand. [Prereqs::Recommend::MatchInstalled] applyto_phase = configure applyto_phase = runtime applyto_phase = test applyto_phase = build applyto_phase = develop source_relation = requires target_relation = recommends And add these stanzas for example: modules = Module::Build modules = Moose And you have yourself a distribution that won't needlessly increase the dependencies on either, but will add increased dependencies to the "recommends" phase. This way, people doing cpanm YourModule Get only what they *need* While cpanm --with-recommends YourModule Will get more recent things upgraded ATTRIBUTES "applyto_phase" [Prereqs::Recommend::MatchInstalled] applyto_phase = SOMEPHASE applyto_phase = SOMEPHASE This attribute can be specified multiple times. Valuable values are: build test runtime configure develop And those are the default values too. "source_relation" [Prereqs::Recommend::MatchInstalled] source_relation = requires This attribute specifies the prerequisites to skim for modules to recommend upgrades on. Valuable values are: requires recommends suggests Lastly: conflicts Will probably do *something*, but I have no idea if that means anything. If you want to conflict with what you've installed with, ... go right ahead. "target_relation" [Prereqs::Recommend::MatchInstalled] target_relation = recommends This attribute specifies the relationship type to inject upgrades into. Valuable values are: requires recommends suggests Lastly: conflicts Will probably do *something*, but I have no idea if that means anything. If you want to conflict with what you've installed with, ... go right ahead. "applyto_map" [Prereqs::Recommend::MatchInstalled] applyto_map = runtime.requires = runtime.recommends This attribute is the advanced internals of the other attributes, and it exists for insane, advanced, and niché applications. General format is: applyto_map = <source_phase>.<source_relation> = <target_phase>.<target_relation> And you can probably do everything with this. You could also conceivably emulate "[Prereqs::MatchInstalled]" in entirety by using this feature excessively. "applyto_map" may be declared multiple times. 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.