[libdist-zilla-plugin-run-perl] 01/05: Imported Upstream version 0.022

gregor herrmann gregoa at debian.org
Fri Jul 25 18:55:46 UTC 2014


This is an automated email from the git hooks/post-receive script.

gregoa pushed a commit to branch master
in repository libdist-zilla-plugin-run-perl.

commit 1511c13e196a4caf8ac637e1bd4397d95ec41d2a
Author: gregor herrmann <gregoa at debian.org>
Date:   Fri Jul 25 20:47:29 2014 +0200

    Imported Upstream version 0.022
---
 Build.PL                                   | 132 +++++
 CONTRIBUTING                               |  88 ++++
 Changes                                    |  13 +-
 INSTALL                                    |  44 ++
 LICENSE                                    |   2 +-
 MANIFEST                                   |  23 +-
 META.json                                  | 810 +++++++++++++++++++++++------
 META.yml                                   | 637 +++++++++++++++++------
 Makefile.PL                                | 126 ++++-
 README                                     |   4 +-
 lib/Dist/Zilla/Plugin/Run.pm => README.pod |  52 +-
 dist.ini                                   |  63 +--
 lib/Dist/Zilla/Plugin/Run.pm               | 125 ++++-
 lib/Dist/Zilla/Plugin/Run/AfterBuild.pm    |  33 +-
 lib/Dist/Zilla/Plugin/Run/AfterMint.pm     |  21 +-
 lib/Dist/Zilla/Plugin/Run/AfterRelease.pm  |  36 +-
 lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm   |  32 +-
 lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm |  35 +-
 lib/Dist/Zilla/Plugin/Run/Release.pm       |  37 +-
 lib/Dist/Zilla/Plugin/Run/Role/Runner.pm   |  17 +-
 lib/Dist/Zilla/Plugin/Run/Test.pm          |  40 +-
 t/00-report-prereqs.dd                     |  93 ++++
 t/00-report-prereqs.t                      | 164 ++++++
 t/40_test_phase.t                          |   8 +-
 t/release-pod-syntax.t                     |  14 -
 test_data/all_phases/lib/Digest/MD5.js     |   2 +-
 test_data/build_phase/lib/Digest/MD5.js    |   2 +-
 test_data/test_phase/lib/Digest/MD5.js     |   2 +-
 weaver.ini                                 |   6 +
 xt/author/00-compile.t                     |  58 +++
 xt/author/pod-spell.t                      |  51 ++
 xt/release/changes_has_content.t           |  41 ++
 xt/release/clean-namespaces.t              |  11 +
 xt/release/cpan-changes.t                  |  11 +
 xt/release/distmeta.t                      |   6 +
 xt/release/eol.t                           |   8 +
 xt/release/kwalitee.t                      |   4 +
 xt/release/minimum-version.t               |   8 +
 xt/release/mojibake.t                      |  12 +
 xt/release/no-tabs.t                       |  43 ++
 xt/release/pod-syntax.t                    |   6 +
 xt/release/portability.t                   |  11 +
 42 files changed, 2478 insertions(+), 453 deletions(-)

diff --git a/Build.PL b/Build.PL
new file mode 100644
index 0000000..e3a334f
--- /dev/null
+++ b/Build.PL
@@ -0,0 +1,132 @@
+# This Build.PL for Dist-Zilla-Plugin-Run was generated by
+# Dist::Zilla::Plugin::ModuleBuildTiny::Fallback 0.005
+if (eval 'use Module::Build::Tiny 0.036; 1')
+{
+    print "Congratulations, your toolchain understands 'configure_requires'!\n\n";
+
+    # This section for Dist-Zilla-Plugin-Run was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.006.
+    use 5.006;
+    # use Module::Build::Tiny 0.036;
+    Build_PL();
+}
+else
+{
+    $ENV{PERL_MB_FALLBACK_SILENCE_WARNING} or warn <<'EOW';
+*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***
+
+If you're seeing this warning, your toolchain is really, really old* and you'll
+almost certainly have problems installing CPAN modules from this century. But
+never fear, dear user, for we have the technology to fix this!
+
+If you're using CPAN.pm to install things, then you can upgrade it using:
+
+    cpan CPAN
+
+If you're using CPANPLUS to install things, then you can upgrade it using:
+
+    cpanp CPANPLUS
+
+If you're using cpanminus, you shouldn't be seeing this message in the first
+place, so please file an issue on github.
+
+This public service announcement was brought to you by the Perl Toolchain
+Gang, the irc.perl.org #toolchain IRC channel, and the number 42.
+
+----
+
+* Alternatively, you are running this file manually, in which case you need
+to learn to first fulfill all configure requires prerequisites listed in
+META.yml or META.json -- or use a cpan client to install this distribution.
+
+You can also silence this warning for future installations by setting the
+PERL_MB_FALLBACK_SILENCE_WARNING environment variable, but please don't do
+that until you fix your toolchain as described above.
+
+EOW
+    sleep 10 if -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));
+
+
+    # This section was automatically generated by Dist::Zilla::Plugin::ModuleBuild v5.019.
+    use strict;
+    use warnings;
+
+    require Module::Build; Module::Build->VERSION(0.28);
+
+
+    my %module_build_args = (
+      "build_requires" => {},
+      "configure_requires" => {
+        "ExtUtils::MakeMaker" => "6.30",
+        "Module::Build::Tiny" => "0.036"
+      },
+      "dist_abstract" => "Run external commands at specific phases of Dist::Zilla",
+      "dist_author" => [
+        "Torsten Raudssus <torsten\@raudss.us> L<https://raudss.us/>"
+      ],
+      "dist_name" => "Dist-Zilla-Plugin-Run",
+      "dist_version" => "0.022",
+      "license" => "perl",
+      "module_name" => "Dist::Zilla::Plugin::Run",
+      "recommends" => {},
+      "recursive_test_files" => 1,
+      "requires" => {
+        "Dist::Zilla::Role::AfterBuild" => 0,
+        "Dist::Zilla::Role::AfterMint" => 0,
+        "Dist::Zilla::Role::AfterRelease" => 0,
+        "Dist::Zilla::Role::BeforeBuild" => 0,
+        "Dist::Zilla::Role::BeforeRelease" => 0,
+        "Dist::Zilla::Role::Releaser" => 0,
+        "Dist::Zilla::Role::TestRunner" => 0,
+        "File::Spec" => 0,
+        "IPC::Open3" => 0,
+        "Moose" => 0,
+        "Moose::Role" => 0,
+        "String::Formatter" => "0.102082",
+        "namespace::autoclean" => 0,
+        "perl" => "5.006",
+        "strict" => 0,
+        "warnings" => 0
+      },
+      "script_files" => [],
+      "test_requires" => {
+        "Dist::Zilla::Tester" => 0,
+        "ExtUtils::MakeMaker" => 0,
+        "File::Spec" => 0,
+        "File::Spec::Functions" => 0,
+        "List::Util" => 0,
+        "Path::Class" => 0,
+        "Scalar::Util" => 0,
+        "Test::DZil" => 0,
+        "Test::File::ShareDir" => 0,
+        "Test::More" => "0.88",
+        "lib" => 0,
+        "version" => "0.77"
+      }
+    );
+
+
+    my %fallback_build_requires = (
+      "Dist::Zilla::Tester" => 0,
+      "ExtUtils::MakeMaker" => 0,
+      "File::Spec" => 0,
+      "File::Spec::Functions" => 0,
+      "List::Util" => 0,
+      "Path::Class" => 0,
+      "Scalar::Util" => 0,
+      "Test::DZil" => 0,
+      "Test::File::ShareDir" => 0,
+      "Test::More" => "0.88",
+      "lib" => 0,
+      "version" => "0.77"
+    );
+
+
+    unless ( eval { Module::Build->VERSION(0.4004) } ) {
+      delete $module_build_args{test_requires};
+      $module_build_args{build_requires} = \%fallback_build_requires;
+    }
+
+    my $build = Module::Build->new(%module_build_args);
+
+    $build->create_build_script;
+}
diff --git a/CONTRIBUTING b/CONTRIBUTING
new file mode 100644
index 0000000..e3793de
--- /dev/null
+++ b/CONTRIBUTING
@@ -0,0 +1,88 @@
+
+CONTRIBUTING
+
+Thank you for considering contributing to this distribution.  This file
+contains instructions that will help you work with the source code.
+
+The distribution is managed with Dist::Zilla (https://metacpan.org/release/Dist-Zilla).
+This means than many of the usual files you might expect are not in the
+repository, but are generated at release time (e.g. Makefile.PL).
+
+However, you can run tests directly using the 'prove' tool:
+
+  $ prove -l
+  $ prove -lv t/some_test_file.t
+  $ prove -lvr t/
+
+In most cases, 'prove' is entirely sufficent for you to test any
+patches you have.
+
+You may need to satisfy some dependencies.  The easiest way to satisfy
+dependencies is to install the last release -- this is available at
+https://metacpan.org/release/Dist-Zilla-Plugin-Run.
+
+If you use cpanminus, you can do it without downloading the tarball first:
+
+  $ cpanm --reinstall --installdeps --with-recommends Dist::Zilla::Plugin::Run
+
+Dist::Zilla is a very powerful authoring tool, but requires a number of
+author-specific plugins.  If you would like to use it for contributing,
+install it from CPAN, then run one of the following commands, depending on
+your CPAN client:
+
+  $ cpan `dzil authordeps --missing`
+or
+  $ dzil authordeps --missing | cpanm
+
+You should then also install any additional requirements not needed by the
+dzil build but may be needed by tests or other development:
+
+  $ cpan `dzil listdeps --author --missing`
+or
+  $ dzil listdeps --author --missing | cpanm
+
+Or, you can use the 'dzil stale' command to install all requirements at once:
+
+  $ cpan Dist::Zilla::App::Command::stale
+  $ cpan `dzil stale --all`
+or
+  $ cpanm Dist::Zilla::App::Command::stale
+  $ dzil stale --all | cpanm
+
+You can also do this via cpanm directly:
+
+  $ cpanm --reinstall --installdeps --with-develop --with-recommends Dist::Zilla::Plugin::Run
+
+Once installed, here are some dzil commands you might try:
+
+  $ dzil build
+  $ dzil test
+  $ dzil test --release
+  $ dzil xtest
+  $ dzil listdeps --json
+  $ dzil build --notgz
+
+You can learn more about Dist::Zilla at http://dzil.org/.
+
+The code for this distribution is hosted at GitHub. The repository is:
+https://github.com/Getty/p5-dist-zilla-plugin-run
+You can submit code changes by forking the repository, pushing your code
+changes to your clone, and then submitting a pull request. Detailed
+instructions for doing that is available here:
+
+https://help.github.com/
+https://help.github.com/articles/creating-a-pull-request
+
+If you have found a bug, but do not have an accompanying patch to fix it, you
+can submit an issue report here:
+https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Run
+or via bug-Dist-Zilla-Plugin-Run at 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
+irc://irc.perl.org/#distzilla.
+
+
+This file was generated via Dist::Zilla::Plugin::GenerateFile::ShareDir 0.005 from a
+template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.066.
diff --git a/Changes b/Changes
index b12ba23..b36b608 100644
--- a/Changes
+++ b/Changes
@@ -1,7 +1,12 @@
 Revision history for Dist-Zilla-Plugin-Run
 
+0.022     2014-07-24 15:36:32Z
+  - more complete metadata and author tests
+
 0.021     2014-02-23 15:31:47-08:00 America/Vancouver
   - Lazy load runtime dependencies. Thanks Olivier Mengué!
+  - unroll author pluginbundle, to remove some unneeded and broken
+    prerequisites
 
 0.020     2013-04-21 02:02:21 Europe/Berlin
   - Switching to [@Author::GETTY] dzil bundle
@@ -73,19 +78,19 @@ Revision history for Dist-Zilla-Plugin-Run
     Retain positional %s for backward compatibility. (RWSTAUNER)
 
 0.006     2011-05-21 02:58:17 Europe/Berlin
-	- Fixed wrong bangpath
+    - Fixed wrong bangpath
 
 0.005     2011-04-29 22:54:18 Europe/Berlin
 
 0.005     2011-01-21 13:21:08 Europe/Moscow
 
 0.004     2010-12-14 21:19:54 Europe/Berlin
-	- Minimal pod changes
+    - Minimal pod changes
 
 0.003     2010-12-14 03:18:00 Europe/Berlin
-	- Complete Change of API
+    - Complete Change of API
 
 0.002     2010-12-13 18:07:27 Europe/Berlin
 
 0.001     2010-12-12 04:14:54 Europe/Berlin
-	- First release
+    - First release
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..e2b734b
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,44 @@
+
+This is the Perl distribution Dist-Zilla-Plugin-Run.
+
+Installing Dist-Zilla-Plugin-Run is straightforward.
+
+## Installation with cpanm
+
+If you have cpanm, you only need one line:
+
+    % cpanm Dist::Zilla::Plugin::Run
+
+If you are installing into a system-wide directory, you may need to pass the
+"-S" flag to cpanm, which uses sudo to install the module:
+
+    % cpanm -S Dist::Zilla::Plugin::Run
+
+## Installing with the CPAN shell
+
+Alternatively, if your CPAN shell is set up, you should just be able to do:
+
+    % cpan Dist::Zilla::Plugin::Run
+
+## Manual installation
+
+As a last resort, you can manually install it. Download the tarball, untar it,
+then build it:
+
+    % perl Build.PL
+    % ./Build && ./Build test
+
+Then install it:
+
+    % ./Build install
+
+If you are installing into a system-wide directory, you may need to run:
+
+    % sudo ./Build install
+
+## Documentation
+
+Dist-Zilla-Plugin-Run documentation is available as POD.
+You can run perldoc from a shell to read the documentation:
+
+    % perldoc Dist::Zilla::Plugin::Run
diff --git a/LICENSE b/LICENSE
index e3e2644..e42430f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -22,7 +22,7 @@ This is free software, licensed under:
                      Version 1, February 1989
 
  Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA  02110-1335  USA
+ 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
diff --git a/MANIFEST b/MANIFEST
index 98e82f7..861f21d 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,11 +1,15 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.013.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.019.
+Build.PL
+CONTRIBUTING
 Changes
+INSTALL
 LICENSE
 MANIFEST
 META.json
 META.yml
 Makefile.PL
 README
+README.pod
 dist.ini
 lib/Dist/Zilla/Plugin/Run.pm
 lib/Dist/Zilla/Plugin/Run/AfterBuild.pm
@@ -17,12 +21,13 @@ lib/Dist/Zilla/Plugin/Run/Release.pm
 lib/Dist/Zilla/Plugin/Run/Role/Runner.pm
 lib/Dist/Zilla/Plugin/Run/Test.pm
 t/00-load.t
+t/00-report-prereqs.dd
+t/00-report-prereqs.t
 t/10_build_phase.t
 t/20_formatter.t
 t/30_all_phases.t
 t/40_test_phase.t
 t/50_mint.t
-t/release-pod-syntax.t
 test_data/all_phases/dist.ini
 test_data/all_phases/lib/Digest/MD5.js
 test_data/all_phases/script/run.pl
@@ -36,3 +41,17 @@ test_data/profiles/default/profile.ini
 test_data/test_phase/dist.ini
 test_data/test_phase/lib/Digest/MD5.js
 test_data/test_phase/script/test.pl
+weaver.ini
+xt/author/00-compile.t
+xt/author/pod-spell.t
+xt/release/changes_has_content.t
+xt/release/clean-namespaces.t
+xt/release/cpan-changes.t
+xt/release/distmeta.t
+xt/release/eol.t
+xt/release/kwalitee.t
+xt/release/minimum-version.t
+xt/release/mojibake.t
+xt/release/no-tabs.t
+xt/release/pod-syntax.t
+xt/release/portability.t
diff --git a/META.json b/META.json
index ea75cb7..f79e0cc 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
       "Torsten Raudssus <torsten at raudss.us> L<https://raudss.us/>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.133380",
+   "generated_by" : "Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141520",
    "license" : [
       "perl_5"
    ],
@@ -13,184 +13,404 @@
       "version" : "2"
    },
    "name" : "Dist-Zilla-Plugin-Run",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "xt"
