Dist::Zilla::Plugin::Prereqs::Soften - Downgrade listed dependencies to recommendations if present.
version 0.006004
[Prereqs::Soften]
module = Foo
module = Bar
This module iterates build
, require
and test
dependency lists and migrates dependencies found in .requires
and
demotes them to .recommends
Optionally, it can duplicate softened dependencies to other locations
A multi-value
argument that specifies a module name to soften in prereqs
.
The output relationship kind.
Default:
'recommends'
Valid Values:
'recommends', 'suggests', 'none', 'requires', 'conflicts'
Though the last two are reserved for people with $num_feet > 2
or with shotguns that only fire blanks.
none
is available since 0.006000
to allow removal of dependencies in conjunction with copying them.
Additional places to copy the dependency to:
Default:
[]
Example:
[Prereqs::Soften]
copy_to = develop.requires
to_relationship = recommends
module = Foo
This in effect means:
remove from: runtime.requires
→ add to: develop.requires
→ add to: runtime.recommends
remove from: test.requires
→ add to: develop.requires
→ add to: test.recommends
remove from: build.requires
→ add to: develop.requires
→ add to: build.recommends
This is for use in conjunction with [OptionalFeature]
, or anything that injects
compatible structures into distmeta
.
Recommended usage as follows:
[OptionalFeature / Etc]
...
[Prereqs::Soften]
modules_from_features = 1
In this example, copy_to
and modules
are both redundant, as modules
are propagated from all features,
and copy_to
is not necessary because [OptionalFeature]
automatically adds
dependencies to develop.requires
Kent Fredric kentnl@cpan.org
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.