Dist::Zilla::Role::MetaProvider::Provider - A Role for Metadata providers specific to the 'provider' key.
version 1.15000100
Dist::Zilla::Role::MetaProvider
provides
Must return an array full of Dist::Zilla::MetaProvider::ProvideRecord instances.
inherit_version
This dictates how to report versions.
Set to "1" [default] The version defined by Dist::Zilla is the authority, and all versions discovered in packages are ignored.
Set to "0" The version defined in the discovered class is the authority, and it is copied to the provides metadata.
( To use this feature in a performing class, see "_resolve_version" )
inherit_missing
This dictates how to react when a class is discovered but a version is not specified.
Set to "1" [default] dist.ini's version turns up in the final metadata.
dist.ini
Set to "0". A provide turns up in the final metadata without a version, which is permissible.
provide
meta_noindex
This dictates how to behave when a discovered class is also present in the no_index META field.
no_index
Set to "0" [default]
no_index META field will be ignored
Set to "1"
no_index META field will be recognised and things found in it will cause respective packages to not be provided in the metadata.
_resolve_version
This is a utility method to make performing classes life easier in adhering to user requirements.
my $params = { file => $somefile , $self->_resolve_version( $version ); }
is the suggested use.
Returns either an empty list, or a list with ('version', $version );
('version', $version )
This is so { version => undef } does not occur in the YAML.
{ version => undef }
_try_regen_metadata
This is a nasty hack really, to work around the way Dist::Zilla handles metaproviders, which result in meta-data being inaccessible to metadata Plugins.
Dist::Zilla
my $meta = $object->_try_regen_metadata()
This at present returns metadata provided by MetaNoIndex ( if present ) but will be expanded as needed.
MetaNoIndex
If you have a module you think should be in this list, contact me, or file a bug, I'll do my best =)
_apply_meta_noindex
This is a utility method to make performing classes life easier in skipping no_index entries.
my @filtered_provides = $self->_apply_meta_noindex( @provides )
Returns either an empty list, or a list of ProvideRecord's
ProvideRecord
metadata
Fulfills the requirement of Dist::Zilla::Role::MetaProvider by processing results returned from $self->provides.
$self->provides
Dist::Zilla::Plugin::MetaProvider
Dist::Zilla::MetaProvider::ProvideRecord
Thanks to David Golden ( xdg / DAGOLDEN ) for the suggestion of the no_index feature for compatibility with MetaNoIndex plugin.
Kent Fredric <kentnl@cpan.org>
This software is copyright (c) 2013 by Kent Fredric.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Dist::Zilla::Plugin::MetaProvides, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::Plugin::MetaProvides
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::Plugin::MetaProvides
For more information on module installation, please visit the detailed CPAN module installation guide.