Codex

CPAN::Meta::Prereqs

Section: User Contributed Perl Documentation (3pm)

Updated: 2014-09-26

Index?action=index Return to Main Contents


NAME

CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type

VERSION

version 2.142690

DESCRIPTION

A CPAN::Meta::Prereqs object represents the prerequisites for a CPAN distribution or one of its optional features. Each set of prereqs is organized by phase and type, as described in CPAN::Meta::Prereqs.

METHODS

new

This method returns a new set of Prereqs. The input should look like the contents of the field described in CPAN::Meta::Spec, meaning something more or less like this:

You can also construct an empty set of prereqs with:

This empty set of prereqs is useful for accumulating new prereqs before finally dumping the whole set into a structure or string.

requirements_for

This method returns a CPAN::Meta::Requirements object for the given phase/type combination. If no prerequisites are registered for that combination, a new CPAN::Meta::Requirements object will be returned, and it may be added to as needed.

If or are undefined or otherwise invalid, an exception will be raised.

with_merged_prereqs

This method returns a new CPAN::Meta::Prereqs objects in which all the other prerequisites given are merged into the current set. This is primarily provided for combining a distribution's core prereqs with the prereqs of one of its optional features.

The new prereqs object has no ties to the originals, and altering it further will not alter them.

merged_requirements

This method joins together all requirements across a number of phases and types into a new CPAN::Meta::Requirements object. If arguments are omitted, it defaults to ``runtime, ``build and ``test for phases and ``requires and ``recommends'' for types.

as_string_hash

This method returns a hashref containing structures suitable for dumping into a distmeta data structure. It is made up of hashes and strings, only; there will be no Prereqs, CPAN::Meta::Requirements, or objects inside it.

is_finalized

This method returns true if the set of prereqs has been marked ``finalized,'' and cannot be altered.

finalize

Calling on a Prereqs object will close it for further modification. Attempting to make any changes that would actually alter the prereqs will result in an exception being thrown.

clone

This method returns a Prereqs object that is identical to the original object, but can be altered without affecting the original object. Finalization does not survive cloning, meaning that you may clone a finalized set of prereqs and then modify the clone.

BUGS

Please report any bugs or feature using the CPAN Request Tracker. Bugs can be submitted through the web interface at <http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHORS

David Golden <[email protected]>:
Ricardo Signes <[email protected]>:

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by David Golden and 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.


Index

NAME

VERSION

DESCRIPTION

METHODS

new

requirements_for

with_merged_prereqs

merged_requirements

as_string_hash

is_finalized

finalize

clone

BUGS

AUTHORS

COPYRIGHT AND LICENSE