NAME

Dist::Zilla::Plugin::VerifyPhases - Compare data and files at different phases of the distribution build process

VERSION

version 0.016

SYNOPSIS

At the end of your dist.ini:

[VerifyPhases]

DESCRIPTION

This plugin runs in multiple Dist::Zilla phases to check what actions have taken place so far. Its intent is to find any plugins that are performing actions outside the appropriate phase, so they can be fixed.

Running at the end of the -FileGatherer phase, it verifies that the following distribution properties have not yet been populated/calculated, as they usually depend on having the full complement of files added to the distribution, with known encodings:

  • name

  • version

  • release_status

  • abstract

  • main_module

  • license

  • authors

  • metadata

Running at the end of the -EncodingProvider phase, it forces all encodings to be built (by calling their lazy builders), to use their SetOnce property to ensure that no subsequent phase attempts to alter a file encoding.

Running at the end of the -FilePruner phase, it verifies that no additional files have been added to the distribution, nor renamed, since the -FileGatherer phase.

Running at the end of the -FileMunger phase, it verifies that no additional files have been added to nor removed from the distribution, nor renamed, since the -FilePruner phase; and that no prerequisites have yet been provided. Additionally, it verifies that the prerequisite list has not yet been read from, when possible.

Running at the end of the -AfterBuild phase, the full state of all files are checked: files may not be added, removed, renamed nor had their content change. Additionally, it verifies that no distribution metadata (with the exception of prerequisites) has changed since the end of the -FileMunger phase.

Currently, FromCode files are not checked for content, as interesting side effects can occur if their content subs are run before all content is available (for example, other lazy builders can run too early, resulting in incomplete or missing data).

SEE ALSO

SUPPORT

Bugs may be submitted through the RT bug tracker (or bug-Dist-Zilla-Plugin-VerifyPhases@rt.cpan.org).

There is also a mailing list available for users of this distribution, at http://dzil.org/#mailing-list.

There is also an irc channel available for users of this distribution, at #distzilla on irc.perl.org.

I am also usually active on irc, as 'ether' at irc.perl.org.

AUTHOR

Karen Etheridge <ether@cpan.org>

COPYRIGHT AND LICENCE

This software is copyright (c) 2014 by Karen Etheridge.

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