NAME
Dist::Zilla::Plugin::Prereqs - list simple prerequisites
VERSION
version 4.300007
SYNOPSIS
In your dist.ini:
[Prereqs]
Foo::Bar = 1.002
MRO::Compat = 10
Sub::Exporter = 0
You can specify requirements for different phases and relationships with:
[Prereqs]
-phase = test
-relationship = recommends
Fitz::Fotz = 1.23
Text::SoundEx = 3
Remember that if you load two Prereqs plugins, each will needs its own name, added like this:
[Prereqs / PluginName]
-phase = test
-relationship = recommends
Fitz::Fotz = 1.23
Text::SoundEx = 3
If the name is the CamelCase concatenation of a phase and relationship (or just a relationship), it will set those parameters implicitly. If you use a custom name, but it does not specify the relationship, and you didn't specify either -phase
or -relationship
, it throws the error No -phase or -relationship specified
. This is to prevent a typo that makes the name meaningless from slipping by unnoticed.
The example below is equivalent to the example above, except for the name of the resulting plugin:
[Prereqs / TestRecommends]
Fitz::Fotz = 1.23
Text::SoundEx = 3
DESCRIPTION
This module adds "fixed" prerequisites to your distribution. These are prereqs with a known, fixed minimum version that doens't change based on platform or other conditions.
You can specify prerequisites for different phases and kinds of relationships. In RuntimeRequires
, the phase is Runtime and the relationship is Requires. These are described in more detail in the CPAN::Meta specification.
The phases are:
configure
build
test
runtime
develop
The relationship types are:
requires
recommends
suggests
conflicts
If the phase is omitted, it will default to runtime; thus, specifying "Prereqs / Recommends" in your dist.ini is equivalent to RuntimeRecommends.
Not all of these phases are useful for all tools, especially tools that only understand version 1.x CPAN::Meta files.
AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.