+      ]
+   },
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.30"
+            "ExtUtils::MakeMaker" : "6.30",
+            "Module::Build::Tiny" : "0.036"
          }
       },
       "develop" : {
+         "recommends" : {
+            "Dist::Zilla::PluginBundle::Author::ETHER" : "0.066"
+         },
          "requires" : {
-            "Test::Pod" : "1.41"
+            "Dist::Zilla" : "5",
+            "Dist::Zilla::Plugin::Bootstrap::lib" : "0",
+            "Dist::Zilla::Plugin::ContributorsFromGit" : "0",
+            "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch" : "0.004",
+            "Dist::Zilla::Plugin::Git::Commit" : "2.020",
+            "Dist::Zilla::Plugin::Git::GatherDir" : "2.016",
+            "Dist::Zilla::Plugin::GitHub::Update" : "0",
+            "Dist::Zilla::Plugin::GithubMeta" : "0",
+            "Dist::Zilla::Plugin::Keywords" : "0.004",
+            "Dist::Zilla::Plugin::MakeMaker::Fallback" : "0.008",
+            "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000002",
+            "Dist::Zilla::Plugin::MetaResources" : "0",
+            "Dist::Zilla::Plugin::ModuleBuildTiny::Fallback" : "0.005",
+            "Dist::Zilla::Plugin::NextRelease" : "4.300018",
+            "Dist::Zilla::Plugin::PkgVersion" : "5.010",
+            "Dist::Zilla::Plugin::Run::AfterBuild" : "0",
+            "Dist::Zilla::Plugin::Run::AfterRelease" : "0",
+            "Dist::Zilla::Plugin::RunExtraTests" : "0.019",
+            "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.008",
+            "Dist::Zilla::Plugin::Test::CleanNamespaces" : "0",
+            "Dist::Zilla::Plugin::Test::Compile" : "2.039",
+            "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000003",
+            "Dist::Zilla::PluginBundle::Author::ETHER" : "0.065",
+            "File::Spec" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
+            "Pod::Weaver::Section::Contributors" : "0",
+            "Test::CPAN::Changes" : "0.19",
+            "Test::CPAN::Meta" : "0",
+            "Test::CleanNamespaces" : "0.13",
+            "Test::Kwalitee" : "1.12",
+            "Test::More" : "0.94",
+            "Test::NoTabs" : "0",
+            "Test::Pod" : "1.41",
+            "Test::Spelling" : "0.12"
          }
       },
       "runtime" : {
          "requires" : {
-            "Config" : "0",
-            "Dist::Zilla" : "4.200002",
+            "Dist::Zilla::Role::AfterBuild" : "0",
+            "Dist::Zilla::Role::AfterMint" : "0",
+            "Dist::Zilla::Role::AfterRelease" : "0",
+            "Dist::Zilla::Role::BeforeBuild" : "0",
+            "Dist::Zilla::Role::BeforeRelease" : "0",
+            "Dist::Zilla::Role::Releaser" : "0",
+            "Dist::Zilla::Role::TestRunner" : "0",
             "File::Spec" : "0",
             "IPC::Open3" : "0",
-            "Moose" : "1.15",
-            "Path::Class" : "0.16",
+            "Moose" : "0",
+            "Moose::Role" : "0",
             "String::Formatter" : "0.102082",
-            "Test::DZil" : "4.200002",
-            "Test::File::ShareDir" : "0",
-            "namespace::autoclean" : "0.11"
+            "namespace::autoclean" : "0",
+            "perl" : "5.006",
+            "strict" : "0",
+            "warnings" : "0"
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "0",
+            "CPAN::Meta::Prereqs" : "0",
+            "CPAN::Meta::Requirements" : "2.120900"
+         },
          "requires" : {
-            "Test::More" : "0.88"
+            "Dist::Zilla::Tester" : "0",
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec" : "0",
+            "File::Spec::Functions" : "0",
+            "List::Util" : "0",
+            "Path::Class" : "0",
+            "Scalar::Util" : "0",
+            "Test::DZil" : "0",
+            "Test::File::ShareDir" : "0",
+            "Test::More" : "0.88",
+            "lib" : "0",
+            "version" : "0.77"
          }
       }
    },
+   "provides" : {
+      "Dist::Zilla::Plugin::Run" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::AfterBuild" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/AfterBuild.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::AfterMint" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/AfterMint.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::AfterRelease" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/AfterRelease.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::BeforeBuild" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::BeforeRelease" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::Release" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/Release.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::Role::Runner" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/Role/Runner.pm",
+         "version" : "0.022"
+      },
+      "Dist::Zilla::Plugin::Run::Test" : {
+         "file" : "lib/Dist/Zilla/Plugin/Run/Test.pm",
+         "version" : "0.022"
+      }
+   },
    "release_status" : "stable",
    "resources" : {
+      "bugtracker" : {
+         "mailto" : "bug-Dist-Zilla-Plugin-Run at rt.cpan.org",
+         "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Run"
+      },
       "homepage" : "https://github.com/Getty/p5-dist-zilla-plugin-run",
       "repository" : {
          "type" : "git",
          "url" : "https://github.com/Getty/p5-dist-zilla-plugin-run.git",
          "web" : "https://github.com/Getty/p5-dist-zilla-plugin-run"
-      }
+      },
+      "x_IRC" : "irc://irc.perl.org/#distzilla",
+      "x_MailingList" : "http://dzil.org/#mailing-list"
    },
-   "version" : "0.021",
+   "version" : "0.022",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.019008"
+         "version" : "5.021001"
       },
       "plugins" : [
          {
-            "class" : "Dist::Zilla::Plugin::GatherDir",
-            "name" : "@Basic/GatherDir",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Bootstrap::lib",
+            "config" : {
+               "Dist::Zilla::Role::Bootstrap" : {
+                  "distname" : "Dist-Zilla-Plugin-Run",
+                  "fallback" : "1",
+                  "try_built" : null,
+                  "try_built_method" : "mtime"
+               }
+            },
+            "name" : "Bootstrap::lib",
+            "version" : "1.000003"
          },
          {
-            "class" : "Dist::Zilla::Plugin::PruneCruft",
-            "name" : "@Basic/PruneCruft",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::NextVersion" : {
+                  "first_version" : "0.001",
+                  "version_by_branch" : "0",
+                  "version_regexp" : "(?^u:^([0-9]+\\.[0-9]+)$)"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/Git::NextVersion",
+            "version" : "2.023"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::EnsurePrereqsInstalled",
+            "name" : "@Author::ETHER/EnsurePrereqsInstalled",
+            "version" : "0.005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : 0,
+                  "check_all_prereqs" : 0,
+                  "modules" : [
+                     "Dist::Zilla::PluginBundle::Author::ETHER"
+                  ],
+                  "phase" : "build",
+                  "skip" : []
+               }
+            },
+            "name" : "@Author::ETHER/stale modules, build",
+            "version" : "0.024"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : "1",
+                  "check_all_prereqs" : "1",
+                  "modules" : [],
+                  "phase" : "release",
+                  "skip" : []
+               }
+            },
+            "name" : "@Author::ETHER/stale modules, release",
+            "version" : "0.024"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ExecDir",
+            "name" : "@Author::ETHER/ExecDir",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ShareDir",
+            "name" : "@Author::ETHER/ShareDir",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FileFinder::ByName",
+            "name" : "@Author::ETHER/Examples",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FileFinder::ByName",
+            "name" : "@Author::ETHER/ExtraTestFiles",
+            "version" : "5.019"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ManifestSkip",
-            "name" : "@Basic/ManifestSkip",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Git::GatherDir",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::GatherDir" : {
+                  "include_untracked" : "0"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/Git::GatherDir",
+            "version" : "2.023"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
-            "name" : "@Basic/MetaYAML",
-            "version" : "5.013"
+            "name" : "@Author::ETHER/MetaYAML",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaJSON",
+            "name" : "@Author::ETHER/MetaJSON",
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
-            "name" : "@Basic/License",
-            "version" : "5.013"
+            "name" : "@Author::ETHER/License",
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
-            "name" : "@Basic/Readme",
-            "version" : "5.013"
+            "name" : "@Author::ETHER/Readme",
+            "version" : "5.019"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ExtraTests",
-            "name" : "@Basic/ExtraTests",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Manifest",
+            "name" : "@Author::ETHER/Manifest",
+            "version" : "5.019"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ExecDir",
-            "name" : "@Basic/ExecDir",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::GenerateFile::ShareDir",
+            "config" : {
+               "Dist::Zilla::Plugin::GenerateFile::ShareDir" : {
+                  "destination_filename" : "CONTRIBUTING",
+                  "dist" : "Dist-Zilla-PluginBundle-Author-ETHER",
+                  "encoding" : "UTF-8",
+                  "has_xs" : 0,
+                  "source_filename" : "CONTRIBUTING"
+               }
+            },
+            "name" : "@Author::ETHER/generate CONTRIBUTING",
+            "version" : "0.005"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ShareDir",
-            "name" : "@Basic/ShareDir",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::Compile",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::Compile" : {
+                  "filename" : "xt/author/00-compile.t",
+                  "module_finder" : [
+                     ":InstallModules"
+                  ],
+                  "script_finder" : [
+                     ":ExecFiles",
+                     "@Author::ETHER/Examples"
+                  ]
+               }
+            },
+            "name" : "@Author::ETHER/Test::Compile",
+            "version" : "2.043"
          },
          {
-            "class" : "Dist::Zilla::Plugin::MakeMaker",
-            "name" : "@Basic/MakeMaker",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::NoTabs",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::NoTabs" : {
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles",
+                     "@Author::ETHER/Examples",
+                     ":TestFiles",
+                     "@Author::ETHER/ExtraTestFiles"
+                  ]
+               }
+            },
+            "name" : "@Author::ETHER/Test::NoTabs",
+            "version" : "0.08"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Manifest",
-            "name" : "@Basic/Manifest",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::EOLTests",
+            "name" : "@Author::ETHER/EOLTests",
+            "version" : "0.02"
          },
          {
-            "class" : "Dist::Zilla::Plugin::TestRelease",
-            "name" : "@Basic/TestRelease",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::MetaTests",
+            "name" : "@Author::ETHER/MetaTests",
+            "version" : "5.019"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ConfirmRelease",
-            "name" : "@Basic/ConfirmRelease",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
+            "name" : "@Author::ETHER/Test::CPAN::Changes",
+            "version" : "0.008"
          },
          {
-            "class" : "Dist::Zilla::Plugin::UploadToCPAN",
-            "name" : "@Basic/UploadToCPAN",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
+            "name" : "@Author::ETHER/Test::ChangesHasContent",
+            "version" : "0.006"
          },
          {
-            "class" : "Dist::Zilla::Plugin::NextRelease",
-            "name" : "NextRelease",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
+            "name" : "@Author::ETHER/Test::MinimumVersion",
+            "version" : "2.000005"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
-            "name" : "Git::NextVersion",
-            "version" : "2.020"
+            "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+            "name" : "@Author::ETHER/PodSyntaxTests",
+            "version" : "5.019"
          },
          {
-            "class" : "Dist::Zilla::Plugin::PkgVersion",
-            "name" : "PkgVersion",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::PodSpelling",
+            "name" : "@Author::ETHER/Test::PodSpelling",
+            "version" : "2.006008"
          },
          {
-            "class" : "Dist::Zilla::Plugin::MetaConfig",
-            "name" : "MetaConfig",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::Kwalitee",
+            "name" : "@Author::ETHER/Test::Kwalitee",
+            "version" : "2.07"
          },
          {
-            "class" : "Dist::Zilla::Plugin::MetaJSON",
-            "name" : "MetaJSON",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::MojibakeTests",
+            "name" : "@Author::ETHER/MojibakeTests",
+            "version" : "0.7"
          },
          {
-            "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
-            "name" : "PodSyntaxTests",
-            "version" : "5.013"
+            "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+            "name" : "@Author::ETHER/Test::ReportPrereqs",
+            "version" : "0.014"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Repository",
-            "name" : "Repository",
-            "version" : "0.19"
+            "class" : "Dist::Zilla::Plugin::Test::Portability",
+            "name" : "@Author::ETHER/Test::Portability",
+            "version" : "2.000005"
          },
          {
-            "class" : "Dist::Zilla::Plugin::GithubMeta",
-            "name" : "GithubMeta",
-            "version" : "0.42"
+            "class" : "Dist::Zilla::Plugin::Git::Describe",
+            "name" : "@Author::ETHER/Git::Describe",
+            "version" : "0.003"
          },
          {
-            "class" : "Dist::Zilla::Plugin::InstallRelease",
-            "name" : "InstallRelease",
-            "version" : "0.008"
+            "class" : "Dist::Zilla::Plugin::PkgVersion",
+            "name" : "@Author::ETHER/PkgVersion",
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Authority",
-            "name" : "Authority",
+            "name" : "@Author::ETHER/Authority",
             "version" : "1.006"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
-            "name" : "Git::CheckFor::CorrectBranch",
-            "version" : "0.009"
-         },
-         {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
             "config" : {
                "Dist::Zilla::Plugin::PodWeaver" : {
-                  "config_plugins" : [
-                     "@Author::GETTY"
-                  ],
                   "finder" : [
                      ":InstallModules",
                      ":ExecFiles"
@@ -207,155 +427,426 @@
                         "version" : "4.006"
                      },
                      {
-                        "class" : "Pod::Weaver::Section::Name",
-                        "name" : "@GETTY/Name",
+                        "class" : "Pod::Weaver::Plugin::SingleEncoding",
+                        "name" : "@Default/SingleEncoding",
                         "version" : "4.006"
                      },
                      {
-                        "class" : "Pod::Weaver::Section::Version",
-                        "name" : "@GETTY/Version",
+                        "class" : "Pod::Weaver::Section::Name",
+                        "name" : "@Default/Name",
                         "version" : "4.006"
                      },
                      {
-                        "class" : "Pod::Weaver::Section::Region",
-                        "name" : "@GETTY/Prelude",
+                        "class" : "Pod::Weaver::Section::Version",
+                        "name" : "@Default/Version",
                         "version" : "4.006"
                      },
                      {
-                        "class" : "Pod::Weaver::Section::Generic",
-                        "name" : "@GETTY/Synopsis",
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "@Default/prelude",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
-                        "name" : "@GETTY/Description",
+                        "name" : "SYNOPSIS",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
-                        "name" : "@GETTY/Overview",
+                        "name" : "DESCRIPTION",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
-                        "name" : "@GETTY/Stability",
+                        "name" : "OVERVIEW",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
-                        "name" : "Attributes",
+                        "name" : "ATTRIBUTES",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
-                        "name" : "Methods",
+                        "name" : "METHODS",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
-                        "name" : "Functions",
+                        "name" : "FUNCTIONS",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Leftovers",
-                        "name" : "@GETTY/Leftovers",
+                        "name" : "@Default/Leftovers",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
-                        "name" : "@GETTY/postlude",
-                        "version" : "4.006"
-                     },
-                     {
-                        "class" : "Pod::Weaver::Section::Bugs",
-                        "name" : "@GETTY/Bugs",
+                        "name" : "@Default/postlude",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Authors",
-                        "name" : "@GETTY/Authors",
+                        "name" : "@Default/Authors",
                         "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Legal",
-                        "name" : "@GETTY/Legal",
+                        "name" : "@Default/Legal",
                         "version" : "4.006"
                      },
                      {
+                        "class" : "Pod::Weaver::Section::Contributors",
+                        "name" : "Contributors",
+                        "version" : "0.007"
+                     },
+                     {
                         "class" : "Pod::Weaver::Plugin::Transformer",
-                        "name" : "@GETTY/List",
+                        "name" : "-Transformer",
                         "version" : "4.006"
                      }
                   ]
                }
             },
