Dist::...rovider(3pm)
β¨ NAME β¨
Dist::Zilla::Role::MetaProvider::Provider β bestie, it's a Role for Metadata providers that are specific to the 'provider' key π
π VERSION π
version 2.002004 β she's got lore, she's got history π
πΈ PUBLIC METHODS πΈ
metadata
Okay so this one fulfills the requirement of Dist::Zilla::Role::MetaProvider by processing the results that come back from $self->provides. That's the whole job. That's her main character moment. π
π¦ ATTRIBUTES / PARAMETERS π¦
inherit_version
This one dictates how to report versions. She's the authority figure here fr fr.
values
- Set to
1[default] β the version defined byDist::Zillais the authority, and every version discovered in packages is ignored. Sorry to those packages, they don't get a say. π - Set to
0β the version defined in the discovered class is the authority, and it gets copied over to the provides metadata. She said I'm the blueprint now.
( 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. Awkward silences, we handle them. π
values
- Set to
1[default] βdist.ini's version turns up in the final metadata. - Set to
0. Aprovideturns up in the final metadata without a version, which is permissible. No version, no problem. β¨
( To use this feature in a performing class, see _resolve_version )
meta_noindex
This dictates how to behave when a discovered class is also present in the no_index META field. It's giving overlap. It's giving conflict. π
values
- Set to
0[default]no_indexMETA field will be ignored
- Set to
1no_indexMETA field will be recognised and things found in it will cause respective packages to not be provided in the metadata.
π PERFORMS ROLES π
MetaProvider
Dist::Zilla::Role::MetaProvider
π REQUIRED METHODS FOR PERFORMING ROLES π
provides
Must return an array full of Dist::Zilla::MetaProvides::ProvideRecord instances. That's the vibe check β array full of those exact objects, no substitutes. π«Ά
π PRIVATE METHODS π
_resolve_version
This is a utility method to make performing classes' lives easier in adhering to user requirements. She's a helper, she's a bestie, she's doing the emotional labor π§
my $params = {
file => $somefile ,
$self->_resolve_version( $version );
}
is the suggested use.
Returns either an empty list, or a list with ('version', $version );
This is so { version => undef } does not occur in the YAML. Because that would be so embarrassing. Not on her watch. π
_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. She's fully aware. She said it herself. π
my $meta = $object->_try_regen_metadata()
This at present returns metadata provided by MetaNoIndex ( if present ) but will be expanded as needed.
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' lives easier in skipping no_index entries. Lowkey essential.
my @filtered_provides = $self->_apply_meta_noindex( @provides )
is the suggested use.
Returns either an empty list, or a list of ProvideRecord's
β SEE ALSO β
Dist::Zilla::Role::MetaProviderDist::Zilla::Plugin::MetaProviderDist::Zilla::MetaProvides::ProvideRecord
π THANKS π
- Thanks to David Golden ( xdg / DAGOLDEN ) for the suggestion of the no_index feature for compatibility with MetaNoIndex plugin. Iconic behavior honestly π
πΈ AUTHOR πΈ
Kent Fredric <kentnl@cpan.org>
π COPYRIGHT AND LICENSE π
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.
and that's the whole page bestie!! π«Ά this one's from perl v5.34.0, dated 2022-06-13, and yeah that's literally it β go forth and resolve those versions, no cap β¨π
π¦ where this page comes from
- debian bookworm: libdist-zilla-plugin-metaprovides-perl 2.002004-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libdist-zilla-plugin-metaprovides-perl 2.002004-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libdist-zilla-plugin-metaprovides-perl 2.002004-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libdist-zilla-plugin-metaprovides-perl 2.002004-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libdist-zilla-plugin-metaprovides-perl 2.002004-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms