.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Dist::Zilla::Plugin::MetaProvides 3pm" .TH Dist::Zilla::Plugin::MetaProvides 3pm "2022-06-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Dist::Zilla::Plugin::MetaProvides \- Generating and Populating 'provides' in your META.yml .SH "VERSION" .IX Header "VERSION" version 2.002004 .SH "SYNOPSIS" .IX Header "SYNOPSIS" This module is not intended to be used directly, but instead, one of the following sub-modules should be used in your projects dist.ini .PP The most common usage should find .PP .Vb 1 \& [MetaProvides::Package] .Ve .PP Sufficient for indexing traditional Perl5 modules. .PP Advanced Usage: .PP .Vb 5 \& ; Traditional Perl5 Modules \& [MetaProvides::Package] \& inherit_version = 1 ; Default \& inherit_missing = 1 ; Default \& meta_noindex = 1 ; Default \& \& ; If using MooseX::Declare style "class" keywords. \& ; Default configuration shown \& [MetaProvides::Class] \& inherit_version = 1 ; Default \& inherit_missing = 1 ; Default \& meta_noindex = 1 ; Default \& \& ; Hand Constructed Provides in an external file \& [MetaProvides::FromFile] \& inherit_version = 1 ; Default \& inherit_missing = 1 ; Default \& \& file = some_file.ini ; mandatory flag \& reader_name = Config::INI::Reader ;optional flag .Ve .PP And then in some_file.ini .PP .Vb 3 \& [Imaginary::Package] \& file = lib/Imaginary/Package.pm ;mandatory flag \& version = 3.1415 ;optional flag, subject to rules in dist.ini .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This Distribution Contains a small bundle of plugins for various ways of populating the \f(CW\*(C`META.yml\*(C'\fR that is built with your distribution. .PP The initial reason for this is due to stuff that uses MooseX::Declare style class definitions not being parseable by many tools upstream, so this is here to cover this problem by defining it in the metadata. .SH "COMPONENT SUMMARY" .IX Header "COMPONENT SUMMARY" .ie n .SS """::Class""" .el .SS "\f(CW::Class\fP" .IX Subsection "::Class" Scans Dist::Zilla's \f(CW\*(C`.pm\*(C'\fR files and tries to identify classes using Class::Discover. .PP Dist::Zilla::Plugin::MetaProvides::Class .ie n .SS """::Package""" .el .SS "\f(CW::Package\fP" .IX Subsection "::Package" Scans Dist::Zilla's \f(CW\*(C`.pm\*(C'\fR files and tries to identify more traditional packages using a combination of Module::Extract::VERSION and Module::Extract::Namespaces. .PP Dist::Zilla::Plugin::MetaProvides::Package .ie n .SS """::FromFile""" .el .SS "\f(CW::FromFile\fP" .IX Subsection "::FromFile" In the event both of the above don't work for your needs, pull in hand-crafted metadata from a specified file. .PP Dist::Zilla::Plugin::MetaProvides::FromFile .SH "OPTION SUMMARY" .IX Header "OPTION SUMMARY" .ie n .SS """inherit_version""" .el .SS "\f(CWinherit_version\fP" .IX Subsection "inherit_version" At the time this plugin runs to collect metadata from files, the mungers won't have run yet to inject custom versions into files in the various locations. .PP If you want the versions reported in the \f(CW\*(C`provides\*(C'\fR list to be consistent with the ones actually in the files, you will need to use this option in its enabled state. .PP \&\s-1IE:\s0 Generally, if you are using version munging, you \fB\s-1WILL\s0\fR want this flag set to \f(CW1\fR. .PP \fI\f(CI\*(C`values\*(C'\fI\fR .IX Subsection "values" .IP "\(bu" 4 \&\f(CW\*(Aq0\*(Aq\fR .Sp Do not inherit version from \f(CW\*(C`Dist::Zilla\*(C'\fR .IP "\(bu" 4 \&\f(CW\*(Aq1\*(Aq\fR \fB[default]\fR .Sp Inherit version from Dist::Zilla .PP \&\*(L"inherit_version\*(R" in Dist::Zilla::Role::MetaProvider::Provider .ie n .SS """inherit_missing""" .el .SS "\f(CWinherit_missing\fP" .IX Subsection "inherit_missing" If for whatever reason you want to actually use the versions found in the modules where present, and fall back to the value from Dist::Zilla. .PP \&\f(CW\*(C`inherit_version\*(C'\fR will need to be turned off (\f(CW0\fR) for this to be effective. .PP \fIvalues\fR .IX Subsection "values" .IP "\(bu" 4 \&\f(CW\*(Aq0\*(Aq\fR .Sp Do not inherit version from \f(CW\*(C`Dist::Zilla\*(C'\fR when one is missing. .IP "\(bu" 4 \&\f(CW\*(Aq1\*(Aq\fR \fB[default]\fR .Sp Inherit version from Dist::Zilla when one is missing. .PP \&\*(L"inhert_missing\*(R" in Dist::Zilla::Role::MetaProvider::Provider .ie n .SS """meta_noindex""" .el .SS "\f(CWmeta_noindex\fP" .IX Subsection "meta_noindex" This dictates how to behave when a discovered class is also present in the \f(CW\*(C`no_index\*(C'\fR \s-1META\s0 field. .PP \fIvalues\fR .IX Subsection "values" .IP "\(bu" 4 \&\f(CW\*(Aq0\*(Aq\fR \fB[default]\fR .Sp \&\f(CW\*(C`no_index\*(C'\fR \s-1META\s0 field will be ignored .IP "\(bu" 4 \&\f(CW\*(Aq1\*(Aq\fR .Sp \&\f(CW\*(C`no_index\*(C'\fR \s-1META\s0 field will be recognised and things found in it will cause respective packages to not be provided in the metadata. .PP \&\*(L"meta_noindex\*(R" in Dist::Zilla::Role::MetaProvider::Provider .ie n .SS """file""" .el .SS "\f(CWfile\fP" .IX Subsection "file" ( Dist::Zilla::Plugin::MetaProvides::FromFile ) .PP This is a mandatory parameter that points to the file that contains manually ( or otherwise ) crafted metadata to be integrated into your final \s-1META\s0.yml .PP File Must exist. .ie n .SS """reader_name""" .el .SS "\f(CWreader_name\fP" .IX Subsection "reader_name" ( Dist::Zilla::Plugin::MetaProvides::FromFile ) .PP This parameter is by default Config::INI::Reader, but it can be in fact anything that meets the following criteria. .IP "\(bu" 4 Can be initialized an instance of .IP "\(bu" 4 has a read_file method on the instance .IP "\(bu" 4 read_file can take the parameter 'file' .IP "\(bu" 4 read_file can return a hashref matching the following structure .Sp .Vb 4 \& { \*(AqPackage::Name\*(Aq => { \& \*(Aqfile\*(Aq => \*(Aq/path/to/file\*(Aq, \& \*(Aqversion\*(Aq => 0.1, \& }} .Ve .SH "AUTHOR" .IX Header "AUTHOR" Kent Fredric .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2017 by Kent Fredric . .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.