-            "name" : "PodWeaver",
+            "name" : "@Author::ETHER/PodWeaver",
             "version" : "4.005"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::Check",
-            "name" : "@Git/Check",
-            "version" : "2.020"
+            "class" : "Dist::Zilla::Plugin::NextRelease",
+            "name" : "@Author::ETHER/NextRelease",
+            "version" : "5.019"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::Commit",
-            "name" : "@Git/Commit",
-            "version" : "2.020"
+            "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
+            "name" : "@Author::ETHER/ReadmeAnyFromPod",
+            "version" : "0.141760"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::Tag",
-            "name" : "@Git/Tag",
-            "version" : "2.020"
+            "class" : "Dist::Zilla::Plugin::GithubMeta",
+            "name" : "@Author::ETHER/GithubMeta",
+            "version" : "0.46"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::Push",
-            "name" : "@Git/Push",
-            "version" : "2.020"
+            "class" : "Dist::Zilla::Plugin::AutoMetaResources",
+            "name" : "@Author::ETHER/AutoMetaResources",
+            "version" : "1.20"
          },
          {
-            "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
-            "name" : "CheckChangesHasContent",
-            "version" : "0.006"
+            "class" : "Dist::Zilla::Plugin::MetaNoIndex",
+            "name" : "@Author::ETHER/MetaNoIndex",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+            "config" : {
+               "Dist::Zilla::Plugin::MetaProvides::Package" : {
+                  "finder" : [
+                     ":InstallModules"
+                  ],
+                  "finder_objects" : [
+                     {
+                        "class" : "Dist::Zilla::Plugin::FinderCode",
+                        "name" : ":InstallModules",
+                        "version" : "5.019"
+                     }
+                  ]
+               },
+               "Dist::Zilla::Role::MetaProvider::Provider" : {
+                  "inherit_missing" : "1",
+                  "inherit_version" : "1",
+                  "meta_noindex" : "1"
+               }
+            },
+            "name" : "@Author::ETHER/MetaProvides::Package",
+            "version" : "2.000002"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaConfig",
+            "name" : "@Author::ETHER/MetaConfig",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Keywords",
+            "name" : "@Author::ETHER/Keywords",
+            "version" : "0.005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+            "name" : "@Author::ETHER/AutoPrereqs",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps",
+            "name" : "@Author::ETHER/Prereqs::AuthorDeps",
+            "version" : "0.003"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MinimumPerl",
+            "name" : "@Author::ETHER/MinimumPerl",
+            "version" : "1.003"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
             "config" : {
                "Dist::Zilla::Plugin::Prereqs" : {
-                  "phase" : "runtime",
-                  "type" : "requires"
+                  "phase" : "develop",
+                  "type" : "recommends"
                }
             },
-            "name" : "Prereqs",
-            "version" : "5.013"
+            "name" : "@Author::ETHER/pluginbundle_version",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MakeMaker::Fallback",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 9
+               }
+            },
+            "name" : "@Author::ETHER/MakeMaker::Fallback",
+            "version" : "0.010"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ModuleBuildTiny::Fallback",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 9
+               }
+            },
+            "name" : "@Author::ETHER/ModuleBuildTiny::Fallback",
+            "version" : "0.005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::InstallGuide",
+            "name" : "@Author::ETHER/InstallGuide",
+            "version" : "1.200003"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::RunExtraTests",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 9
+               }
+            },
+            "name" : "@Author::ETHER/RunExtraTests",
+            "version" : "0.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckSelfDependency",
+            "config" : {
+               "Dist::Zilla::Plugin::CheckSelfDependency" : {
+                  "finder" : [
+                     ":InstallModules"
+                  ]
+               }
+            },
+            "name" : "@Author::ETHER/CheckSelfDependency",
+            "version" : "0.007"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Run::AfterBuild",
+            "name" : "@Author::ETHER/Run::AfterBuild",
+            "version" : null
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckStrictVersion",
+            "name" : "@Author::ETHER/CheckStrictVersion",
+            "version" : "0.001"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Check",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Check" : {
+                  "untracked_files" : "die"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/initial check",
+            "version" : "2.023"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
+            "config" : {
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/Git::CheckFor::MergeConflicts",
+            "version" : "0.011"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
+            "config" : {
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/Git::CheckFor::CorrectBranch",
+            "version" : "0.011"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Remote::Check",
+            "name" : "@Author::ETHER/Git::Remote::Check",
+            "version" : "0.2.0"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
+            "name" : "@Author::ETHER/CheckPrereqsIndexed",
+            "version" : "0.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::TestRelease",
+            "name" : "@Author::ETHER/TestRelease",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Check",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Check" : {
+                  "untracked_files" : "die"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/after tests",
+            "version" : "2.023"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckIssues",
+            "name" : "@Author::ETHER/CheckIssues",
+            "version" : "0.002"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+            "name" : "@Author::ETHER/UploadToCPAN",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
+            "name" : "@Author::ETHER/CopyFilesFromRelease",
+            "version" : "0.001"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Run::AfterRelease",
+            "name" : "@Author::ETHER/Run::AfterRelease",
+            "version" : null
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Commit",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Commit" : {
+                  "add_files_in" : [
+                     "."
+                  ],
+                  "commit_msg" : "%N-%v%t%n%n%c",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "Changes",
+                     "README.md",
+                     "README.pod",
+                     "LICENSE",
+                     "CONTRIBUTING"
+                  ],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/Git::Commit",
+            "version" : "2.023"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Tag",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Tag" : {
+                  "branch" : null,
+                  "signed" : 0,
+                  "tag" : "0.022",
+                  "tag_format" : "%v%t",
+                  "tag_message" : "v%v%t",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/Git::Tag",
+            "version" : "2.023"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GitHub::Update",
+            "name" : "@Author::ETHER/GitHub::Update",
+            "version" : "0.38"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Push",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Push" : {
+                  "push_to" : [
+                     "origin"
+                  ],
+                  "remotes_must_exist" : 1
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@Author::ETHER/Git::Push",
+            "version" : "2.023"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::InstallRelease",
+            "name" : "@Author::ETHER/InstallRelease",
+            "version" : "0.008"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+            "name" : "@Author::ETHER/ConfirmRelease",
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
             "config" : {
                "Dist::Zilla::Plugin::Prereqs" : {
-                  "phase" : "test",
+                  "phase" : "develop",
                   "type" : "requires"
                }
             },
-            "name" : "TestRequires",
-            "version" : "5.013"
+            "name" : "@Author::ETHER/bundle_options",
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::ContributorsFromGit",
             "name" : "ContributorsFromGit",
-            "version" : "0.006"
+            "version" : "0.014"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Bootstrap::lib",
-            "config" : {
-               "Dist::Zilla::Role::Bootstrap" : {
-                  "distname" : "Dist-Zilla-Plugin-Run",
-                  "fallback" : "1",
-                  "try_built" : null,
-                  "try_built_method" : "mtime"
-               }
-            },
-            "name" : "Bootstrap::lib",
-            "version" : "0.04000002"
+            "class" : "Dist::Zilla::Plugin::MetaResources",
+            "name" : "MetaResources",
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::CleanNamespaces",
+            "name" : "Test::CleanNamespaces",
+            "version" : "0.004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Run::AfterBuild",
@@ -370,42 +861,47 @@
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "5.013"
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "5.013"
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "5.013"
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "5.013"
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "5.013"
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "5.013"
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "5.013"
+            "version" : "5.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "5.013"
+            "version" : "5.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::VerifyPhases",
+            "name" : "@Author::ETHER/PHASE VERIFICATION",
+            "version" : "0.003"
          }
       ],
       "zilla" : {
@@ -413,7 +909,7 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "5.013"
+         "version" : "5.019"
       }
    },
    "x_authority" : "cpan:GETTY",
diff --git a/META.yml b/META.yml
index ba28dc1..36126af 100644
--- a/META.yml
+++ b/META.yml
@@ -3,141 +3,276 @@ abstract: 'Run external commands at specific phases of Dist::Zilla'
 author:
   - 'Torsten Raudssus <torsten at raudss.us> L<https://raudss.us/>'
 build_requires:
+  Dist::Zilla::Tester: '0'
+  ExtUtils::MakeMaker: '0'
+  File::Spec: '0'
+  File::Spec::Functions: '0'
+  List::Util: '0'
+  Path::Class: '0'
+  Scalar::Util: '0'
+  Test::DZil: '0'
+  Test::File::ShareDir: '0'
   Test::More: '0.88'
+  lib: '0'
+  version: '0.77'
 configure_requires:
   ExtUtils::MakeMaker: '6.30'
+  Module::Build::Tiny: '0.036'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.133380'
+generated_by: 'Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141520'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: '1.4'
 name: Dist-Zilla-Plugin-Run
+no_index:
+  directory:
+    - t
+    - xt
+provides:
+  Dist::Zilla::Plugin::Run:
+    file: lib/Dist/Zilla/Plugin/Run.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::AfterBuild:
+    file: lib/Dist/Zilla/Plugin/Run/AfterBuild.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::AfterMint:
+    file: lib/Dist/Zilla/Plugin/Run/AfterMint.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::AfterRelease:
+    file: lib/Dist/Zilla/Plugin/Run/AfterRelease.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::BeforeBuild:
+    file: lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::BeforeRelease:
+    file: lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::Release:
+    file: lib/Dist/Zilla/Plugin/Run/Release.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::Role::Runner:
+    file: lib/Dist/Zilla/Plugin/Run/Role/Runner.pm
+    version: '0.022'
+  Dist::Zilla::Plugin::Run::Test:
+    file: lib/Dist/Zilla/Plugin/Run/Test.pm
+    version: '0.022'
 requires:
-  Config: '0'
-  Dist::Zilla: '4.200002'
+  Dist::Zilla::Role::AfterBuild: '0'
+  Dist::Zilla::Role::AfterMint: '0'
+  Dist::Zilla::Role::AfterRelease: '0'
+  Dist::Zilla::Role::BeforeBuild: '0'
+  Dist::Zilla::Role::BeforeRelease: '0'
+  Dist::Zilla::Role::Releaser: '0'
+  Dist::Zilla::Role::TestRunner: '0'
   File::Spec: '0'
   IPC::Open3: '0'
-  Moose: '1.15'
-  Path::Class: '0.16'
+  Moose: '0'
+  Moose::Role: '0'
   String::Formatter: '0.102082'
-  Test::DZil: '4.200002'
-  Test::File::ShareDir: '0'
-  namespace::autoclean: '0.11'
+  namespace::autoclean: '0'
+  perl: '5.006'
+  strict: '0'
+  warnings: '0'
 resources:
+  IRC: irc://irc.perl.org/#distzilla
+  MailingList: http://dzil.org/#mailing-list
+  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Run
   homepage: https://github.com/Getty/p5-dist-zilla-plugin-run
   repository: https://github.com/Getty/p5-dist-zilla-plugin-run.git
-version: '0.021'
+version: '0.022'
 x_Dist_Zilla:
   perl:
-    version: '5.019008'
+    version: '5.021001'
   plugins:
     -
-      class: Dist::Zilla::Plugin::GatherDir
-      name: '@Basic/GatherDir'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Bootstrap::lib
+      config:
+        Dist::Zilla::Role::Bootstrap:
+          distname: Dist-Zilla-Plugin-Run
+          fallback: '1'
+          try_built: ~
+          try_built_method: mtime
+      name: Bootstrap::lib
+      version: '1.000003'
     -
-      class: Dist::Zilla::Plugin::PruneCruft
-      name: '@Basic/PruneCruft'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Git::NextVersion
+      config:
+        Dist::Zilla::Plugin::Git::NextVersion:
+          first_version: '0.001'
+          version_by_branch: '0'
+          version_regexp: (?^u:^([0-9]+\.[0-9]+)$)
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/Git::NextVersion'
+      version: '2.023'
+    -
+      class: Dist::Zilla::Plugin::EnsurePrereqsInstalled
+      name: '@Author::ETHER/EnsurePrereqsInstalled'
+      version: '0.005'
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: 0
+          check_all_prereqs: 0
+          modules:
+            - Dist::Zilla::PluginBundle::Author::ETHER
+          phase: build
+          skip: []
+      name: '@Author::ETHER/stale modules, build'
+      version: '0.024'
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: '1'
+          check_all_prereqs: '1'
+          modules: []
+          phase: release
+          skip: []
+      name: '@Author::ETHER/stale modules, release'
+      version: '0.024'
     -
-      class: Dist::Zilla::Plugin::ManifestSkip
-      name: '@Basic/ManifestSkip'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::ExecDir
+      name: '@Author::ETHER/ExecDir'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::MetaYAML
-      name: '@Basic/MetaYAML'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::ShareDir
+      name: '@Author::ETHER/ShareDir'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::License
-      name: '@Basic/License'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::FileFinder::ByName
+      name: '@Author::ETHER/Examples'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::Readme
-      name: '@Basic/Readme'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::FileFinder::ByName
+      name: '@Author::ETHER/ExtraTestFiles'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::ExtraTests
-      name: '@Basic/ExtraTests'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Git::GatherDir
+      config:
+        Dist::Zilla::Plugin::Git::GatherDir:
+          include_untracked: '0'
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/Git::GatherDir'
+      version: '2.023'
     -
-      class: Dist::Zilla::Plugin::ExecDir
-      name: '@Basic/ExecDir'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::MetaYAML
+      name: '@Author::ETHER/MetaYAML'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::ShareDir
-      name: '@Basic/ShareDir'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::MetaJSON
+      name: '@Author::ETHER/MetaJSON'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::MakeMaker
-      name: '@Basic/MakeMaker'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::License
+      name: '@Author::ETHER/License'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::Readme
+      name: '@Author::ETHER/Readme'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::Manifest
-      name: '@Basic/Manifest'
-      version: '5.013'
+      name: '@Author::ETHER/Manifest'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::TestRelease
-      name: '@Basic/TestRelease'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::GenerateFile::ShareDir
+      config:
+        Dist::Zilla::Plugin::GenerateFile::ShareDir:
+          destination_filename: CONTRIBUTING
+          dist: Dist-Zilla-PluginBundle-Author-ETHER
+          encoding: UTF-8
+          has_xs: 0
+          source_filename: CONTRIBUTING
+      name: '@Author::ETHER/generate CONTRIBUTING'
+      version: '0.005'
+    -
+      class: Dist::Zilla::Plugin::Test::Compile
+      config:
+        Dist::Zilla::Plugin::Test::Compile:
+          filename: xt/author/00-compile.t
+          module_finder:
+            - ':InstallModules'
+          script_finder:
+            - ':ExecFiles'
+            - '@Author::ETHER/Examples'
+      name: '@Author::ETHER/Test::Compile'
+      version: '2.043'
     -
-      class: Dist::Zilla::Plugin::ConfirmRelease
-      name: '@Basic/ConfirmRelease'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Test::NoTabs
+      config:
+        Dist::Zilla::Plugin::Test::NoTabs:
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+            - '@Author::ETHER/Examples'
+            - ':TestFiles'
+            - '@Author::ETHER/ExtraTestFiles'
+      name: '@Author::ETHER/Test::NoTabs'
+      version: '0.08'
+    -
+      class: Dist::Zilla::Plugin::EOLTests
+      name: '@Author::ETHER/EOLTests'
+      version: '0.02'
+    -
+      class: Dist::Zilla::Plugin::MetaTests
+      name: '@Author::ETHER/MetaTests'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::Test::CPAN::Changes
+      name: '@Author::ETHER/Test::CPAN::Changes'
+      version: '0.008'
     -
-      class: Dist::Zilla::Plugin::UploadToCPAN
-      name: '@Basic/UploadToCPAN'
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Test::ChangesHasContent
+      name: '@Author::ETHER/Test::ChangesHasContent'
+      version: '0.006'
     -
-      class: Dist::Zilla::Plugin::NextRelease
-      name: NextRelease
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Test::MinimumVersion
+      name: '@Author::ETHER/Test::MinimumVersion'
+      version: '2.000005'
     -
-      class: Dist::Zilla::Plugin::Git::NextVersion
-      name: Git::NextVersion
-      version: '2.020'
+      class: Dist::Zilla::Plugin::PodSyntaxTests
+      name: '@Author::ETHER/PodSyntaxTests'
+      version: '5.019'
     -
-      class: Dist::Zilla::Plugin::PkgVersion
-      name: PkgVersion
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Test::PodSpelling
+      name: '@Author::ETHER/Test::PodSpelling'
+      version: '2.006008'
     -
-      class: Dist::Zilla::Plugin::MetaConfig
-      name: MetaConfig
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Test::Kwalitee
+      name: '@Author::ETHER/Test::Kwalitee'
+      version: '2.07'
     -
-      class: Dist::Zilla::Plugin::MetaJSON
-      name: MetaJSON
-      version: '5.013'
+      class: Dist::Zilla::Plugin::MojibakeTests
+      name: '@Author::ETHER/MojibakeTests'
+      version: '0.7'
     -
-      class: Dist::Zilla::Plugin::PodSyntaxTests
-      name: PodSyntaxTests
-      version: '5.013'
+      class: Dist::Zilla::Plugin::Test::ReportPrereqs
+      name: '@Author::ETHER/Test::ReportPrereqs'
+      version: '0.014'
     -
-      class: Dist::Zilla::Plugin::Repository
-      name: Repository
-      version: '0.19'
+      class: Dist::Zilla::Plugin::Test::Portability
+      name: '@Author::ETHER/Test::Portability'
+      version: '2.000005'
     -
-      class: Dist::Zilla::Plugin::GithubMeta
-      name: GithubMeta
-      version: '0.42'
+      class: Dist::Zilla::Plugin::Git::Describe
+      name: '@Author::ETHER/Git::Describe'
+      version: '0.003'
     -
-      class: Dist::Zilla::Plugin::InstallRelease
-      name: InstallRelease
-      version: '0.008'
+      class: Dist::Zilla::Plugin::PkgVersion
+      name: '@Author::ETHER/PkgVersion'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::Authority
-      name: Authority
+      name: '@Author::ETHER/Authority'
       version: '1.006'
     -
-      class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
-      name: Git::CheckFor::CorrectBranch
-      version: '0.009'
-    -
       class: Dist::Zilla::Plugin::PodWeaver
       config:
         Dist::Zilla::Plugin::PodWeaver:
-          config_plugins:
-            - '@Author::GETTY'
           finder:
             - ':InstallModules'
             - ':ExecFiles'
@@ -151,121 +286,323 @@ x_Dist_Zilla:
               name: '@CorePrep/H1Nester'
               version: '4.006'
             -
+              class: Pod::Weaver::Plugin::SingleEncoding
+              name: '@Default/SingleEncoding'
+              version: '4.006'
+            -
               class: Pod::Weaver::Section::Name
-              name: '@GETTY/Name'
+              name: '@Default/Name'
               version: '4.006'
             -
               class: Pod::Weaver::Section::Version
-              name: '@GETTY/Version'
+              name: '@Default/Version'
               version: '4.006'
             -
               class: Pod::Weaver::Section::Region
-              name: '@GETTY/Prelude'
+              name: '@Default/prelude'
               version: '4.006'
             -
               class: Pod::Weaver::Section::Generic
-              name: '@GETTY/Synopsis'
+              name: SYNOPSIS
               version: '4.006'
             -
               class: Pod::Weaver::Section::Generic
-              name: '@GETTY/Description'
+              name: DESCRIPTION
               version: '4.006'
             -
               class: Pod::Weaver::Section::Generic
-              name: '@GETTY/Overview'
-              version: '4.006'
-            -
-              class: Pod::Weaver::Section::Generic
-              name: '@GETTY/Stability'
+              name: OVERVIEW
               version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
-              name: Attributes
+              name: ATTRIBUTES
               version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
-              name: Methods
+              name: METHODS
               version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
-              name: Functions
+              name: FUNCTIONS
               version: '4.006'
             -
               class: Pod::Weaver::Section::Leftovers
-              name: '@GETTY/Leftovers'
+              name: '@Default/Leftovers'
               version: '4.006'
             -
               class: Pod::Weaver::Section::Region
-              name: '@GETTY/postlude'
-              version: '4.006'
-            -
-              class: Pod::Weaver::Section::Bugs
-              name: '@GETTY/Bugs'
+              name: '@Default/postlude'
               version: '4.006'
             -
               class: Pod::Weaver::Section::Authors
-              name: '@GETTY/Authors'
+              name: '@Default/Authors'
               version: '4.006'
             -
               class: Pod::Weaver::Section::Legal
-              name: '@GETTY/Legal'
+              name: '@Default/Legal'
               version: '4.006'
             -
+              class: Pod::Weaver::Section::Contributors
+              name: Contributors
+              version: '0.007'
+            -
               class: Pod::Weaver::Plugin::Transformer
-              name: '@GETTY/List'
+              name: -Transformer
               version: '4.006'
-      name: PodWeaver
+      name: '@Author::ETHER/PodWeaver'
       version: '4.005'
     -
+      class: Dist::Zilla::Plugin::NextRelease
+      name: '@Author::ETHER/NextRelease'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+      name: '@Author::ETHER/ReadmeAnyFromPod'
+      version: '0.141760'
+    -
+      class: Dist::Zilla::Plugin::GithubMeta
+      name: '@Author::ETHER/GithubMeta'
+      version: '0.46'
+    -
+      class: Dist::Zilla::Plugin::AutoMetaResources
+      name: '@Author::ETHER/AutoMetaResources'
+      version: '1.20'
+    -
+      class: Dist::Zilla::Plugin::MetaNoIndex
+      name: '@Author::ETHER/MetaNoIndex'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::MetaProvides::Package
+      config:
+        Dist::Zilla::Plugin::MetaProvides::Package:
+          finder:
+            - ':InstallModules'
+          finder_objects:
+            -
+              class: Dist::Zilla::Plugin::FinderCode
+              name: ':InstallModules'
+              version: '5.019'
+        Dist::Zilla::Role::MetaProvider::Provider:
+          inherit_missing: '1'
+          inherit_version: '1'
+          meta_noindex: '1'
+      name: '@Author::ETHER/MetaProvides::Package'
+      version: '2.000002'
+    -
+      class: Dist::Zilla::Plugin::MetaConfig
+      name: '@Author::ETHER/MetaConfig'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::Keywords
+      name: '@Author::ETHER/Keywords'
+      version: '0.005'
+    -
+      class: Dist::Zilla::Plugin::AutoPrereqs
+      name: '@Author::ETHER/AutoPrereqs'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::Prereqs::AuthorDeps
+      name: '@Author::ETHER/Prereqs::AuthorDeps'
+      version: '0.003'
+    -
+      class: Dist::Zilla::Plugin::MinimumPerl
+      name: '@Author::ETHER/MinimumPerl'
+      version: '1.003'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: develop
+          type: recommends
+      name: '@Author::ETHER/pluginbundle_version'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::MakeMaker::Fallback
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 9
+      name: '@Author::ETHER/MakeMaker::Fallback'
+      version: '0.010'
+    -
+      class: Dist::Zilla::Plugin::ModuleBuildTiny::Fallback
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 9
+      name: '@Author::ETHER/ModuleBuildTiny::Fallback'
+      version: '0.005'
+    -
+      class: Dist::Zilla::Plugin::InstallGuide
+      name: '@Author::ETHER/InstallGuide'
+      version: '1.200003'
+    -
+      class: Dist::Zilla::Plugin::RunExtraTests
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 9
+      name: '@Author::ETHER/RunExtraTests'
+      version: '0.022'
+    -
+      class: Dist::Zilla::Plugin::CheckSelfDependency
+      config:
+        Dist::Zilla::Plugin::CheckSelfDependency:
+          finder:
+            - ':InstallModules'
+      name: '@Author::ETHER/CheckSelfDependency'
+      version: '0.007'
+    -
+      class: Dist::Zilla::Plugin::Run::AfterBuild
+      name: '@Author::ETHER/Run::AfterBuild'
+      version: ~
+    -
+      class: Dist::Zilla::Plugin::CheckStrictVersion
+      name: '@Author::ETHER/CheckStrictVersion'
+      version: '0.001'
+    -
       class: Dist::Zilla::Plugin::Git::Check
-      name: '@Git/Check'
-      version: '2.020'
+      config:
+        Dist::Zilla::Plugin::Git::Check:
+          untracked_files: die
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty: []
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/initial check'
+      version: '2.023'
+    -
+      class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
+      config:
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/Git::CheckFor::MergeConflicts'
+      version: '0.011'
+    -
+      class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
+      config:
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/Git::CheckFor::CorrectBranch'
+      version: '0.011'
+    -
+      class: Dist::Zilla::Plugin::Git::Remote::Check
+      name: '@Author::ETHER/Git::Remote::Check'
+      version: 0.2.0
+    -
+      class: Dist::Zilla::Plugin::CheckPrereqsIndexed
+      name: '@Author::ETHER/CheckPrereqsIndexed'
+      version: '0.012'
+    -
+      class: Dist::Zilla::Plugin::TestRelease
+      name: '@Author::ETHER/TestRelease'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::Git::Check
+      config:
+        Dist::Zilla::Plugin::Git::Check:
+          untracked_files: die
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty: []
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/after tests'
+      version: '2.023'
+    -
+      class: Dist::Zilla::Plugin::CheckIssues
+      name: '@Author::ETHER/CheckIssues'
+      version: '0.002'
+    -
+      class: Dist::Zilla::Plugin::UploadToCPAN
+      name: '@Author::ETHER/UploadToCPAN'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::CopyFilesFromRelease
+      name: '@Author::ETHER/CopyFilesFromRelease'
+      version: '0.001'
+    -
+      class: Dist::Zilla::Plugin::Run::AfterRelease
+      name: '@Author::ETHER/Run::AfterRelease'
+      version: ~
     -
       class: Dist::Zilla::Plugin::Git::Commit
-      name: '@Git/Commit'
-      version: '2.020'
+      config:
+        Dist::Zilla::Plugin::Git::Commit:
+          add_files_in:
+            - .
+          commit_msg: '%N-%v%t%n%n%c'
+          time_zone: local
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - Changes
+            - README.md
+            - README.pod
+            - LICENSE
+            - CONTRIBUTING
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/Git::Commit'
+      version: '2.023'
     -
       class: Dist::Zilla::Plugin::Git::Tag
-      name: '@Git/Tag'
-      version: '2.020'
+      config:
+        Dist::Zilla::Plugin::Git::Tag:
+          branch: ~
+          signed: 0
+          tag: '0.022'
+          tag_format: '%v%t'
+          tag_message: v%v%t
+          time_zone: local
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/Git::Tag'
+      version: '2.023'
+    -
+      class: Dist::Zilla::Plugin::GitHub::Update
+      name: '@Author::ETHER/GitHub::Update'
+      version: '0.38'
     -
       class: Dist::Zilla::Plugin::Git::Push
-      name: '@Git/Push'
-      version: '2.020'
+      config:
+        Dist::Zilla::Plugin::Git::Push:
+          push_to:
+            - origin
+          remotes_must_exist: 1
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@Author::ETHER/Git::Push'
+      version: '2.023'
     -
-      class: Dist::Zilla::Plugin::CheckChangesHasContent
-      name: CheckChangesHasContent
-      version: '0.006'
+      class: Dist::Zilla::Plugin::InstallRelease
+      name: '@Author::ETHER/InstallRelease'
+      version: '0.008'
     -
-      class: Dist::Zilla::Plugin::Prereqs
-      config:
-        Dist::Zilla::Plugin::Prereqs:
-          phase: runtime
-          type: requires
-      name: Prereqs
-      version: '5.013'
+      class: Dist::Zilla::Plugin::ConfirmRelease
+      name: '@Author::ETHER/ConfirmRelease'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
         Dist::Zilla::Plugin::Prereqs:
-          phase: test
+          phase: develop
           type: requires
-      name: TestRequires
-      version: '5.013'
+      name: '@Author::ETHER/bundle_options'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::ContributorsFromGit
       name: ContributorsFromGit
-      version: '0.006'
+      version: '0.014'
     -
-      class: Dist::Zilla::Plugin::Bootstrap::lib
-      config:
-        Dist::Zilla::Role::Bootstrap:
-          distname: Dist-Zilla-Plugin-Run
-          fallback: '1'
-          try_built: ~
-          try_built_method: mtime
-      name: Bootstrap::lib
-      version: '0.04000002'
+      class: Dist::Zilla::Plugin::MetaResources
+      name: MetaResources
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::Test::CleanNamespaces
+      name: Test::CleanNamespaces
+      version: '0.004'
     -
       class: Dist::Zilla::Plugin::Run::AfterBuild
       name: Run::AfterBuild
@@ -277,40 +614,44 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '5.013'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '5.013'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '5.013'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '5.013'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '5.013'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '5.013'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '5.013'
+      version: '5.019'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '5.013'
+      version: '5.019'
+    -
+      class: Dist::Zilla::Plugin::VerifyPhases
+      name: '@Author::ETHER/PHASE VERIFICATION'
+      version: '0.003'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: '0'
-    version: '5.013'
+    version: '5.019'
 x_authority: cpan:GETTY
 x_contributors:
   - 'Al Newkirk <github at alnewkirk.com>'
diff --git a/Makefile.PL b/Makefile.PL
index ddc0283..f3a70df 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,11 +1,69 @@
+# This Makefile.PL for Dist-Zilla-Plugin-Run was generated by
+# Dist::Zilla::Plugin::MakeMaker::Fallback 0.010
+# and Dist::Zilla::Plugin::MakeMaker::Awesome 0.20.
+# Don't edit it but the dist.ini and plugins used to construct it.
 
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.013.
 use strict;
 use warnings;
 
+BEGIN {
+my %configure_requires = (
+    'ExtUtils::MakeMaker' => '6.30',
+    'Module::Build::Tiny' => '0.036',
+);
+
+my @missing = grep {
+    ! eval "require $_; $_->VERSION($configure_requires{$_}); 1"
+} keys %configure_requires;
+
+if (not @missing)
+{
+    print "Congratulations, your toolchain understands 'configure_requires'!\n\n";
+}
+else
+{
+    $ENV{PERL_MM_FALLBACK_SILENCE_WARNING} or warn <<'EOW';
+*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***
+
+If you're seeing this warning, your toolchain is really, really old* and you'll
+almost certainly have problems installing CPAN modules from this century. But
+never fear, dear user, for we have the technology to fix this!
+
+If you're using CPAN.pm to install things, then you can upgrade it using:
+
+    cpan CPAN
+
+If you're using CPANPLUS to install things, then you can upgrade it using:
+
+    cpanp CPANPLUS
+
+If you're using cpanminus, you shouldn't be seeing this message in the first
+place, so please file an issue on github.
+
+If you're installing manually, please retrain your fingers to run Build.PL
+when present instead.
 
+This public service announcement was brought to you by the Perl Toolchain
+Gang, the irc.perl.org #toolchain IRC channel, and the number 42.
 
-use ExtUtils::MakeMaker 6.30;
+----
+
+* Alternatively, you are doing something overly clever, in which case you
+should consider setting the 'prefer_installer' config option in CPAN.pm, or
+'prefer_makefile' in CPANPLUS, to 'mb" and '0' respectively.
+
+You can also silence this warning for future installations by setting the
+PERL_MM_FALLBACK_SILENCE_WARNING environment variable.
+
+EOW
+
+    sleep 10 if -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));
+}
+}
+
+use 5.006;
+
+use ExtUtils::MakeMaker;
 
 
 
@@ -14,28 +72,45 @@ my %WriteMakefileArgs = (
   "AUTHOR" => "Torsten Raudssus <torsten\@raudss.us> L<https://raudss.us/>",
   "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
-    "ExtUtils::MakeMaker" => "6.30"
+    "ExtUtils::MakeMaker" => "6.30",
+    "Module::Build::Tiny" => "0.036"
   },
   "DISTNAME" => "Dist-Zilla-Plugin-Run",
   "EXE_FILES" => [],
   "LICENSE" => "perl",
   "NAME" => "Dist::Zilla::Plugin::Run",
   "PREREQ_PM" => {
-    "Config" => 0,
-    "Dist::Zilla" => "4.200002",
+    "Dist::Zilla::Role::AfterBuild" => 0,
+    "Dist::Zilla::Role::AfterMint" => 0,
+    "Dist::Zilla::Role::AfterRelease" => 0,
+    "Dist::Zilla::Role::BeforeBuild" => 0,
+    "Dist::Zilla::Role::BeforeRelease" => 0,
+    "Dist::Zilla::Role::Releaser" => 0,
+    "Dist::Zilla::Role::TestRunner" => 0,
     "File::Spec" => 0,
     "IPC::Open3" => 0,
-    "Moose" => "1.15",
-    "Path::Class" => "0.16",
+    "Moose" => 0,
+    "Moose::Role" => 0,
     "String::Formatter" => "0.102082",
-    "Test::DZil" => "4.200002",
-    "Test::File::ShareDir" => 0,
-    "namespace::autoclean" => "0.11"
+    "namespace::autoclean" => 0,
+    "strict" => 0,
+    "warnings" => 0
   },
   "TEST_REQUIRES" => {
-    "Test::More" => "0.88"
+    "Dist::Zilla::Tester" => 0,
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec" => 0,
+    "File::Spec::Functions" => 0,
+    "List::Util" => 0,
+    "Path::Class" => 0,
+    "Scalar::Util" => 0,
+    "Test::DZil" => 0,
+    "Test::File::ShareDir" => 0,
+    "Test::More" => "0.88",
+    "lib" => 0,
+    "version" => "0.77"
   },
-  "VERSION" => "0.021",
+  "VERSION" => "0.022",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -43,17 +118,32 @@ my %WriteMakefileArgs = (
 
 
 my %FallbackPrereqs = (
-  "Config" => 0,
-  "Dist::Zilla" => "4.200002",
+  "Dist::Zilla::Role::AfterBuild" => 0,
+  "Dist::Zilla::Role::AfterMint" => 0,
+  "Dist::Zilla::Role::AfterRelease" => 0,
+  "Dist::Zilla::Role::BeforeBuild" => 0,
+  "Dist::Zilla::Role::BeforeRelease" => 0,
+  "Dist::Zilla::Role::Releaser" => 0,
+  "Dist::Zilla::Role::TestRunner" => 0,
+  "Dist::Zilla::Tester" => 0,
+  "ExtUtils::MakeMaker" => 0,
   "File::Spec" => 0,
+  "File::Spec::Functions" => 0,
   "IPC::Open3" => 0,
-  "Moose" => "1.15",
-  "Path::Class" => "0.16",
+  "List::Util" => 0,
+  "Moose" => 0,
+  "Moose::Role" => 0,
+  "Path::Class" => 0,
+  "Scalar::Util" => 0,
   "String::Formatter" => "0.102082",
-  "Test::DZil" => "4.200002",
+  "Test::DZil" => 0,
   "Test::File::ShareDir" => 0,
   "Test::More" => "0.88",
-  "namespace::autoclean" => "0.11"
+  "lib" => 0,
+  "namespace::autoclean" => 0,
+  "strict" => 0,
+  "version" => "0.77",
+  "warnings" => 0
 );
 
 
diff --git a/README b/README
index f498380..cd6db77 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 
 
 This archive contains the distribution Dist-Zilla-Plugin-Run,
-version 0.021:
+version 0.022:
 
   Run external commands at specific phases of Dist::Zilla
 
@@ -11,5 +11,5 @@ This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 
-This README file was generated by Dist::Zilla::Plugin::Readme v5.013.
+This README file was generated by Dist::Zilla::Plugin::Readme v5.019.
 
diff --git a/lib/Dist/Zilla/Plugin/Run.pm b/README.pod
similarity index 88%
copy from lib/Dist/Zilla/Plugin/Run.pm
copy to README.pod
index c495636..d18ea39 100644
--- a/lib/Dist/Zilla/Plugin/Run.pm
+++ b/README.pod
@@ -1,26 +1,14 @@
-use strict;
-use warnings;
-
-package Dist::Zilla::Plugin::Run;
-BEGIN {
-  $Dist::Zilla::Plugin::Run::AUTHORITY = 'cpan:GETTY';
-}
-# ABSTRACT: Run external commands at specific phases of Dist::Zilla
-$Dist::Zilla::Plugin::Run::VERSION = '0.021';
-
-1;
-
-__END__
-
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run - Run external commands at specific phases of Dist::Zilla
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -135,4 +123,38 @@ This software is copyright (c) 2010 by L<Raudssus Social Software|https://raudss
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Al Newkirk <github at alnewkirk.com>
+
+=item *
+
+Karen Etheridge <ether at cpan.org>
+
+=item *
+
+Nickolay Platonov <nplatonov at cpan.org>
+
+=item *
+
+Olivier Mengué <dolmen at cpan.org>
+
+=item *
+
+Randy Stauner <rwstauner at cpan.org>
+
+=item *
+
+Tatsuhiko Miyagawa <miyagawa at cpan.org>
+
+=item *
+
+Torsten Raudssus <getty at cpan.org>
+
+=back
+
 =cut
diff --git a/dist.ini b/dist.ini
index 404e369..6322401 100644
--- a/dist.ini
+++ b/dist.ini
@@ -4,62 +4,27 @@ license = Perl_5
 copyright_holder = L<Raudssus Social Software|https://raudss.us/>
 copyright_year   = 2010
 
-[@Basic]
-
-[NextRelease]
-[Git::NextVersion]
-version_regexp = ^([0-9]+\.[0-9]+)$
-
-[PkgVersion]
-[MetaConfig]
-[MetaJSON]
-[PodSyntaxTests]
-[Repository]
-[GithubMeta]
-
-[InstallRelease]
-install_command = cpanm .
-
-[Authority]
-authority = cpan:GETTY
-do_metadata = 1
-
-[Git::CheckFor::CorrectBranch]
-release_branch = master
-
-[PodWeaver]
-config_plugin = @Author::GETTY
-
-[@Git]
-tag_format = %v
-push_to = origin
-
-
-[CheckChangesHasContent]
+[Bootstrap::lib]
 
-[Prereqs]
-Moose                   = 1.15
+[@Author::ETHER]
+:version = 0.065
+Authority.authority = cpan:GETTY
+Git::NextVersion.version_regexp = ^([0-9]+\.[0-9]+)$
+Git::Tag.tag_format = %v%t
+-remove = PodCoverageTests
+-remove = Test::Pod::No404s ; 500 Can't connect to raudss.us:443
 
-Dist::Zilla             = 4.200002
-Test::DZil              = 4.200002
-; used by Dist::Zilla
-Test::File::ShareDir    = 0
+; authordep Pod::Weaver::Section::Contributors
 
-namespace::autoclean    = 0.11
-Path::Class             = 0.16
-String::Formatter       = 0.102082
-; core modules
-File::Spec              = 0
-IPC::Open3              = 0
-Config                  = 0
+[ContributorsFromGit]
 
-[Prereqs / TestRequires]
-Test::More = 0.88
+[MetaResources]
+x_IRC = irc://irc.perl.org/#distzilla
+x_MailingList = http://dzil.org/#mailing-list
 
-[ContributorsFromGit]
+[Test::CleanNamespaces]
 
 ; print a little extra output so we know it's working as expected
-[Bootstrap::lib]
 [Run::AfterBuild]
 run = echo "Built version %v in %d... So far so good"
 [Run::AfterRelease]
diff --git a/lib/Dist/Zilla/Plugin/Run.pm b/lib/Dist/Zilla/Plugin/Run.pm
index c495636..4969c62 100644
--- a/lib/Dist/Zilla/Plugin/Run.pm
+++ b/lib/Dist/Zilla/Plugin/Run.pm
@@ -5,8 +5,93 @@ package Dist::Zilla::Plugin::Run;
 BEGIN {
   $Dist::Zilla::Plugin::Run::AUTHORITY = 'cpan:GETTY';
 }
+# git description: 0.021-7-gbb7a0f3
+$Dist::Zilla::Plugin::Run::VERSION = '0.022';
 # ABSTRACT: Run external commands at specific phases of Dist::Zilla
-$Dist::Zilla::Plugin::Run::VERSION = '0.021';
+
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::AfterBuild]
+#pod   run = script/do_this.pl --dir %s --version %s
+#pod   run = script/do_that.pl
+#pod
+#pod   [Run::BeforeBuild]
+#pod   run = script/do_this.pl --version %s
+#pod   run = script/do_that.pl
+#pod
+#pod   [Run::BeforeRelease]
+#pod   run = script/myapp_before1.pl %s
+#pod   run = script/myapp_before2.pl %n %v
+#pod   run_no_trial = script/no_execution_on_trial.pl %n %v
+#pod
+#pod   [Run::Release]
+#pod   run = script/myapp_deploy1.pl %s
+#pod   run = deployer.pl --dir %d --tgz %a --name %n --version %v
+#pod   run_no_trial = script/no_execution_on_trial.pl --dir %d --tgz %a --name %n --version %v
+#pod
+#pod   [Run::AfterRelease]
+#pod   run = script/myapp_after.pl --archive %s --version %s
+#pod   ; %p can be used as the path separator if you have contributors on a different OS
+#pod   run = script%pmyapp_after.pl --archive %s --version %s
+#pod
+#pod   [Run::AfterRelease / MyAppAfter]
+#pod   run = script/myapp_after.pl --archive %s --version %s
+#pod
+#pod   [Run::Test]
+#pod   run = script/tester.pl --name %n --version %v some_file.ext
+#pod   run_if_release = ./Build install
+#pod   run_if_release = make install
+#pod
+#pod   [Run::AfterMint]
+#pod   run = some command %d
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod Run arbitrary commands at various L<Dist::Zilla> phases.
+#pod
+#pod =head1 PARAMETERS
+#pod
+#pod =head2 run
+#pod
+#pod Run the specific command at the specific Dist::Zilla phase given by the
+#pod plugin, like I<[Run::Release]> runs on release phase.
+#pod
+#pod =head2 run_no_trial
+#pod
+#pod Only run the given command if this isn't a I<trial> build or release.
+#pod
+#pod =head2 run_trial
+#pod
+#pod Only run the given command if this is a I<trial> build or release.
+#pod
+#pod =head2 run_if_release
+#pod
+#pod Only run the given command if this is a release.
+#pod
+#pod =head2 run_no_release
+#pod
+#pod Only run a given command if this isn't a release.
+#pod
+#pod =head1 CONVERSIONS
+#pod
+#pod The following conversions/format specifiers are defined
+#pod for passing as arguments to the specified commands
+#pod (though not all values are available at all phases).
+#pod
+#pod =for :list
+#pod * C<%a> the archive of the release (available to all C<*Release> phases)
+#pod * C<%d> the directory in which the dist was built (or minted) (not in C<BeforeBuild>)
+#pod * C<%n> the dist name
+#pod * C<%p> path separator ('/' on Unix, '\\' on Win32... useful for cross-platform dist.ini files)
+#pod * C<%v> the dist version
+#pod * C<%x> full path to the current perl interpreter (like $^X but from L<Config>)
+#pod
+#pod Additionally C<%s> is retained for backward compatibility.
+#pod Each occurrence is replaced by a different value
+#pod (like the regular C<sprintf> function).
+#pod Individual plugins define their own values for the positional replacement of C<%s>.
+#pod
+#pod =cut
 
 1;
 
@@ -14,13 +99,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run - Run external commands at specific phases of Dist::Zilla
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -135,4 +222,38 @@ This software is copyright (c) 2010 by L<Raudssus Social Software|https://raudss
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Al Newkirk <github at alnewkirk.com>
+
+=item *
+
+Karen Etheridge <ether at cpan.org>
+
+=item *
+
+Nickolay Platonov <nplatonov at cpan.org>
+
+=item *
+
+Olivier Mengué <dolmen at cpan.org>
+
+=item *
+
+Randy Stauner <rwstauner at cpan.org>
+
+=item *
+
+Tatsuhiko Miyagawa <miyagawa at cpan.org>
+
+=item *
+
+Torsten Raudssus <getty at cpan.org>
+
+=back
+
 =cut
diff --git a/lib/Dist/Zilla/Plugin/Run/AfterBuild.pm b/lib/Dist/Zilla/Plugin/Run/AfterBuild.pm
index 4ab5f31..538ee69 100644
--- a/lib/Dist/Zilla/Plugin/Run/AfterBuild.pm
+++ b/lib/Dist/Zilla/Plugin/Run/AfterBuild.pm
@@ -6,11 +6,11 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::AfterBuild::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: execute a command of the distribution after build
-$Dist::Zilla::Plugin::Run::AfterBuild::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::AfterBuild::VERSION = '0.022';
 use Moose;
 with qw(
-	Dist::Zilla::Role::AfterBuild
-	Dist::Zilla::Plugin::Run::Role::Runner
+    Dist::Zilla::Role::AfterBuild
+    Dist::Zilla::Plugin::Run::Role::Runner
 );
 
 use namespace::autoclean;
@@ -23,6 +23,29 @@ sub after_build {
   });
 }
 
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::AfterBuild]
+#pod   run = script/do_this.pl --dir %s --version %s
+#pod   run = script/do_that.pl
+#pod
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This plugin executes the specified command after building the dist.
+#pod
+#pod =head1 POSITIONAL PARAMETERS
+#pod
+#pod See L<Dist::Zilla::Plugin::Run/CONVERSIONS>
+#pod for the list of common formatting variables available to all plugins.
+#pod
+#pod For backward compatibility:
+#pod
+#pod =for :list
+#pod * The 1st C<%s> will be replaced by the directory in which the dist was built.
+#pod * The 2nd C<%s> will be replaced by the dist version.
+#pod
+#pod =cut
 
 1;
 
