DOKK / manpages / debian 12 / libdist-zilla-role-modulemetadata-perl / Dist::Zilla::Role::ModuleMetadata.3pm.en
Dist::Zilla::Role::ModuleMetadata(3pm) User Contributed Perl Documentation Dist::Zilla::Role::ModuleMetadata(3pm)

Dist::Zilla::Role::ModuleMetadata - A role for plugins that use Module::Metadata

version 0.006

    package Dist::Zilla::Plugin::YourNewPlugin;
    use Moose;
    with
        'Dist::Zilla::Role::...',
        'Dist::Zilla::Role::ModuleMetadata';
    use namespace::autoclean;
    sub your_method {
        my $self = shift;
        my $file = ...; # perhaps via the :InstallModules filefinder?
        my $version = $self->module_metadata_for_file->($file, collect_pod => 1)->version;
        ...
    }

This role provides some common utilities for Dist::Zilla plugins which use Module::Metadata and the information that it provides.

    my $mmd = $self->module_metadata_for_file($file, @options);

Given a dzil file object (anything that does Dist::Zilla::Role::File), this method returns a Module::Metadata object for that file's content. Any extra arguments are passed along to "new_from_handle" in Module::Metadata.

Internally, this method caches these objects. If multiple plugins want an object for the same file, this avoids reparsing it.

Module::Metadata

Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Role-ModuleMetadata> (or bug-Dist-Zilla-Role-ModuleMetadata@rt.cpan.org <mailto:bug-Dist-Zilla-Role-ModuleMetadata@rt.cpan.org>).

There is also a mailing list available for users of this distribution, at <http://dzil.org/#mailing-list>.

There is also an irc channel available for users of this distribution, at "#distzilla" on "irc.perl.org" <irc://irc.perl.org/#distzilla>.

I am also usually active on irc, as 'ether' at "irc.perl.org".

Karen Etheridge <ether@cpan.org>

This software is copyright (c) 2015 by Karen Etheridge.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2022-12-04 perl v5.36.0