NAME Dist::Zilla::Plugin::MetaData::BuiltWith - Report what versions of things your distribution was built against VERSION version 1.004000 SYNOPSIS [MetaData::BuiltWith] include = Some::Module::Thats::Not::In::Preq exclude = Some::Module::Youre::Ashamed::Of show_uname = 1 ; default is 0 show_config = 1 ; default is 0 uname_call = uname ; the default uname_args = -s -r -m -p ; the default is -a use_external_file = only ; the default is undef DESCRIPTION Often, distribution authors get module dependencies wrong. So in such cases, its handy to be able to see what version of various packages they built with. Some would prefer to demand everyone install the same version as they did, but that's also not always necessary. Hopefully, the existence of the metadata provided by this module will help users on their end machines make intelligent choices about what modules to install in the event of a problem. OPTIONS exclude Specify modules to exclude from version reporting exclude = Foo exclude = Bar include Specify additional modules to include the version of include = Foo include = Bar show_config Report "interesting" values from %Config::Config show_config = 1 ; Boolean show_uname Report the output from uname show_uname = 1 ; Boolean uname_call Specify what the system uname function is called uname_call = uname ; String uname_args Specify arguments passed to the uname call. uname_args = -a ; String use_external_file This option regulates the optional output to an isolated file. An external file will be created as long as this value is a true value. use_external_file = 1 If this true value is the string only, then it won't also be exported to META.yml/META.json use_external_file = only NOTE: This will still leave an x_BuiltWith section in your META.*, however, its much less fragile and will simply be: x_BuiltWith: { external_file: "your/path/here" } This is mostly a compatibility pointer so any tools traversing a distributions history will know where and when to change behavior. external_file_name This option controls what the external file will be called in conjunction with use_external_file Default value is: misc/built_with.json Extensions: .json => JSON is used. .yml => YAML is used (untested) .yaml => YAML is used (untested) METHODS mvp_multivalue_args This module can take, as parameters, any volume of 'exclude' or 'include' arguments. munge_files This module scrapes together the name of all modules that exist in the "Prereqs" section that Dist::Zilla collects, and then works out what version of things you have, applies the various include/exclude rules, and ships that data back to Dist::Zilla via this method. See Dist::Zilla's MetaProvider role for more details. EXAMPLE OUTPUT ( META.json ) "x_BuiltWith" : { "modules" : { "Dist::Zilla::Role::MetaProvider" : "4.101612", "File::Find" : "1.15", "File::Temp" : "0.22", "Module::Build" : "0.3607", "Moose" : "1.07", "Test::More" : "0.94" }, "perl" : "5.012000", "platform" : "MSWin32" }, 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.