@@ -30,13 +53,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::AfterBuild - execute a command of the distribution after build
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
diff --git a/lib/Dist/Zilla/Plugin/Run/AfterMint.pm b/lib/Dist/Zilla/Plugin/Run/AfterMint.pm
index 9d146a4..1acd78b 100644
--- a/lib/Dist/Zilla/Plugin/Run/AfterMint.pm
+++ b/lib/Dist/Zilla/Plugin/Run/AfterMint.pm
@@ -6,7 +6,7 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::AfterMint::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: Execute a command after a new dist is minted
-$Dist::Zilla::Plugin::Run::AfterMint::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::AfterMint::VERSION = '0.022';
 use Moose;
 with qw(
   Dist::Zilla::Role::AfterMint
@@ -23,6 +23,21 @@ sub after_mint {
   });
 }
 
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::AfterMint]
+#pod   run = some command %d
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This plugin executes the specified command after minting a new dist.
+#pod
+#pod =head1 CONVERSIONS
+#pod
+#pod See L<Dist::Zilla::Plugin::Run/CONVERSIONS>
+#pod for the list of common formatting variables available to all plugins.
+#pod
+#pod =cut
 
 1;
 
@@ -30,13 +45,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::AfterMint - Execute a command after a new dist is minted
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
diff --git a/lib/Dist/Zilla/Plugin/Run/AfterRelease.pm b/lib/Dist/Zilla/Plugin/Run/AfterRelease.pm
index 9514cd0..59b6b12 100644
--- a/lib/Dist/Zilla/Plugin/Run/AfterRelease.pm
+++ b/lib/Dist/Zilla/Plugin/Run/AfterRelease.pm
@@ -6,11 +6,11 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::AfterRelease::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: execute a command of the distribution after release
-$Dist::Zilla::Plugin::Run::AfterRelease::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::AfterRelease::VERSION = '0.022';
 use Moose;
 with qw(
-	Dist::Zilla::Role::AfterRelease
-	Dist::Zilla::Plugin::Run::Role::Runner
+    Dist::Zilla::Role::AfterRelease
+    Dist::Zilla::Plugin::Run::Role::Runner
 );
 
 use namespace::autoclean;
