Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kentnl/dist-zilla-plugin-metadata-builtwith

Report what versions of things your distribution was built against
https://github.com/kentnl/dist-zilla-plugin-metadata-builtwith

dist-zilla perl

Last synced: 26 days ago
JSON representation

Report what versions of things your distribution was built against

Awesome Lists containing this project

README

        

# NAME

Dist::Zilla::Plugin::MetaData::BuiltWith - Report what versions of things your distribution was built against

# VERSION

version 1.004006

# 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

This module provides extra metadata in your distribution, automatically documenting what versions of dependencies the author was
using at the time of release.

This allows consumers of said distributions to be able to see a range of versions that are "known good" should they experience
problems.

# 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](https://metacpan.org/pod/Dist::Zilla::Role::MetaProvider) 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) 2017 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.