NAME Dist::Zilla::Plugin::MetaProvides::Package - Extract namespaces/version from traditional packages for provides VERSION version 2.002000 SYNOPSIS In your "dist.ini": [MetaProvides::Package] inherit_version = 0 ; optional inherit_missing = 0 ; optional meta_noindex = 1 ; optional QUICK REFERENCE ->new(options={}) finder => ?attr A>finder # ArrayRef[Str] ->dumpconfig # HashRef ->has_finder # via finder ->mvp_multivalue_args # List ->provides A>_finder_objects # ArrayRef[FileFinder] A>_package_blacklist # HashRef[Str] ->_blacklist_contains # via _package_blacklist ( exists ) ->_build_finder_objects # for _finder_objects ->_found_files # ArrayRef[ File ] ->_packages_for(options=[]) # List[Record] 0 => $filename 1 => $content 2 => $encoding ->_vivify_installmodules_pm_finder # Plugin -~- Dist::Zilla::Role::MetaProvider::Provider ->new(options={}) inherit_version => ?attr inherit_missing => ?attr meta_noindex => ?attr [>] provides A>inherit_missing # Bool = 1 A>inherit_version # Bool = 1 A>meta_noindex # Bool = 1 ->dumpconfig # HashRef ->metadata # { provides => ... } ->_apply_meta_noindex(options=[]) # Modified @items 0..$# => @items ->_resolve_version(options=[]) # ( 'version' , $resolved ) 0 => $version # () # () ->_try_regen_meta # HashRef -~- Dist::Zilla::Role::MetaProvider [>] metadata -~- Dist::Zilla::Role::Plugin ->new(options={}) plugin_name => ^attr zilla => ^attr logger => ?attr A>logger # A>plugin_name # Str A>zilla # DZil ->log # via logger ->log_debug # via logger ->log_fatal # via logger ->mvp_multivalue_args # ArrayRef ->mvp_aliases # HashRef ->plugin_from_config(options=[]) # Instance 0 => $name 1 => $arg 2 => $section ->register_component(options=[]) 0 => $name 1 => $arg 2 => $section CONSUMED ROLES Dist::Zilla::Role::MetaProvider::Provider ROLE SATISFYING METHODS "provides" A conformant function to the Dist::Zilla::Role::MetaProvider::Provider Role. signature: $plugin->provides() returns: Array of Dist::Zilla::MetaProvides::ProvideRecord ATTRIBUTES "finder" This attribute, if specified will * Override the "FileFinder" used to find files containing packages * Inhibit autovivification of the ".pm" file finder This parameter may be specified multiple times to aggregate a list of finders PRIVATE ATTRIBUTES "_package_blacklist" "_finder_objects" PRIVATE METHODS "_packages_for" signature: $plugin->_packages_for( $filename, $file_content ) returns: Array of Dist::Zilla::MetaProvides::ProvideRecord "_vivify_installmodules_pm_finder" "_build_finder_objects" "_found_files" OPTIONS INHERITED FROM Dist::Zilla::Role::MetaProvider::Provider "inherit_version" How do you want existing versions ( Versions hard-coded into files before running this plug-in )to be processed? * DEFAULT: inherit_version = 1 Ignore anything you find in a file, and just probe "DZIL->version()" for a value. This is a sane default and most will want this. * inherit_version = 0 Use this option if you actually want to use hard-coded values in your files and use the versions parsed out of them. "inherit_missing" In the event you are using the aforementioned ""inherit_version" = 0", this determines how to behave when encountering a module with no version defined. * DEFAULT: inherit_missing = 1 When a module has no version, probe "DZIL->version()" for an answer. This is what you want if you want to have some files with fixed versions, and others to just automatically be maintained by Dist::Zilla. * inherit_missing = 0 When a module has no version, emit a versionless record in the final metadata. "meta_noindex" This is a utility for people who are also using "MetaNoIndex", so that its settings can be used to eliminate items from the 'provides' list. * meta_noindex = 0 By default, do nothing unusual. * DEFAULT: meta_noindex = 1 When a module meets the criteria provided to "MetaNoIndex", eliminate it from the metadata shipped to Dist::Zilla SEE ALSO * Dist::Zilla::Plugin::MetaProvides AUTHOR Kent Fredric COPYRIGHT AND LICENSE This software is copyright (c) 2014 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.