@@ -23,6 +23,32 @@ sub after_release {
   });
 }
 
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::AfterRelease]
+#pod   run = script/myapp_after.pl --archive %s --version %s
+#pod
+#pod or
+#pod
+#pod   [Run::AfterRelease / MyAppAfter]
+#pod   run = script/myapp_after.pl %s %s
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This plugin executes the specified command after releasing.
+#pod
+#pod =head1 POSITIONAL PARAMETERS
+#pod
+#pod See L<Dist::Zilla::Plugin::Run/CONVERSIONS>
+#pod for the list of common formatting variables available to all plugins.
+#pod
+#pod For backward compatibility:
+#pod
+#pod =for :list
+#pod * The 1st C<%s> will be replaced by the archive of the release.
+#pod * The 2nd C<%s> will be replaced by the dist version.
+#pod
+#pod =cut
 
 1;
 
@@ -30,13 +56,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::AfterRelease - execute a command of the distribution after release
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
diff --git a/lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm b/lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm
index d096327..eaabf34 100644
--- a/lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm
+++ b/lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm
@@ -6,11 +6,11 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::BeforeBuild::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: execute a command of the distribution before build
-$Dist::Zilla::Plugin::Run::BeforeBuild::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::BeforeBuild::VERSION = '0.022';
 use Moose;
 with qw(
-	Dist::Zilla::Role::BeforeBuild
-	Dist::Zilla::Plugin::Run::Role::Runner
+    Dist::Zilla::Role::BeforeBuild
+    Dist::Zilla::Plugin::Run::Role::Runner
 );
 
 use namespace::autoclean;
