The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Dist::Zilla::Plugin::ReportVersions::Tiny - reports dependency versions during testing

VERSION

version 1.06

SYNOPSIS

In your dist.ini, include [ReportVersions::Tiny] to load the plugin.

DESCRIPTION

This module integrates with Dist::Zilla to automatically add an additional test to your released software. Rather than testing features of the software, this reports the versions of all static module dependencies, and of Perl, at the time the tests are run.

The value of this is that when someone submits a test failure report you can see which versions of the modules were installed and, hopefully, be able to reproduce problems that are dependent on a specific set of module versions.

Differences from Dist::Zilla::Plugin::ReportVersions

This module has the same goal as Dist::Zilla::Plugin::ReportVersions, but takes a much lighter weight approach: the module that inspired my code bundles a copy of YAML::Tiny, reads META.yml, then reports from that.

This gives the most accurate picture, since any requirements added at install time will be detected, but is overkill for the vast majority of modules that use a simple, static list of dependencies.

This module, rather, generates the list of modules to test at the time the distribution is being built, and reports from that static list.

The biggest advantage of this is that I no longer have to bundle a large volume of code that isn't really needed, and have a simpler test suite with less places that things can go wrong.

ARGUMENTS

exclude

Exclude an individual items from version reporting.

This is most commonly required if some module otherwise interferes with the normal operation of the tests, such as Module::Install, which does not behave as you might expect if normally used.

include
  [ReportVersions::Tiny]
  include = JSON:PP 2.27103
  include = Path::Class
  include = Some::Thing = 1.1

Include extra modules in version reporting. This can be specified multiple times. The module name and version can be separated by spaces (and/or an equal sign). If no version is specified "0" will be used.

This can be useful to help track down issues in installation or testing environments. Perhaps a module used by one of your prereqs is broken and/or has a missing (or insufficient) dependency. You can use this option to specify multiple extra modules whose versions you would like reported. They aren't modules that you need to declare as prerequisites since you don't use them directly, but you've found installation issues and it would be nice to show which version (if any) is in fact installed.

This option is inspired by advice from Andreas J. König (ANDK) who suggested adding a list of "interesting modules" to the Makefile.PL and checking their version so that the test reports can show which version (if any) is in fact installed (see the CPAN dist for an example).

AUTHORS

Maintainer since 1.04: Olivier Mengué mailto:dolmen@cpan.org.

Original author: Daniel Pittman <daniel@rimspace.net>.

Contributors:

Kent Fredric
Randy Stauner

COPYRIGHT AND LICENSE

Copyright 2012 by Olivier Mengué mailto:dolmen@cpan.org All Rights Reserved.

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