@@ -22,6 +22,28 @@ sub before_build {
   });
 }
 
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::BeforeBuild]
+#pod   run = script/do_this.pl --version %s
+#pod   run = script/do_that.pl
+#pod
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This plugin executes the specified command before building the dist.
+#pod
+#pod =head1 POSITIONAL PARAMETERS
+#pod
+#pod See L<Dist::Zilla::Plugin::Run/CONVERSIONS>
+#pod for the list of common formatting variables available to all plugins.
+#pod
+#pod For backward compatibility:
+#pod
+#pod =for :list
+#pod * The 1st C<%s> will be replaced by the dist version.
+#pod
+#pod =cut
 
 1;
 
@@ -29,13 +51,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::BeforeBuild - execute a command of the distribution before build
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
diff --git a/lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm b/lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm
index b3579f9..3b6969b 100644
--- a/lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm
+++ b/lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm
@@ -6,11 +6,11 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::BeforeRelease::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: execute a command of the distribution before release
-$Dist::Zilla::Plugin::Run::BeforeRelease::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::BeforeRelease::VERSION = '0.022';
 use Moose;
 with qw(
-	Dist::Zilla::Role::BeforeRelease
-	Dist::Zilla::Plugin::Run::Role::Runner
+    Dist::Zilla::Role::BeforeRelease
+    Dist::Zilla::Plugin::Run::Role::Runner
 );
 
 use namespace::autoclean;
@@ -23,6 +23,31 @@ sub before_release {
   });
 }
 
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::BeforeRelease]
+#pod   run = script/myapp_before.pl %s
+#pod
+#pod or
+#pod
+#pod   [Run::BeforeRelease / MyAppBefore]
+#pod   run = script/myapp_before.pl %s
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This plugin executes the specified command before releasing.
+#pod
+#pod =head1 POSITIONAL PARAMETERS
+#pod
+#pod See L<Dist::Zilla::Plugin::Run/CONVERSIONS>
+#pod for the list of common formatting variables available to all plugins.
+#pod
+#pod For backward compatibility:
+#pod
+#pod =for :list
+#pod * The 1st C<%s> will be replaced by the archive of the release.
+#pod
+#pod =cut
 
 1;
 
@@ -30,13 +55,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::BeforeRelease - execute a command of the distribution before release
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
diff --git a/lib/Dist/Zilla/Plugin/Run/Release.pm b/lib/Dist/Zilla/Plugin/Run/Release.pm
index 1342764..41dd087 100644
--- a/lib/Dist/Zilla/Plugin/Run/Release.pm
+++ b/lib/Dist/Zilla/Plugin/Run/Release.pm
@@ -6,11 +6,11 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::Release::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: execute a command of the distribution on release
-$Dist::Zilla::Plugin::Run::Release::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::Release::VERSION = '0.022';
 use Moose;
 with qw(
-	Dist::Zilla::Role::Releaser
-	Dist::Zilla::Plugin::Run::Role::Runner
+    Dist::Zilla::Role::Releaser
+    Dist::Zilla::Plugin::Run::Role::Runner
 );
 
 use namespace::autoclean;
@@ -23,6 +23,33 @@ sub release {
   });
 }
 
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::Release]
+#pod   run = script/myapp_deploy.pl %s
+#pod
+#pod or
+#pod
+#pod   [Run::Release / MyAppDeploy]
+#pod   run = script/myapp_deploy.pl %s
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This plugin executes the specified command for the release process.
+#pod
+#pod This way you can specify a custom release command without needing any other C<Releaser> plugin.
+#pod
+#pod =head1 POSITIONAL PARAMETERS
+#pod
+#pod See L<Dist::Zilla::Plugin::Run/CONVERSIONS>
+#pod for the list of common formatting variables available to all plugins.
+#pod
+#pod For backward compatibility:
+#pod
+#pod =for :list
+#pod * The 1st C<%s> will be replaced by the archive of the release.
+#pod
+#pod =cut
 
 1;
 
@@ -30,13 +57,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::Release - execute a command of the distribution on release
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
diff --git a/lib/Dist/Zilla/Plugin/Run/Role/Runner.pm b/lib/Dist/Zilla/Plugin/Run/Role/Runner.pm
index cc47efa..a6fb993 100644
--- a/lib/Dist/Zilla/Plugin/Run/Role/Runner.pm
+++ b/lib/Dist/Zilla/Plugin/Run/Role/Runner.pm
@@ -6,7 +6,7 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::Role::Runner::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: Role for the packages of Dist::Zilla::Plugin::Run
-$Dist::Zilla::Plugin::Run::Role::Runner::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::Role::Runner::VERSION = '0.022';
 use Moose::Role;
 use namespace::autoclean;
 use File::Spec (); # core
@@ -133,12 +133,12 @@ sub run_cmd {
 
 around mvp_multivalue_args => sub {
     my ($original, $self) = @_;
-    
+
     my @res = $self->$original();
 
     push @res, qw( run run_no_trial run_if_trial run_if_release run_no_release );
-    
-    @res; 
+
+    @res;
 };
 
 my $path_separator = (File::Spec->catfile(qw(a b)) =~ m/^a(.+?)b$/)[0];
@@ -200,6 +200,11 @@ sub current_perl_path {
     return $perl;
 }
 
+#pod =head1 DESCRIPTION
+#pod
+#pod This is the base role for all the plugins L<Dist::Zilla::Plugin::Run> delivers. You don't need this.
+#pod
+#pod =cut
 
 1;
 # vim: set ts=4 sts=4 sw=4 expandtab smarttab:
@@ -208,13 +213,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::Role::Runner - Role for the packages of Dist::Zilla::Plugin::Run
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 DESCRIPTION
 
diff --git a/lib/Dist/Zilla/Plugin/Run/Test.pm b/lib/Dist/Zilla/Plugin/Run/Test.pm
index 9aa463a..450e262 100644
--- a/lib/Dist/Zilla/Plugin/Run/Test.pm
+++ b/lib/Dist/Zilla/Plugin/Run/Test.pm
@@ -6,23 +6,47 @@ BEGIN {
   $Dist::Zilla::Plugin::Run::Test::AUTHORITY = 'cpan:GETTY';
 }
 # ABSTRACT: execute a command of the distribution after build
-$Dist::Zilla::Plugin::Run::Test::VERSION = '0.021';
+$Dist::Zilla::Plugin::Run::Test::VERSION = '0.022';
 use Moose;
 with qw(
-	Dist::Zilla::Role::TestRunner
-	Dist::Zilla::Plugin::Run::Role::Runner
+    Dist::Zilla::Role::TestRunner
+    Dist::Zilla::Plugin::Run::Role::Runner
 );
 
 use namespace::autoclean;
 
 sub test {
     my ($self, $dir) = @_;
-    
+
     $self->call_script({
         dir =>  $dir
     });
 }
 
+#pod =head1 SYNOPSIS
+#pod
+#pod   [Run::Test]
+#pod   run = script/tester.pl --name %n --version %v some_file.ext
+#pod
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This plugin executes the specified command during the test phase.
+#pod
+#pod =head1 CAVEAT
+#pod
+#pod Unlike the other [Run::*] plugins, when running the scripts, the
+#pod current working directory will be the directory with
+#pod newly built distribution. This is the way Dist::Zilla works.
+#pod
+#pod =head1 POSITIONAL PARAMETERS
+#pod
+#pod See L<Dist::Zilla::Plugin::Run/CONVERSIONS>
+#pod for the list of common formatting variables available to all plugins.
+#pod
+#pod There are no positional parameters for this plugin.
+#pod
+#pod =cut
 
 1;
 
@@ -30,13 +54,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Dist::Zilla::Plugin::Run::Test - execute a command of the distribution after build
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -49,8 +75,8 @@ This plugin executes the specified command during the test phase.
 
 =head1 CAVEAT
 
-Unlike the other [Run::*] plugins, when running the scripts, the 
-current working directory will be the directory with 
+Unlike the other [Run::*] plugins, when running the scripts, the
+current working directory will be the directory with
 newly built distribution. This is the way Dist::Zilla works.
 
 =head1 POSITIONAL PARAMETERS
diff --git a/t/00-report-prereqs.dd b/t/00-report-prereqs.dd
new file mode 100644
index 0000000..9e5d226
--- /dev/null
+++ b/t/00-report-prereqs.dd
@@ -0,0 +1,93 @@
+do { my $x = {
+       'configure' => {
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '6.30',
+                                        'Module::Build::Tiny' => '0.036'
+                                      }
+                      },
+       'develop' => {
+                      'recommends' => {
+                                        'Dist::Zilla::PluginBundle::Author::ETHER' => '0.066'
+                                      },
+                      'requires' => {
+                                      'Dist::Zilla' => '5',
+                                      'Dist::Zilla::Plugin::Bootstrap::lib' => '0',
+                                      'Dist::Zilla::Plugin::ContributorsFromGit' => '0',
+                                      'Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch' => '0.004',
+                                      'Dist::Zilla::Plugin::Git::Commit' => '2.020',
+                                      'Dist::Zilla::Plugin::Git::GatherDir' => '2.016',
+                                      'Dist::Zilla::Plugin::GitHub::Update' => '0',
+                                      'Dist::Zilla::Plugin::GithubMeta' => '0',
+                                      'Dist::Zilla::Plugin::Keywords' => '0.004',
+                                      'Dist::Zilla::Plugin::MakeMaker::Fallback' => '0.008',
+                                      'Dist::Zilla::Plugin::MetaProvides::Package' => '1.15000002',
+                                      'Dist::Zilla::Plugin::MetaResources' => '0',
+                                      'Dist::Zilla::Plugin::ModuleBuildTiny::Fallback' => '0.005',
+                                      'Dist::Zilla::Plugin::NextRelease' => '4.300018',
+                                      'Dist::Zilla::Plugin::PkgVersion' => '5.010',
+                                      'Dist::Zilla::Plugin::Run::AfterBuild' => '0',
+                                      'Dist::Zilla::Plugin::Run::AfterRelease' => '0',
+                                      'Dist::Zilla::Plugin::RunExtraTests' => '0.019',
+                                      'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0.008',
+                                      'Dist::Zilla::Plugin::Test::CleanNamespaces' => '0',
+                                      'Dist::Zilla::Plugin::Test::Compile' => '2.039',
+                                      'Dist::Zilla::Plugin::Test::MinimumVersion' => '2.000003',
+                                      'Dist::Zilla::PluginBundle::Author::ETHER' => '0.065',
+                                      'File::Spec' => '0',
+                                      'IO::Handle' => '0',
+                                      'IPC::Open3' => '0',
+                                      'Pod::Weaver::Section::Contributors' => '0',
+                                      'Test::CPAN::Changes' => '0.19',
+                                      'Test::CPAN::Meta' => '0',
+                                      'Test::CleanNamespaces' => '0.13',
+                                      'Test::Kwalitee' => '1.12',
+                                      'Test::More' => '0.94',
+                                      'Test::NoTabs' => '0',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Spelling' => '0.12'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'Dist::Zilla::Role::AfterBuild' => '0',
+                                      'Dist::Zilla::Role::AfterMint' => '0',
+                                      'Dist::Zilla::Role::AfterRelease' => '0',
+                                      'Dist::Zilla::Role::BeforeBuild' => '0',
+                                      'Dist::Zilla::Role::BeforeRelease' => '0',
+                                      'Dist::Zilla::Role::Releaser' => '0',
+                                      'Dist::Zilla::Role::TestRunner' => '0',
+                                      'File::Spec' => '0',
+                                      'IPC::Open3' => '0',
+                                      'Moose' => '0',
+                                      'Moose::Role' => '0',
+                                      'String::Formatter' => '0.102082',
+                                      'namespace::autoclean' => '0',
+                                      'perl' => '5.006',
+                                      'strict' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '0',
+                                     'CPAN::Meta::Prereqs' => '0',
+                                     'CPAN::Meta::Requirements' => '2.120900'
+                                   },
+                   'requires' => {
+                                   'Dist::Zilla::Tester' => '0',
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Spec' => '0',
+                                   'File::Spec::Functions' => '0',
+                                   'List::Util' => '0',
+                                   'Path::Class' => '0',
+                                   'Scalar::Util' => '0',
+                                   'Test::DZil' => '0',
+                                   'Test::File::ShareDir' => '0',
+                                   'Test::More' => '0.88',
+                                   'lib' => '0',
+                                   'version' => '0.77'
+                                 }
+                 }
+     };
+  $x;
+ }
\ No newline at end of file
diff --git a/t/00-report-prereqs.t b/t/00-report-prereqs.t
new file mode 100644
index 0000000..44a7411
--- /dev/null
+++ b/t/00-report-prereqs.t
@@ -0,0 +1,164 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.014
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec::Functions;
+use List::Util qw/max first/;
+use Scalar::Util qw/blessed/;
+use version;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $cpan_meta_req = "CPAN::Meta::Requirements";
+my $HAS_CPAN_META = eval "require $cpan_meta"; ## no critic
+my $HAS_CPAN_META_REQ = eval "require $cpan_meta_req; $cpan_meta_req->VERSION('2.120900')";
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _merge_prereqs {
+    my ($collector, $prereqs) = @_;
+
+    # CPAN::Meta::Prereqs object
+    if (blessed $collector eq $cpan_meta_pre) {
+        return $collector->with_merged_prereqs(
+            CPAN::Meta::Prereqs->new( $prereqs )
+        );
+    }
+
+    # Raw hashrefs
+    for my $phase ( keys %$prereqs ) {
+        for my $type ( keys %{ $prereqs->{$phase} } ) {
+            for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+                $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
+            }
+        }
+    }
+
+    return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do 't/00-report-prereqs.dd';
+
+### XXX: Assume these are Runtime Requires
+my $static_prereqs_requires = $static_prereqs->{runtime}{requires};
+for my $mod (@include) {
+    $static_prereqs_requires->{$mod} = 0 unless exists $static_prereqs_requires->{$mod};
+}
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+    ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+    $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my $source = first { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META ) {
+    if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+        $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+    }
+}
+else {
+    $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+for my $phase ( qw(configure build test runtime develop) ) {
+    next unless $req_hash->{$phase};
+    next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+    for my $type ( qw(requires recommends suggests conflicts) ) {
+        next unless $req_hash->{$phase}{$type};
+
+        my $title = ucfirst($phase).' '.ucfirst($type);
+        my @reports = [qw/Module Want Have/];
+
+        for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+            next if $mod eq 'perl';
+            next if first { $_ eq $mod } @exclude;
+
+            my $file = $mod;
+            $file =~ s{::}{/}g;
+            $file .= ".pm";
+            my $prefix = first { -e catfile($_, $file) } @INC;
+
+            my $want = $req_hash->{$phase}{$type}{$mod};
+            $want = "undef" unless defined $want;
+            $want = "any" if !$want && $want == 0;
+
+            my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
+
+            if ($prefix) {
+                my $have = MM->parse_version( catfile($prefix, $file) );
+                $have = "undef" unless defined $have;
+                push @reports, [$mod, $want, $have];
+
+                if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+                    if ( ! defined eval { version->parse($have) } ) {
+                        push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
+                    }
+                    elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
+                        push @dep_errors, "$mod version '$have' is not in required range '$want'";
+                    }
+                }
+            }
+            else {
+                push @reports, [$mod, $want, "missing"];
+
+                if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+                    push @dep_errors, "$mod is not installed ($req_string)";
+                }
+            }
+        }
+
+        if ( @reports ) {
+            push @full_reports, "=== $title ===\n\n";
+
+            my $ml = max map { length $_->[0] } @reports;
+            my $wl = max map { length $_->[1] } @reports;
+            my $hl = max map { length $_->[2] } @reports;
+            splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+
+            push @full_reports, map { sprintf("    %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+            push @full_reports, "\n";
+        }
+    }
+}
+
+if ( @full_reports ) {
+    diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
+}
+
+if ( @dep_errors ) {
+    diag join("\n",
+        "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
+        "The following REQUIRED prerequisites were not satisfied:\n",
+        @dep_errors,
+        "\n"
+    );
+}
+
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
diff --git a/t/40_test_phase.t b/t/40_test_phase.t
index 6a2ba0b..bc907f6 100644
--- a/t/40_test_phase.t
+++ b/t/40_test_phase.t
@@ -15,13 +15,13 @@ use Dist::Zilla::Tester;
 
     my $dir = $tzil->tempdir->subdir('build');
     $tzil->run_tests_in($dir);
-    
+
     my $test_file   = $tzil->tempdir->file(qw(build test.txt));
-    
+
     ok(-f $test_file, 'Test script has been ran');
-    
+
     my $content     = $tzil->slurp_file(file(qw(build test.txt)));
-    
+
     is($content, "test $dir Digest-MD5-0.01", 'Correct `test` result');
 }
 
diff --git a/t/release-pod-syntax.t b/t/release-pod-syntax.t
deleted file mode 100644
index cdd6a6c..0000000
--- a/t/release-pod-syntax.t
+++ /dev/null
@@ -1,14 +0,0 @@
-#!perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
-use Test::More;
-use Test::Pod 1.41;
-
-all_pod_files_ok();
diff --git a/test_data/all_phases/lib/Digest/MD5.js b/test_data/all_phases/lib/Digest/MD5.js
index 810db6a..9d87d54 100644
--- a/test_data/all_phases/lib/Digest/MD5.js
+++ b/test_data/all_phases/lib/Digest/MD5.js
@@ -1,4 +1,4 @@
 var template = new Shotenjin.Joose.Template({
-    
+
     /*tjfile(template/MD5.tj.html)tjfile*/
 })
\ No newline at end of file
diff --git a/test_data/build_phase/lib/Digest/MD5.js b/test_data/build_phase/lib/Digest/MD5.js
index 810db6a..9d87d54 100644
--- a/test_data/build_phase/lib/Digest/MD5.js
+++ b/test_data/build_phase/lib/Digest/MD5.js
@@ -1,4 +1,4 @@
 var template = new Shotenjin.Joose.Template({
-    
+
     /*tjfile(template/MD5.tj.html)tjfile*/
 })
\ No newline at end of file
diff --git a/test_data/test_phase/lib/Digest/MD5.js b/test_data/test_phase/lib/Digest/MD5.js
index 810db6a..9d87d54 100644
--- a/test_data/test_phase/lib/Digest/MD5.js
+++ b/test_data/test_phase/lib/Digest/MD5.js
@@ -1,4 +1,4 @@
 var template = new Shotenjin.Joose.Template({
-    
+
     /*tjfile(template/MD5.tj.html)tjfile*/
 })
\ No newline at end of file
diff --git a/weaver.ini b/weaver.ini
new file mode 100644
index 0000000..d15e82a
--- /dev/null
+++ b/weaver.ini
@@ -0,0 +1,6 @@
+[@Default]
+
+[Contributors]
+
+[-Transformer]
+transformer = List
diff --git a/xt/author/00-compile.t b/xt/author/00-compile.t
new file mode 100644
index 0000000..130de88
--- /dev/null
+++ b/xt/author/00-compile.t
@@ -0,0 +1,58 @@
+use 5.006;
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.043
+
+use Test::More 0.94 tests => 9 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+
+
+
+my @module_files = (
+    'Dist/Zilla/Plugin/Run.pm',
+    'Dist/Zilla/Plugin/Run/AfterBuild.pm',
+    'Dist/Zilla/Plugin/Run/AfterMint.pm',
+    'Dist/Zilla/Plugin/Run/AfterRelease.pm',
+    'Dist/Zilla/Plugin/Run/BeforeBuild.pm',
+    'Dist/Zilla/Plugin/Run/BeforeRelease.pm',
+    'Dist/Zilla/Plugin/Run/Release.pm',
+    'Dist/Zilla/Plugin/Run/Role/Runner.pm',
+    'Dist/Zilla/Plugin/Run/Test.pm'
+);
+
+
+
+# no fake home requested
+
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
+
+my @warnings;
+for my $lib (@module_files)
+{
+    # see L<perlfaq8/How can I capture STDERR from an external command?>
+    my $stderr = IO::Handle->new;
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+    my @_warnings = <$stderr>;
+    waitpid($pid, 0);
+    is($?, 0, "$lib loaded ok");
+
+    if (@_warnings)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
+    }
+}
+
+
+
+is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
+
+BAIL_OUT("Compilation problems") if !Test::More->builder->is_passing;
diff --git a/xt/author/pod-spell.t b/xt/author/pod-spell.t
new file mode 100644
index 0000000..d648d39
--- /dev/null
+++ b/xt/author/pod-spell.t
@@ -0,0 +1,51 @@
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006008
+use Test::Spelling 0.12;
+use Pod::Wordlist;
+
+
+add_stopwords(<DATA>);
+all_pod_files_spelling_ok( qw( bin lib  ) );
+__DATA__
+Torsten
+Raudssus
+torsten
+https
+Social
+Software
+Al
+Newkirk
+github
+Karen
+Etheridge
+ether
+Nickolay
+Platonov
+nplatonov
+Olivier
+Mengué
+dolmen
+Randy
+Stauner
+rwstauner
+Tatsuhiko
+Miyagawa
+miyagawa
+getty
+lib
+Dist
+Zilla
+Plugin
+Run
+Release
+Test
+AfterBuild
+BeforeRelease
+AfterRelease
+BeforeBuild
+AfterMint
+Role
+Runner
diff --git a/xt/release/changes_has_content.t b/xt/release/changes_has_content.t
new file mode 100644
index 0000000..bc827f0
--- /dev/null
+++ b/xt/release/changes_has_content.t
@@ -0,0 +1,41 @@
+#!perl
+
+use Test::More tests => 2;
+
+note 'Checking Changes';
+my $changes_file = 'Changes';
+my $newver = '0.022';
+my $trial_token = '-TRIAL';
+
+SKIP: {
+    ok(-e $changes_file, "$changes_file file exists")
+        or skip 'Changes is missing', 1;
+
+    ok(_get_changes($newver), "$changes_file has content for $newver");
+}
+
+done_testing;
+
+# _get_changes copied and adapted from Dist::Zilla::Plugin::Git::Commit
+# by Jerome Quelin
+sub _get_changes
+{
+    my $newver = shift;
+
+    # parse changelog to find commit message
+    open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!";
+    my $changelog = join('', <$fh>);
+    close $fh;
+
+    my @content =
+        grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver to un-indented
+        split /\n/, $changelog;
+    shift @content; # drop the version line
+
+    # drop unindented last line and trailing blank lines
+    pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ );
+
+    # return number of non-blank lines
+    return scalar @content;
+}
+
diff --git a/xt/release/clean-namespaces.t b/xt/release/clean-namespaces.t
new file mode 100644
index 0000000..d8ec204
--- /dev/null
+++ b/xt/release/clean-namespaces.t
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::CleanNamespaces 0.004
+
+use Test::More 0.94;
+use Test::CleanNamespaces 0.04;
+
+subtest all_namespaces_clean => sub { all_namespaces_clean() };
+
+done_testing;
diff --git a/xt/release/cpan-changes.t b/xt/release/cpan-changes.t
new file mode 100644
index 0000000..8e6e413
--- /dev/null
+++ b/xt/release/cpan-changes.t
@@ -0,0 +1,11 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More 0.96 tests => 2;
+use_ok('Test::CPAN::Changes');
+subtest 'changes_ok' => sub {
+    changes_file_ok('Changes');
+};
+done_testing();
diff --git a/xt/release/distmeta.t b/xt/release/distmeta.t
new file mode 100644
index 0000000..c2280dc
--- /dev/null
+++ b/xt/release/distmeta.t
@@ -0,0 +1,6 @@
+#!perl
+# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
+
+use Test::CPAN::Meta;
+
+meta_yaml_ok();
diff --git a/xt/release/eol.t b/xt/release/eol.t
new file mode 100644
index 0000000..d13c49d
--- /dev/null
+++ b/xt/release/eol.t
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+use Test::More;
+
+eval 'use Test::EOL';
+plan skip_all => 'Test::EOL required' if $@;
+
+all_perl_files_ok({ trailing_whitespace => 1 });
diff --git a/xt/release/kwalitee.t b/xt/release/kwalitee.t
new file mode 100644
index 0000000..13cecfa
--- /dev/null
+++ b/xt/release/kwalitee.t
@@ -0,0 +1,4 @@
+# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.07
+use strict;
+use warnings;
+use Test::Kwalitee;
diff --git a/xt/release/minimum-version.t b/xt/release/minimum-version.t
new file mode 100644
index 0000000..7a78be0
--- /dev/null
+++ b/xt/release/minimum-version.t
@@ -0,0 +1,8 @@
+#!perl
+
+use Test::More;
+
+eval "use Test::MinimumVersion";
+plan skip_all => "Test::MinimumVersion required for testing minimum versions"
+  if $@;
+all_minimum_version_ok( qq{5.008001} );
diff --git a/xt/release/mojibake.t b/xt/release/mojibake.t
new file mode 100644
index 0000000..390c632
--- /dev/null
+++ b/xt/release/mojibake.t
@@ -0,0 +1,12 @@
+#!perl
+
+use strict;
+use warnings qw(all);
+
+use Test::More;
+
+## no critic (ProhibitStringyEval, RequireCheckingReturnValueOfEval)
+eval q(use Test::Mojibake);
+plan skip_all => q(Test::Mojibake required for source encoding testing) if $@;
+
+all_files_encoding_ok();
diff --git a/xt/release/no-tabs.t b/xt/release/no-tabs.t
new file mode 100644
index 0000000..9421855
--- /dev/null
+++ b/xt/release/no-tabs.t
@@ -0,0 +1,43 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.08
+
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+    'lib/Dist/Zilla/Plugin/Run.pm',
+    'lib/Dist/Zilla/Plugin/Run/AfterBuild.pm',
+    'lib/Dist/Zilla/Plugin/Run/AfterMint.pm',
+    'lib/Dist/Zilla/Plugin/Run/AfterRelease.pm',
+    'lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm',
+    'lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm',
+    'lib/Dist/Zilla/Plugin/Run/Release.pm',
+    'lib/Dist/Zilla/Plugin/Run/Role/Runner.pm',
+    'lib/Dist/Zilla/Plugin/Run/Test.pm',
+    't/00-load.t',
+    't/00-report-prereqs.dd',
+    't/00-report-prereqs.t',
+    't/10_build_phase.t',
+    't/20_formatter.t',
+    't/30_all_phases.t',
+    't/40_test_phase.t',
+    't/50_mint.t',
+    'xt/author/00-compile.t',
+    'xt/author/pod-spell.t',
+    'xt/release/changes_has_content.t',
+    'xt/release/clean-namespaces.t',
+    'xt/release/cpan-changes.t',
+    'xt/release/distmeta.t',
+    'xt/release/eol.t',
+    'xt/release/kwalitee.t',
+    'xt/release/minimum-version.t',
+    'xt/release/mojibake.t',
+    'xt/release/no-tabs.t',
+    'xt/release/pod-syntax.t',
+    'xt/release/portability.t'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
diff --git a/xt/release/pod-syntax.t b/xt/release/pod-syntax.t
new file mode 100644
index 0000000..f0468f1
--- /dev/null
+++ b/xt/release/pod-syntax.t
@@ -0,0 +1,6 @@
+#!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+use Test::More;
+use Test::Pod 1.41;
+
+all_pod_files_ok();
diff --git a/xt/release/portability.t b/xt/release/portability.t
new file mode 100644
index 0000000..e68185d
--- /dev/null
+++ b/xt/release/portability.t
@@ -0,0 +1,11 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+eval 'use Test::Portability::Files';
+plan skip_all => 'Test::Portability::Files required for testing portability'
+    if $@;
+run_tests();

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdist-zilla-plugin-run-perl.git



More information about the Pkg-perl-cvs-commits mailing list