[libdist-zilla-role-bootstrap-perl] 01/01: Build results of 9647f8c (on master)

Axel Beckert abe at deuxchevaux.org
Sat Aug 8 11:58:51 UTC 2015


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

abe pushed a commit to annotated tag 1.000000
in repository libdist-zilla-role-bootstrap-perl.

commit 4dfbf0bbf5cc984c88586d57e33674f974c2591a
Author: Kent Fredric <kentfredric at gmail.com>
Date:   Sat Apr 5 18:30:39 2014 +1300

    Build results of 9647f8c (on master)
---
 .gitignore                            |   2 +
 .travis.yml                           |   6 +
 Build.PL                              |  72 -----
 Changes                               | 140 ++++------
 Changes.deps                          |  68 +++++
 Changes => Changes.deps.all           | 117 ++++----
 Changes => Changes.deps.dev           |  95 ++-----
 LICENSE                               |   8 +-
 MANIFEST                              |  17 +-
 META.json                             | 427 ++++++++++++++++--------------
 META.yml                              | 485 ++++++++++++++++++----------------
 Makefile.PL                           |  94 +++++++
 README                                |  13 +-
 dist.ini                              |   6 +-
 lib/Dist/Zilla/Role/Bootstrap.pm      | 215 ++++++++++++---
 maint-travis-ci/.gitrepo              |  11 +
 maint-travis-ci/.perltidyrc           |   2 +
 maint-travis-ci/branch_reset.pl       |  51 ++++
 maint-travis-ci/create_github_repo.pl |  38 +++
 maint-travis-ci/install_deps.pl       |  24 +-
 maint-travis-ci/install_deps_early.pl |  47 ++++
 maint-travis-ci/lib/tools.pm          |  43 ++-
 maint-travis-ci/report_fail_ctx.pl    |   4 +-
 maint-travis-ci/script.pl             |  12 +-
 maint-travis-ci/sterilize_env.pl      |  22 --
 maint-travis-ci/sync_tree.pl          |  60 ++++-
 maint-travis-ci/travis_enable.pl      |  88 ++++++
 maint-travis-ci/yamls/sterile.yaml    |   1 +
 maint-travis-ci/yamls/sterile2.yaml   |   6 +
 maint/perlcritic.rc.gen.pl            |  49 ++++
 perlcritic.deps                       |  14 +
 perlcritic.rc                         | 444 ++++++++++++++++++++++++++++++-
 t/00-report-prereqs.t                 | 238 +++++++++++++++++
 t/000-report-versions-tiny.t          |  88 ------
 xt/release/distmeta.t                 |   5 +-
 xt/release/pod-coverage.t             |  12 +-
 xt/release/pod-syntax.t               |   5 +-
 37 files changed, 2124 insertions(+), 905 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..62fd55d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.build
+Dist-Zilla-Role-Bootstrap-*
diff --git a/.travis.yml b/.travis.yml
index 9186391..d0a6ce1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,9 @@
 language: perl
 matrix:
+  allow_failures:
+    - perl: "5.8"
+    - env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+    - env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
   include:
     - perl: "5.8"
       env:  STERILIZE_ENV=0
@@ -27,8 +31,10 @@ matrix:
       env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
 before_install:
   - perlbrew list
+  - time perl ./maint-travis-ci/branch_reset.pl
   - time perl ./maint-travis-ci/sterilize_env.pl
 install:
+  - time perl ./maint-travis-ci/install_deps_early.pl
   - time perl ./maint-travis-ci/install_deps.pl
 before_script:
   - time perl ./maint-travis-ci/before_script.pl
diff --git a/Build.PL b/Build.PL
deleted file mode 100644
index a8ee5bc..0000000
--- a/Build.PL
+++ /dev/null
@@ -1,72 +0,0 @@
-
-use strict;
-use warnings;
-
-use Module::Build 0.3601;
-
-
-my %module_build_args = (
-  "build_requires" => {
-    "Module::Build" => "0.4200"
-  },
-  "configure_requires" => {
-    "Module::Build" => "0.4200"
-  },
-  "dist_abstract" => "Shared logic for bootstrap things.",
-  "dist_author" => [
-    "Kent Fredric <kentfredric\@gmail.com>"
-  ],
-  "dist_name" => "Dist-Zilla-Role-Bootstrap",
-  "dist_version" => "0.2.3",
-  "license" => "perl",
-  "module_name" => "Dist::Zilla::Role::Bootstrap",
-  "recommends" => {},
-  "recursive_test_files" => 1,
-  "requires" => {
-    "Carp" => 0,
-    "Dist::Zilla::Role::Plugin" => 0,
-    "List::UtilsBy" => 0,
-    "Moose::Role" => 0,
-    "MooseX::AttributeShortcuts" => "0.015",
-    "Path::Tiny" => 0,
-    "lib" => 0,
-    "perl" => "5.006",
-    "strict" => 0,
-    "version" => 0,
-    "warnings" => 0
-  },
-  "script_files" => [],
-  "test_requires" => {
-    "Dist::Zilla::Chrome::Test" => 0,
-    "Dist::Zilla::Dist::Builder" => 0,
-    "Dist::Zilla::MVP::Assembler::Zilla" => 0,
-    "Dist::Zilla::MVP::Section" => 0,
-    "File::Copy::Recursive" => 0,
-    "Moose" => 0,
-    "Path::FindDev" => 0,
-    "Test::More" => "1.001002"
-  }
-);
-
-
-my %fallback_build_requires = (
-  "Dist::Zilla::Chrome::Test" => 0,
-  "Dist::Zilla::Dist::Builder" => 0,
-  "Dist::Zilla::MVP::Assembler::Zilla" => 0,
-  "Dist::Zilla::MVP::Section" => 0,
-  "File::Copy::Recursive" => 0,
-  "Module::Build" => "0.4200",
-  "Moose" => 0,
-  "Path::FindDev" => 0,
-  "Test::More" => "1.001002"
-);
-
-
-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/Changes b/Changes
index bb9d025..b5d3be4 100644
--- a/Changes
+++ b/Changes
@@ -1,14 +1,48 @@
 Release history for Dist-Zilla-Role-Bootstrap
 
+1.000000 2014-04-05T05:29:35Z
+ [00 Major]
+ - This distribution has a few changes that are major enough that non-perl
+   toolchains may need to pay attention.
+ - Everyone else should find the changes in this release boring, except
+   maybe those who are trying to get off the Module::Build train.
+
+ [01 Versioning Scheme change]
+ - x.y.z becomes x.abydez, aka: Floats. If this is a problem, please
+   normalise versions downstream.
+ - Versioning scheme change is primary reason for 1.XXX on the box.
+
+ [02 Tooling Change]
+ - Internals now run on ExtUtils::MakeMaker instead of Module::Build.
+
+ [Dependencies::Aggregate]
+ - 5.008 : 205 → 207
+ - 5.010 : 183 → 187
+ - 5.019 : 167 → 166
+
+ [Dependencies::Stats]
+ - Dependencies changed since 0.2.3, see Changes.deps{,.all,.dev} for
+   details
+ - build: -1
+ - configure: +1 -1 (recommends: +1)
+ - develop: +7 ↑1 -9
+ - runtime: +1 ↑1
+ - test: +3 ↓1 (recommends: +4)
+
 0.2.3 2013-11-18T17:50:53Z
  [00 Bugfix]
  - Depend on a minimum version of MooseX::AttributeShortcuts to provide
    builder => sub {} support
  - Thanks, Graham Ollis for reporting, closes #1
 
- [Dependencies::Changed / runtime requires]
+ [Dependencies::Noteworthy]
  - MooseX::AttributeShortcuts 0 → 0.015
 
+ [Dependencies::Stats]
+ - Dependencies changed since 0.2.2, see Changes.deps{,.all,.dev} for
+   details
+ - runtime: ↑1
+
 0.2.2 2013-11-18T04:24:16Z
  [00 Minor/Bugfix]
  - Drop mandatory dep on 5.10.1. You will need a recent version.pm if you
@@ -16,82 +50,19 @@ Release history for Dist-Zilla-Role-Bootstrap
  - Use latest MB Magic
  - Switch to Compile::PerFile
 
- [Dependencies::Added / develop requires]
- - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
- - Dist::Zilla::Plugin::Authority 1.006
- - Dist::Zilla::Plugin::AutoPrereqs
- - Dist::Zilla::Plugin::CheckExtraTests
- - Dist::Zilla::Plugin::ConfirmRelease
- - Dist::Zilla::Plugin::EOLTests
- - Dist::Zilla::Plugin::Git::Check
- - Dist::Zilla::Plugin::Git::Commit
- - Dist::Zilla::Plugin::Git::CommitBuild
- - Dist::Zilla::Plugin::Git::GatherDir
- - Dist::Zilla::Plugin::Git::NextVersion
- - Dist::Zilla::Plugin::Git::Tag
- - Dist::Zilla::Plugin::GithubMeta
- - Dist::Zilla::Plugin::License
- - Dist::Zilla::Plugin::Manifest
- - Dist::Zilla::Plugin::ManifestSkip
- - Dist::Zilla::Plugin::MetaConfig
- - Dist::Zilla::Plugin::MetaData::BuiltWith
- - Dist::Zilla::Plugin::MetaJSON
- - Dist::Zilla::Plugin::MetaProvides::Package 1.14000001
- - Dist::Zilla::Plugin::MetaTests
- - Dist::Zilla::Plugin::MetaYAML
- - Dist::Zilla::Plugin::ModuleBuild
- - Dist::Zilla::Plugin::NextRelease
- - Dist::Zilla::Plugin::PkgVersion
- - Dist::Zilla::Plugin::PodCoverageTests
- - Dist::Zilla::Plugin::PodSyntaxTests
- - Dist::Zilla::Plugin::PodWeaver
- - Dist::Zilla::Plugin::Prereqs
- - Dist::Zilla::Plugin::Prereqs::MatchInstalled
- - Dist::Zilla::Plugin::PruneCruft
- - Dist::Zilla::Plugin::ReadmeAnyFromPod
- - Dist::Zilla::Plugin::ReadmeFromPod
- - Dist::Zilla::Plugin::ReportVersions::Tiny
- - Dist::Zilla::Plugin::Test::CPAN::Changes
- - Dist::Zilla::Plugin::Test::Compile::PerFile
- - Dist::Zilla::Plugin::Test::Kwalitee
- - Dist::Zilla::Plugin::Test::MinimumVersion
- - Dist::Zilla::Plugin::Test::Perl::Critic
- - Dist::Zilla::Plugin::TestRelease
- - Dist::Zilla::Plugin::Twitter
- - Dist::Zilla::Plugin::UploadToCPAN
- - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001
-
- [Dependencies::Added / develop suggests]
- - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
-
- [Dependencies::Changed / build requires]
- - Module::Build 0.4007 → 0.4200
-
- [Dependencies::Changed / configure requires]
- - Module::Build 0.4007 → 0.4200
-
- [Dependencies::Changed / develop requires]
- - Test::Kwalitee 1.08 → 1.12
-
- [Dependencies::Changed / runtime requires]
+ [Dependencies::Noteworthy]
+ - Module::Build upgrade
  - perl v5.10.0 → 5.006
-
- [Dependencies::Changed / test requires]
  - Test::More 0.98 → 1.001002
 
- [Dependencies::Removed / develop recommends]
- - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
-
- [Dependencies::Removed / develop requires]
- - Dist::Zilla::PluginBundle::Author::KENTNL::Lite
-
- [Dependencies::Removed / develop suggests]
- - Dist::Zilla::PluginBundle::Author::KENTNL v1.8.3
-
- [Dependencies::Removed / test requires]
- - File::Spec
- - IO::Handle
- - IPC::Open3
+ [Dependencies::Stats]
+ - Dependencies changed since 0.2.1, see Changes.deps{,.all,.dev} for
+   details
+ - build: ↑1
+ - configure: ↑1
+ - develop: +43 ↑1 -1 (recommends: -1, suggests: +1 -1)
+ - runtime: ↓1
+ - test: ↑1 -3
 
  [Documentation]
  - Use MetaCPAN in README.mkdn
@@ -105,8 +76,10 @@ Release history for Dist-Zilla-Role-Bootstrap
  - use ->realpath for comparisons to avoid symlink confusion on darwin
  - use $zilla->root instead of calling cwd()
 
- [Dependencies::Removed / runtime requires]
- - Cwd
+ [Dependencies::Stats]
+ - Dependencies changed since 0.2.0, see Changes.deps{,.all,.dev} for
+   details
+ - runtime: -1
 
 0.2.0 2013-09-21T12:39:54Z
  [00 Major - try_built_method]
@@ -115,13 +88,16 @@ Release history for Dist-Zilla-Role-Bootstrap
  - Alternative mechanism attempts to parse versions out of build dirs and
    use the latest
 
- [Dependencies::Added / runtime requires]
- - List::UtilsBy
- - version
+ [Dependencies::Noteworthy]
+ - added : List::UtilsBy
+ - added : version
+ - added : File::Copy::Recursive
 
- [Dependencies::Added / test requires]
- - File::Copy::Recursive
- - File::Spec
+ [Dependencies::Stats]
+ - Dependencies changed since 0.1.0, see Changes.deps{,.all,.dev} for
+   details
+ - runtime: +2
+ - test: +2
 
 0.1.0 2013-09-04T11:24:24Z
  - First version.
diff --git a/Changes.deps b/Changes.deps
new file mode 100644
index 0000000..1c93590
--- /dev/null
+++ b/Changes.deps
@@ -0,0 +1,68 @@
+1.000000
+ [Added / configure recommends]
+ - ExtUtils::MakeMaker 6.94
+
+ [Added / configure requires]
+ - ExtUtils::MakeMaker 6.30
+
+ [Added / runtime requires]
+ - utf8
+
+ [Added / test recommends]
+ - CPAN::Meta
+ - CPAN::Meta::Requirements 2.120900
+ - ExtUtils::MakeMaker 6.94
+ - Test::More 1.001003
+
+ [Added / test requires]
+ - ExtUtils::MakeMaker
+ - File::Spec::Functions
+ - List::Util
+
+ [Changed / runtime requires]
+ - perl 5.006 → 5.008
+
+ [Changed / test requires]
+ - Test::More 1.001002 → 0.89
+
+ [Removed / build requires]
+ - Module::Build 0.4200
+
+ [Removed / configure requires]
+ - Module::Build 0.4200
+
+0.2.3 2013-11-18T17:50:53Z
+ [Changed / runtime requires]
+ - MooseX::AttributeShortcuts 0 → 0.015
+
+0.2.2 2013-11-18T04:24:16Z
+ [Changed / build requires]
+ - Module::Build 0.4007 → 0.4200
+
+ [Changed / configure requires]
+ - Module::Build 0.4007 → 0.4200
+
+ [Changed / runtime requires]
+ - perl v5.10.0 → 5.006
+
+ [Changed / test requires]
+ - Test::More 0.98 → 1.001002
+
+ [Removed / test requires]
+ - File::Spec
+ - IO::Handle
+ - IPC::Open3
+
+0.2.1 2013-09-24T02:37:30Z
+ [Removed / runtime requires]
+ - Cwd
+
+0.2.0 2013-09-21T12:39:54Z
+ [Added / runtime requires]
+ - List::UtilsBy
+ - version
+
+ [Added / test requires]
+ - File::Copy::Recursive
+ - File::Spec
+
diff --git a/Changes b/Changes.deps.all
similarity index 55%
copy from Changes
copy to Changes.deps.all
index bb9d025..3e3c15a 100644
--- a/Changes
+++ b/Changes.deps.all
@@ -1,22 +1,65 @@
-Release history for Dist-Zilla-Role-Bootstrap
+1.000000
+ [Added / configure recommends]
+ - ExtUtils::MakeMaker 6.94
 
-0.2.3 2013-11-18T17:50:53Z
- [00 Bugfix]
- - Depend on a minimum version of MooseX::AttributeShortcuts to provide
-   builder => sub {} support
- - Thanks, Graham Ollis for reporting, closes #1
+ [Added / configure requires]
+ - ExtUtils::MakeMaker 6.30
+
+ [Added / develop requires]
+ - Dist::Zilla::Plugin::Git::NextRelease
+ - Dist::Zilla::Plugin::Git::NextVersion::Sanitized
+ - Dist::Zilla::Plugin::MakeMaker
+ - Dist::Zilla::Plugin::MinimumPerl
+ - Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
+ - Dist::Zilla::Plugin::RunExtraTests
+ - Dist::Zilla::Plugin::Test::ReportPrereqs
+
+ [Added / runtime requires]
+ - utf8
+
+ [Added / test recommends]
+ - CPAN::Meta
+ - CPAN::Meta::Requirements 2.120900
+ - ExtUtils::MakeMaker 6.94
+ - Test::More 1.001003
+
+ [Added / test requires]
+ - ExtUtils::MakeMaker
+ - File::Spec::Functions
+ - List::Util
+
+ [Changed / develop requires]
+ - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001 → 2.012002
+
+ [Changed / runtime requires]
+ - perl 5.006 → 5.008
+
+ [Changed / test requires]
+ - Test::More 1.001002 → 0.89
+
+ [Removed / build requires]
+ - Module::Build 0.4200
+
+ [Removed / configure requires]
+ - Module::Build 0.4200
+
+ [Removed / develop requires]
+ - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
+ - Dist::Zilla::Plugin::CheckExtraTests
+ - Dist::Zilla::Plugin::Git::NextVersion
+ - Dist::Zilla::Plugin::ModuleBuild
+ - Dist::Zilla::Plugin::NextRelease
+ - Dist::Zilla::Plugin::Prereqs::MatchInstalled
+ - Dist::Zilla::Plugin::PruneCruft
+ - Dist::Zilla::Plugin::ReportVersions::Tiny
+ - version 0.9901
 
- [Dependencies::Changed / runtime requires]
+0.2.3 2013-11-18T17:50:53Z
+ [Changed / runtime requires]
  - MooseX::AttributeShortcuts 0 → 0.015
 
 0.2.2 2013-11-18T04:24:16Z
- [00 Minor/Bugfix]
- - Drop mandatory dep on 5.10.1. You will need a recent version.pm if you
-   want a version-specific dependency to work
- - Use latest MB Magic
- - Switch to Compile::PerFile
-
- [Dependencies::Added / develop requires]
+ [Added / develop requires]
  - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
  - Dist::Zilla::Plugin::Authority 1.006
  - Dist::Zilla::Plugin::AutoPrereqs
@@ -61,68 +104,48 @@ Release history for Dist-Zilla-Role-Bootstrap
  - Dist::Zilla::Plugin::UploadToCPAN
  - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001
 
- [Dependencies::Added / develop suggests]
+ [Added / develop suggests]
  - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
 
- [Dependencies::Changed / build requires]
+ [Changed / build requires]
  - Module::Build 0.4007 → 0.4200
 
- [Dependencies::Changed / configure requires]
+ [Changed / configure requires]
  - Module::Build 0.4007 → 0.4200
 
- [Dependencies::Changed / develop requires]
+ [Changed / develop requires]
  - Test::Kwalitee 1.08 → 1.12
 
- [Dependencies::Changed / runtime requires]
+ [Changed / runtime requires]
  - perl v5.10.0 → 5.006
 
- [Dependencies::Changed / test requires]
+ [Changed / test requires]
  - Test::More 0.98 → 1.001002
 
- [Dependencies::Removed / develop recommends]
+ [Removed / develop recommends]
  - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
 
- [Dependencies::Removed / develop requires]
+ [Removed / develop requires]
  - Dist::Zilla::PluginBundle::Author::KENTNL::Lite
 
- [Dependencies::Removed / develop suggests]
+ [Removed / develop suggests]
  - Dist::Zilla::PluginBundle::Author::KENTNL v1.8.3
 
- [Dependencies::Removed / test requires]
+ [Removed / test requires]
  - File::Spec
  - IO::Handle
  - IPC::Open3
 
- [Documentation]
- - Use MetaCPAN in README.mkdn
-
- [Tests]
- - Regenerate Report::Versions to not report develop things.
- - S/Compile/Compile::PerFile/
-
 0.2.1 2013-09-24T02:37:30Z
- [Bugfix]
- - use ->realpath for comparisons to avoid symlink confusion on darwin
- - use $zilla->root instead of calling cwd()
-
- [Dependencies::Removed / runtime requires]
+ [Removed / runtime requires]
  - Cwd
 
 0.2.0 2013-09-21T12:39:54Z
- [00 Major - try_built_method]
- - New mechanisms for try_built if there is >1 build trees
- - Default mechanism 'mtime' picks built dir with the most recent mtime
- - Alternative mechanism attempts to parse versions out of build dirs and
-   use the latest
-
- [Dependencies::Added / runtime requires]
+ [Added / runtime requires]
  - List::UtilsBy
  - version
 
- [Dependencies::Added / test requires]
+ [Added / test requires]
  - File::Copy::Recursive
  - File::Spec
 
-0.1.0 2013-09-04T11:24:24Z
- - First version.
-
diff --git a/Changes b/Changes.deps.dev
similarity index 51%
copy from Changes
copy to Changes.deps.dev
index bb9d025..8670156 100644
--- a/Changes
+++ b/Changes.deps.dev
@@ -1,22 +1,31 @@
-Release history for Dist-Zilla-Role-Bootstrap
+1.000000
+ [Added / develop requires]
+ - Dist::Zilla::Plugin::Git::NextRelease
+ - Dist::Zilla::Plugin::Git::NextVersion::Sanitized
+ - Dist::Zilla::Plugin::MakeMaker
+ - Dist::Zilla::Plugin::MinimumPerl
+ - Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
+ - Dist::Zilla::Plugin::RunExtraTests
+ - Dist::Zilla::Plugin::Test::ReportPrereqs
+
+ [Changed / develop requires]
+ - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001 → 2.012002
+
+ [Removed / develop requires]
+ - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
+ - Dist::Zilla::Plugin::CheckExtraTests
+ - Dist::Zilla::Plugin::Git::NextVersion
+ - Dist::Zilla::Plugin::ModuleBuild
+ - Dist::Zilla::Plugin::NextRelease
+ - Dist::Zilla::Plugin::Prereqs::MatchInstalled
+ - Dist::Zilla::Plugin::PruneCruft
+ - Dist::Zilla::Plugin::ReportVersions::Tiny
+ - version 0.9901
 
 0.2.3 2013-11-18T17:50:53Z
- [00 Bugfix]
- - Depend on a minimum version of MooseX::AttributeShortcuts to provide
-   builder => sub {} support
- - Thanks, Graham Ollis for reporting, closes #1
-
- [Dependencies::Changed / runtime requires]
- - MooseX::AttributeShortcuts 0 → 0.015
 
 0.2.2 2013-11-18T04:24:16Z
- [00 Minor/Bugfix]
- - Drop mandatory dep on 5.10.1. You will need a recent version.pm if you
-   want a version-specific dependency to work
- - Use latest MB Magic
- - Switch to Compile::PerFile
-
- [Dependencies::Added / develop requires]
+ [Added / develop requires]
  - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
  - Dist::Zilla::Plugin::Authority 1.006
  - Dist::Zilla::Plugin::AutoPrereqs
@@ -61,68 +70,22 @@ Release history for Dist-Zilla-Role-Bootstrap
  - Dist::Zilla::Plugin::UploadToCPAN
  - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001
 
- [Dependencies::Added / develop suggests]
+ [Added / develop suggests]
  - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
 
- [Dependencies::Changed / build requires]
- - Module::Build 0.4007 → 0.4200
-
- [Dependencies::Changed / configure requires]
- - Module::Build 0.4007 → 0.4200
-
- [Dependencies::Changed / develop requires]
+ [Changed / develop requires]
  - Test::Kwalitee 1.08 → 1.12
 
- [Dependencies::Changed / runtime requires]
- - perl v5.10.0 → 5.006
-
- [Dependencies::Changed / test requires]
- - Test::More 0.98 → 1.001002
-
- [Dependencies::Removed / develop recommends]
+ [Removed / develop recommends]
  - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
 
- [Dependencies::Removed / develop requires]
+ [Removed / develop requires]
  - Dist::Zilla::PluginBundle::Author::KENTNL::Lite
 
- [Dependencies::Removed / develop suggests]
+ [Removed / develop suggests]
  - Dist::Zilla::PluginBundle::Author::KENTNL v1.8.3
 
- [Dependencies::Removed / test requires]
- - File::Spec
- - IO::Handle
- - IPC::Open3
-
- [Documentation]
- - Use MetaCPAN in README.mkdn
-
- [Tests]
- - Regenerate Report::Versions to not report develop things.
- - S/Compile/Compile::PerFile/
-
 0.2.1 2013-09-24T02:37:30Z
- [Bugfix]
- - use ->realpath for comparisons to avoid symlink confusion on darwin
- - use $zilla->root instead of calling cwd()
-
- [Dependencies::Removed / runtime requires]
- - Cwd
 
 0.2.0 2013-09-21T12:39:54Z
- [00 Major - try_built_method]
- - New mechanisms for try_built if there is >1 build trees
- - Default mechanism 'mtime' picks built dir with the most recent mtime
- - Alternative mechanism attempts to parse versions out of build dirs and
-   use the latest
-
- [Dependencies::Added / runtime requires]
- - List::UtilsBy
- - version
-
- [Dependencies::Added / test requires]
- - File::Copy::Recursive
- - File::Spec
-
-0.1.0 2013-09-04T11:24:24Z
- - First version.
 
diff --git a/LICENSE b/LICENSE
index 648d54d..f54a236 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-This software is copyright (c) 2013 by Kent Fredric <kentfredric at gmail.com>.
+This software is copyright (c) 2014 by Kent Fredric <kentfredric at gmail.com>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2013 by Kent Fredric <kentfredric at gmail.com>.
+This software is Copyright (c) 2014 by Kent Fredric <kentfredric at gmail.com>.
 
 This is free software, licensed under:
 
@@ -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.
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2013 by Kent Fredric <kentfredric at gmail.com>.
+This software is Copyright (c) 2014 by Kent Fredric <kentfredric at gmail.com>.
 
 This is free software, licensed under:
 
diff --git a/MANIFEST b/MANIFEST
index d506efe..835d951 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,31 +1,44 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.015.
+.gitignore
 .perltidyrc
 .travis.yml
-Build.PL
 Changes
+Changes.deps
+Changes.deps.all
+Changes.deps.dev
 LICENSE
 MANIFEST
 META.json
 META.yml
+Makefile.PL
 README
 corpus/fake_dist_01/lib/E.pm
 corpus/fake_dist_01/t/placeholder.txt
 dist.ini
 lib/Dist/Zilla/Role/Bootstrap.pm
+maint-travis-ci/.gitrepo
+maint-travis-ci/.perltidyrc
 maint-travis-ci/README.mkdn
 maint-travis-ci/before_script.pl
+maint-travis-ci/branch_reset.pl
+maint-travis-ci/create_github_repo.pl
 maint-travis-ci/install_deps.pl
+maint-travis-ci/install_deps_early.pl
 maint-travis-ci/lib/tools.pm
 maint-travis-ci/merge_travis_yml.pl
 maint-travis-ci/report_fail_ctx.pl
 maint-travis-ci/script.pl
 maint-travis-ci/sterilize_env.pl
 maint-travis-ci/sync_tree.pl
+maint-travis-ci/travis_enable.pl
 maint-travis-ci/yamls/sterile.mkdn
 maint-travis-ci/yamls/sterile.yaml
 maint-travis-ci/yamls/sterile2.yaml
+maint/perlcritic.rc.gen.pl
+perlcritic.deps
 perlcritic.rc
 t/00-compile/lib_Dist_Zilla_Role_Bootstrap_pm.t
-t/000-report-versions-tiny.t
+t/00-report-prereqs.t
 t/01-basic.t
 t/02-try-built-mtime.t
 t/03-try-built-parseversion.t
diff --git a/META.json b/META.json
index 640db71..a42fda4 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
       "Kent Fredric <kentfredric at gmail.com>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830",
+   "generated_by" : "Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.140640",
    "license" : [
       "perl_5"
    ],
@@ -14,32 +14,30 @@
    },
    "name" : "Dist-Zilla-Role-Bootstrap",
    "prereqs" : {
-      "build" : {
-         "requires" : {
-            "Module::Build" : "0.4200"
-         }
-      },
       "configure" : {
+         "recommends" : {
+            "ExtUtils::MakeMaker" : "6.94"
+         },
          "requires" : {
-            "Module::Build" : "0.4200"
+            "ExtUtils::MakeMaker" : "6.30"
          }
       },
       "develop" : {
          "requires" : {
-            "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl" : "0",
             "Dist::Zilla::Plugin::Authority" : "1.006",
             "Dist::Zilla::Plugin::AutoPrereqs" : "0",
-            "Dist::Zilla::Plugin::CheckExtraTests" : "0",
             "Dist::Zilla::Plugin::ConfirmRelease" : "0",
             "Dist::Zilla::Plugin::EOLTests" : "0",
             "Dist::Zilla::Plugin::Git::Check" : "0",
             "Dist::Zilla::Plugin::Git::Commit" : "0",
             "Dist::Zilla::Plugin::Git::CommitBuild" : "0",
             "Dist::Zilla::Plugin::Git::GatherDir" : "0",
-            "Dist::Zilla::Plugin::Git::NextVersion" : "0",
+            "Dist::Zilla::Plugin::Git::NextRelease" : "0",
+            "Dist::Zilla::Plugin::Git::NextVersion::Sanitized" : "0",
             "Dist::Zilla::Plugin::Git::Tag" : "0",
             "Dist::Zilla::Plugin::GithubMeta" : "0",
             "Dist::Zilla::Plugin::License" : "0",
+            "Dist::Zilla::Plugin::MakeMaker" : "0",
             "Dist::Zilla::Plugin::Manifest" : "0",
             "Dist::Zilla::Plugin::ManifestSkip" : "0",
             "Dist::Zilla::Plugin::MetaConfig" : "0",
@@ -48,34 +46,32 @@
             "Dist::Zilla::Plugin::MetaProvides::Package" : "1.14000001",
             "Dist::Zilla::Plugin::MetaTests" : "0",
             "Dist::Zilla::Plugin::MetaYAML" : "0",
-            "Dist::Zilla::Plugin::ModuleBuild" : "0",
-            "Dist::Zilla::Plugin::NextRelease" : "0",
+            "Dist::Zilla::Plugin::MinimumPerl" : "0",
             "Dist::Zilla::Plugin::PkgVersion" : "0",
             "Dist::Zilla::Plugin::PodCoverageTests" : "0",
             "Dist::Zilla::Plugin::PodSyntaxTests" : "0",
             "Dist::Zilla::Plugin::PodWeaver" : "0",
             "Dist::Zilla::Plugin::Prereqs" : "0",
-            "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : "0",
-            "Dist::Zilla::Plugin::PruneCruft" : "0",
+            "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : "0",
             "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0",
             "Dist::Zilla::Plugin::ReadmeFromPod" : "0",
-            "Dist::Zilla::Plugin::ReportVersions::Tiny" : "0",
+            "Dist::Zilla::Plugin::RunExtraTests" : "0",
             "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0",
             "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0",
             "Dist::Zilla::Plugin::Test::Kwalitee" : "0",
             "Dist::Zilla::Plugin::Test::MinimumVersion" : "0",
             "Dist::Zilla::Plugin::Test::Perl::Critic" : "0",
+            "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0",
             "Dist::Zilla::Plugin::TestRelease" : "0",
             "Dist::Zilla::Plugin::Twitter" : "0",
             "Dist::Zilla::Plugin::UploadToCPAN" : "0",
-            "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.002001",
+            "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.012002",
             "Pod::Coverage::TrustPod" : "0",
             "Test::CPAN::Changes" : "0.19",
             "Test::CPAN::Meta" : "0",
             "Test::Kwalitee" : "1.12",
             "Test::Pod" : "1.41",
-            "Test::Pod::Coverage" : "1.08",
-            "version" : "0.9901"
+            "Test::Pod::Coverage" : "1.08"
          },
          "suggests" : {
             "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "v1.3.0"
@@ -90,29 +86,39 @@
             "MooseX::AttributeShortcuts" : "0.015",
             "Path::Tiny" : "0",
             "lib" : "0",
-            "perl" : "5.006",
+            "perl" : "5.008",
             "strict" : "0",
+            "utf8" : "0",
             "version" : "0",
             "warnings" : "0"
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "0",
+            "CPAN::Meta::Requirements" : "2.120900",
+            "ExtUtils::MakeMaker" : "6.94",
+            "Test::More" : "1.001003"
+         },
          "requires" : {
             "Dist::Zilla::Chrome::Test" : "0",
             "Dist::Zilla::Dist::Builder" : "0",
             "Dist::Zilla::MVP::Assembler::Zilla" : "0",
             "Dist::Zilla::MVP::Section" : "0",
+            "ExtUtils::MakeMaker" : "0",
             "File::Copy::Recursive" : "0",
+            "File::Spec::Functions" : "0",
+            "List::Util" : "0",
             "Moose" : "0",
             "Path::FindDev" : "0",
-            "Test::More" : "1.001002"
+            "Test::More" : "0.89"
          }
       }
    },
    "provides" : {
       "Dist::Zilla::Role::Bootstrap" : {
          "file" : "lib/Dist/Zilla/Role/Bootstrap.pm",
-         "version" : "v0.2.3"
+         "version" : "1.000000"
       }
    },
    "release_status" : "stable",
@@ -127,110 +133,120 @@
          "web" : "https://github.com/kentfredric/Dist-Zilla-Role-Bootstrap"
       }
    },
-   "version" : "0.2.3",
+   "version" : "1.000000",
    "x_BuiltWith" : {
       "modules" : {
-         "Carp" : "1.32",
-         "Dist::Zilla::Chrome::Test" : "5.006",
-         "Dist::Zilla::Dist::Builder" : "5.006",
-         "Dist::Zilla::MVP::Assembler::Zilla" : "5.006",
-         "Dist::Zilla::MVP::Section" : "5.006",
-         "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl" : "2.002001",
+         "CPAN::Meta" : "2.140640",
+         "CPAN::Meta::Requirements" : "2.125",
+         "Carp" : "1.3301",
+         "Dist::Zilla::Chrome::Test" : "5.015",
+         "Dist::Zilla::Dist::Builder" : "5.015",
+         "Dist::Zilla::MVP::Assembler::Zilla" : "5.015",
+         "Dist::Zilla::MVP::Section" : "5.015",
          "Dist::Zilla::Plugin::Authority" : "1.006",
-         "Dist::Zilla::Plugin::AutoPrereqs" : "5.006",
-         "Dist::Zilla::Plugin::CheckExtraTests" : "0.016",
-         "Dist::Zilla::Plugin::ConfirmRelease" : "5.006",
+         "Dist::Zilla::Plugin::AutoPrereqs" : "5.015",
+         "Dist::Zilla::Plugin::ConfirmRelease" : "5.015",
          "Dist::Zilla::Plugin::EOLTests" : "0.02",
-         "Dist::Zilla::Plugin::Git::Check" : "2.017",
-         "Dist::Zilla::Plugin::Git::Commit" : "2.017",
-         "Dist::Zilla::Plugin::Git::CommitBuild" : "2.017",
-         "Dist::Zilla::Plugin::Git::GatherDir" : "2.017",
-         "Dist::Zilla::Plugin::Git::NextVersion" : "2.017",
-         "Dist::Zilla::Plugin::Git::Tag" : "2.017",
+         "Dist::Zilla::Plugin::Git::Check" : "2.020",
+         "Dist::Zilla::Plugin::Git::Commit" : "2.020",
+         "Dist::Zilla::Plugin::Git::CommitBuild" : "2.020",
+         "Dist::Zilla::Plugin::Git::GatherDir" : "2.020",
+         "Dist::Zilla::Plugin::Git::NextRelease" : "0.002010",
+         "Dist::Zilla::Plugin::Git::NextVersion::Sanitized" : "0.001000",
+         "Dist::Zilla::Plugin::Git::Tag" : "2.020",
          "Dist::Zilla::Plugin::GithubMeta" : "0.42",
-         "Dist::Zilla::Plugin::License" : "5.006",
-         "Dist::Zilla::Plugin::Manifest" : "5.006",
-         "Dist::Zilla::Plugin::ManifestSkip" : "5.006",
-         "Dist::Zilla::Plugin::MetaConfig" : "5.006",
-         "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0.04000000",
-         "Dist::Zilla::Plugin::MetaJSON" : "5.006",
-         "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000000",
-         "Dist::Zilla::Plugin::MetaTests" : "5.006",
-         "Dist::Zilla::Plugin::MetaYAML" : "5.006",
-         "Dist::Zilla::Plugin::ModuleBuild" : "5.006",
-         "Dist::Zilla::Plugin::NextRelease" : "5.006",
-         "Dist::Zilla::Plugin::PkgVersion" : "5.006",
-         "Dist::Zilla::Plugin::PodCoverageTests" : "5.006",
-         "Dist::Zilla::Plugin::PodSyntaxTests" : "5.006",
-         "Dist::Zilla::Plugin::PodWeaver" : "4.002",
-         "Dist::Zilla::Plugin::Prereqs" : "5.006",
-         "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : "0.1.4",
-         "Dist::Zilla::Plugin::PruneCruft" : "5.006",
-         "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.133060",
+         "Dist::Zilla::Plugin::License" : "5.015",
+         "Dist::Zilla::Plugin::MakeMaker" : "5.015",
+         "Dist::Zilla::Plugin::Manifest" : "5.015",
+         "Dist::Zilla::Plugin::ManifestSkip" : "5.015",
+         "Dist::Zilla::Plugin::MetaConfig" : "5.015",
+         "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0.04000002",
+         "Dist::Zilla::Plugin::MetaJSON" : "5.015",
+         "Dist::Zilla::Plugin::MetaProvides::Package" : "2.000001",
+         "Dist::Zilla::Plugin::MetaTests" : "5.015",
+         "Dist::Zilla::Plugin::MetaYAML" : "5.015",
+         "Dist::Zilla::Plugin::MinimumPerl" : "1.003",
+         "Dist::Zilla::Plugin::PkgVersion" : "5.015",
+         "Dist::Zilla::Plugin::PodCoverageTests" : "5.015",
+         "Dist::Zilla::Plugin::PodSyntaxTests" : "5.015",
+         "Dist::Zilla::Plugin::PodWeaver" : "4.005",
+         "Dist::Zilla::Plugin::Prereqs" : "5.015",
+         "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : "0.001000",
+         "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.133360",
          "Dist::Zilla::Plugin::ReadmeFromPod" : "0.21",
-         "Dist::Zilla::Plugin::ReportVersions::Tiny" : "1.10",
+         "Dist::Zilla::Plugin::RunExtraTests" : "0.021",
          "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.008",
          "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0.001001",
          "Dist::Zilla::Plugin::Test::Kwalitee" : "2.07",
          "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000005",
          "Dist::Zilla::Plugin::Test::Perl::Critic" : "2.112410",
-         "Dist::Zilla::Plugin::TestRelease" : "5.006",
-         "Dist::Zilla::Plugin::Twitter" : "0.023",
-         "Dist::Zilla::Plugin::UploadToCPAN" : "5.006",
-         "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.002001",
+         "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0.013",
+         "Dist::Zilla::Plugin::TestRelease" : "5.015",
+         "Dist::Zilla::Plugin::Twitter" : "0.025",
+         "Dist::Zilla::Plugin::UploadToCPAN" : "5.015",
+         "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.012002",
          "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "1.7.2",
-         "Dist::Zilla::Role::Plugin" : "5.006",
+         "Dist::Zilla::Role::Plugin" : "5.015",
+         "ExtUtils::MakeMaker" : "6.94",
          "File::Copy::Recursive" : "0.38",
+         "File::Spec::Functions" : "3.47",
+         "List::Util" : "1.38",
          "List::UtilsBy" : "0.09",
-         "Module::Build" : "0.4200",
-         "Moose" : "2.1106",
-         "Moose::Role" : "2.1106",
-         "MooseX::AttributeShortcuts" : "0.022",
-         "Path::FindDev" : "0.4.2",
-         "Path::Tiny" : "0.044",
+         "Moose" : "2.1204",
+         "Moose::Role" : "2.1204",
+         "MooseX::AttributeShortcuts" : "0.023",
+         "Path::FindDev" : "0.5.0",
+         "Path::Tiny" : "0.052",
          "Pod::Coverage::TrustPod" : "0.100003",
-         "Test::CPAN::Changes" : "0.25",
+         "Test::CPAN::Changes" : "0.27",
          "Test::CPAN::Meta" : "0.23",
-         "Test::Kwalitee" : "1.17",
-         "Test::More" : "1.001002",
+         "Test::Kwalitee" : "1.18",
+         "Test::More" : "1.001003",
          "Test::Pod" : "1.48",
          "Test::Pod::Coverage" : "1.08",
          "lib" : "0.63",
          "strict" : "1.08",
-         "version" : "0.9904",
-         "warnings" : "1.20"
+         "utf8" : "1.13",
+         "version" : "0.9908",
+         "warnings" : "1.23"
       },
       "perl" : {
-         "original" : "v5.19.5",
+         "original" : "v5.19.10",
          "qv" : 1,
          "version" : [
             5,
             19,
-            5
+            10
          ]
       },
       "perl-config" : {
-         "gccversion" : "4.7.3",
+         "gccversion" : "4.8.2",
          "myarchname" : "x86_64-linux",
          "osname" : "linux"
       },
       "platform" : "linux",
-      "uname" : "Linux 3.12.0-gentoo x86_64 GenuineIntel GNU/Linux"
+      "uname" : "Linux 3.14.0-gentoo x86_64 GenuineIntel GNU/Linux"
    },
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.019005"
+         "version" : "5.019010"
       },
       "plugins" : [
          {
-            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
-            "name" : "@Author::KENTNL/Git::NextVersion",
-            "version" : "2.017"
+            "class" : "Dist::Zilla::Plugin::Git::NextVersion::Sanitized",
+            "config" : {
+               "Dist::Zilla::Role::Version::Sanitize" : {
+                  "mantissa" : "6",
+                  "normal_form" : "numify"
+               }
+            },
+            "name" : "@Author::KENTNL/Git::NextVersion::Sanitized",
+            "version" : "0.001000"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@Author::KENTNL/MetaConfig",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::GithubMeta",
@@ -238,14 +254,17 @@
             "version" : "0.42"
          },
          {
-            "class" : "Dist::Zilla::Plugin::FinderCode",
-            "name" : "@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
-            "version" : "5.006"
-         },
-         {
             "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
             "config" : {
-               "Dist::Zilla::Plugin::MetaProvides::Package" : {},
+               "Dist::Zilla::Plugin::MetaProvides::Package" : {
+                  "finder_objects" : [
+                     {
+                        "class" : "Dist::Zilla::Plugin::FinderCode",
+                        "name" : "@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+                        "version" : "5.015"
+                     }
+                  ]
+               },
                "Dist::Zilla::Role::MetaProvider::Provider" : {
                   "inherit_missing" : "1",
                   "inherit_version" : "1",
@@ -253,7 +272,7 @@
                }
             },
             "name" : "@Author::KENTNL/MetaProvides::Package",
-            "version" : "1.15000000"
+            "version" : "2.000001"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaData::BuiltWith",
@@ -275,52 +294,52 @@
                }
             },
             "name" : "@Author::KENTNL/MetaData::BuiltWith",
-            "version" : "0.04000000"
+            "version" : "0.04000002"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::GatherDir",
             "name" : "@Author::KENTNL/Git::GatherDir",
-            "version" : "2.017"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@Author::KENTNL/License",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@Author::KENTNL/MetaJSON",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@Author::KENTNL/MetaYAML",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@Author::KENTNL/Manifest",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaTests",
             "name" : "@Author::KENTNL/MetaTests",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
             "name" : "@Author::KENTNL/PodCoverageTests",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@Author::KENTNL/PodSyntaxTests",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
-            "name" : "@Author::KENTNL/ReportVersions::Tiny",
-            "version" : "1.10"
+            "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+            "name" : "@Author::KENTNL/Test::ReportPrereqs",
+            "version" : "0.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Kwalitee",
@@ -340,7 +359,7 @@
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : "@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Compile::PerFile",
@@ -365,19 +384,14 @@
             "version" : "2.112410"
          },
          {
-            "class" : "Dist::Zilla::Plugin::PruneCruft",
-            "name" : "@Author::KENTNL/PruneCruft",
-            "version" : "5.006"
-         },
-         {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@Author::KENTNL/ManifestSkip",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@Author::KENTNL/PkgVersion",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -391,113 +405,113 @@
                      {
                         "class" : "Pod::Weaver::Plugin::EnsurePod5",
                         "name" : "@CorePrep/EnsurePod5",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::H1Nester",
                         "name" : "@CorePrep/H1Nester",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::SingleEncoding",
                         "name" : "-SingleEncoding",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Name",
                         "name" : "Name",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Version",
                         "name" : "Version",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "prelude",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "SYNOPSIS",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "DESCRIPTION",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "OVERVIEW",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "REQUIRES",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "METHODS",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "ATTRIBUTES",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "PRIVATE_ATTRIBUTES",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "PRIVATE_METHODS",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "PRIVATE_FUNCTIONS",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Leftovers",
                         "name" : "Leftovers",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "postlude",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Authors",
                         "name" : "Authors",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Legal",
                         "name" : "Legal",
-                        "version" : "4.004"
+                        "version" : "4.006"
                      }
                   ]
                }
             },
             "name" : "@Author::KENTNL/PodWeaver",
-            "version" : "4.002"
+            "version" : "4.005"
          },
          {
-            "class" : "Dist::Zilla::Plugin::NextRelease",
-            "name" : "@Author::KENTNL/NextRelease",
-            "version" : "5.006"
+            "class" : "Dist::Zilla::Plugin::Git::NextRelease",
+            "name" : "@Author::KENTNL/Git::NextRelease",
+            "version" : "0.002010"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@Author::KENTNL/AutoPrereqs",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -507,8 +521,8 @@
                   "type" : "suggests"
                }
             },
-            "name" : "@Author::KENTNL/Prereqs/BundleDevelSuggests",
-            "version" : "5.006"
+            "name" : "@Author::KENTNL/BundleDevelSuggests",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -518,13 +532,13 @@
                   "type" : "requires"
                }
             },
-            "name" : "@Author::KENTNL/Prereqs/BundleDevelRequires",
-            "version" : "5.006"
+            "name" : "@Author::KENTNL/BundleDevelRequires",
+            "version" : "5.015"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl",
-            "name" : "@Author::KENTNL/Author::KENTNL::MinimumPerl",
-            "version" : "2.002001"
+            "class" : "Dist::Zilla::Plugin::MinimumPerl",
+            "name" : "@Author::KENTNL/MinimumPerl",
+            "version" : "1.003"
          },
          {
             "class" : "Dist::Zilla::Plugin::Authority",
@@ -532,9 +546,14 @@
             "version" : "1.006"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ModuleBuild",
-            "name" : "@Author::KENTNL/ModuleBuild",
-            "version" : "5.006"
+            "class" : "Dist::Zilla::Plugin::MakeMaker",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 10
+               }
+            },
+            "name" : "@Author::KENTNL/MakeMaker",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeFromPod",
@@ -544,7 +563,7 @@
          {
             "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
             "name" : "@Author::KENTNL/ReadmeAnyFromPod",
-            "version" : "0.133060"
+            "version" : "0.133360"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
@@ -552,75 +571,70 @@
             "version" : "0.008"
          },
          {
-            "class" : "Dist::Zilla::Plugin::CheckExtraTests",
-            "name" : "@Author::KENTNL/CheckExtraTests",
-            "version" : "0.016"
+            "class" : "Dist::Zilla::Plugin::RunExtraTests",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 10
+               }
+            },
+            "name" : "@Author::KENTNL/RunExtraTests",
+            "version" : "0.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@Author::KENTNL/TestRelease",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@Author::KENTNL/ConfirmRelease",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@Author::KENTNL/Git::Check",
-            "version" : "2.017"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
-            "name" : "@Author::KENTNL/Git::Tag/tag_master",
-            "version" : "2.017"
+            "name" : "@Author::KENTNL/tag_master",
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "name" : "@Author::KENTNL/Git::Commit",
-            "version" : "2.017"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::CommitBuild",
             "name" : "@Author::KENTNL/Git::CommitBuild",
-            "version" : "2.017"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
-            "name" : "@Author::KENTNL/Git::Tag/tag_release",
-            "version" : "2.017"
+            "name" : "@Author::KENTNL/tag_release",
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@Author::KENTNL/UploadToCPAN",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Twitter",
             "name" : "@Author::KENTNL/Twitter",
-            "version" : "0.023"
+            "version" : "0.025"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Prereqs::MatchInstalled",
+            "class" : "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled",
             "config" : {
-               "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : {
-                  "applyto" : [
-                     "build.requires",
-                     "build.recommends",
-                     "build.suggests",
-                     "test.requires",
-                     "test.recommends",
-                     "test.suggests",
-                     "runtime.requires",
-                     "runtime.recommends",
-                     "runtime.suggests",
-                     "configure.requires",
-                     "configure.recommends",
-                     "configure.suggests",
-                     "develop.requires",
-                     "develop.recommends",
-                     "develop.suggests"
+               "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : {
+                  "applyto_map" : [
+                     "build.requires = build.recommends",
+                     "test.requires = test.recommends",
+                     "runtime.requires = runtime.recommends",
+                     "configure.requires = configure.recommends",
+                     "develop.requires = develop.recommends"
                   ],
                   "applyto_phase" : [
                      "build",
@@ -629,20 +643,32 @@
                      "configure",
                      "develop"
                   ],
-                  "applyto_relation" : [
-                     "requires",
-                     "recommends",
-                     "suggests"
+                  "modules" : [
+                     "ExtUtils::MakeMaker",
+                     "Test::More"
+                  ]
+               }
+            },
+            "name" : "@Author::KENTNL/Prereqs::Recommend::MatchInstalled",
+            "version" : "0.001000"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : {
+                  "applyto_map" : [
+                     "develop.requires = develop.requires"
+                  ],
+                  "applyto_phase" : [
+                     "develop"
                   ],
                   "modules" : [
-                     "Module::Build",
-                     "Test::More",
                      "Dist::Zilla::PluginBundle::Author::KENTNL"
                   ]
                }
             },
-            "name" : "@Author::KENTNL/Prereqs::MatchInstalled",
-            "version" : "0.1.4"
+            "name" : "@Author::KENTNL/always_latest_develop_bundle",
+            "version" : "0.001000"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -653,7 +679,7 @@
                }
             },
             "name" : "@Author::KENTNL/::Role::BundleDeps",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -664,37 +690,52 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "5.006"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "5.006"
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":AllFiles",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":NoFiles",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : "@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+            "version" : "5.015"
          }
       ],
       "zilla" : {
@@ -702,7 +743,7 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "5.006"
+         "version" : "5.015"
       }
    },
    "x_authority" : "cpan:KENTNL"
diff --git a/META.yml b/META.yml
index e4bf64d..098de1a 100644
--- a/META.yml
+++ b/META.yml
@@ -3,228 +3,240 @@ abstract: 'Shared logic for bootstrap things.'
 author:
   - 'Kent Fredric <kentfredric at gmail.com>'
 build_requires:
-  Dist::Zilla::Chrome::Test: 0
-  Dist::Zilla::Dist::Builder: 0
-  Dist::Zilla::MVP::Assembler::Zilla: 0
-  Dist::Zilla::MVP::Section: 0
-  File::Copy::Recursive: 0
-  Module::Build: 0.4200
-  Moose: 0
-  Path::FindDev: 0
-  Test::More: 1.001002
+  Dist::Zilla::Chrome::Test: '0'
+  Dist::Zilla::Dist::Builder: '0'
+  Dist::Zilla::MVP::Assembler::Zilla: '0'
+  Dist::Zilla::MVP::Section: '0'
+  ExtUtils::MakeMaker: '0'
+  File::Copy::Recursive: '0'
+  File::Spec::Functions: '0'
+  List::Util: '0'
+  Moose: '0'
+  Path::FindDev: '0'
+  Test::More: '0.89'
 configure_requires:
-  Module::Build: 0.4200
+  ExtUtils::MakeMaker: '6.30'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830'
+generated_by: 'Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.140640'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: Dist-Zilla-Role-Bootstrap
 provides:
   Dist::Zilla::Role::Bootstrap:
     file: lib/Dist/Zilla/Role/Bootstrap.pm
-    version: v0.2.3
+    version: '1.000000'
 requires:
-  Carp: 0
-  Dist::Zilla::Role::Plugin: 0
-  List::UtilsBy: 0
-  Moose::Role: 0
-  MooseX::AttributeShortcuts: 0.015
-  Path::Tiny: 0
-  lib: 0
-  perl: 5.006
-  strict: 0
-  version: 0
-  warnings: 0
+  Carp: '0'
+  Dist::Zilla::Role::Plugin: '0'
+  List::UtilsBy: '0'
+  Moose::Role: '0'
+  MooseX::AttributeShortcuts: '0.015'
+  Path::Tiny: '0'
+  lib: '0'
+  perl: '5.008'
+  strict: '0'
+  utf8: '0'
+  version: '0'
+  warnings: '0'
 resources:
   bugtracker: https://github.com/kentfredric/Dist-Zilla-Role-Bootstrap/issues
   homepage: https://github.com/kentfredric/Dist-Zilla-Role-Bootstrap
   repository: https://github.com/kentfredric/Dist-Zilla-Role-Bootstrap.git
-version: 0.2.3
+version: '1.000000'
 x_BuiltWith:
   modules:
-    Carp: 1.32
-    Dist::Zilla::Chrome::Test: 5.006
-    Dist::Zilla::Dist::Builder: 5.006
-    Dist::Zilla::MVP::Assembler::Zilla: 5.006
-    Dist::Zilla::MVP::Section: 5.006
-    Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl: 2.002001
-    Dist::Zilla::Plugin::Authority: 1.006
-    Dist::Zilla::Plugin::AutoPrereqs: 5.006
-    Dist::Zilla::Plugin::CheckExtraTests: 0.016
-    Dist::Zilla::Plugin::ConfirmRelease: 5.006
-    Dist::Zilla::Plugin::EOLTests: 0.02
-    Dist::Zilla::Plugin::Git::Check: 2.017
-    Dist::Zilla::Plugin::Git::Commit: 2.017
-    Dist::Zilla::Plugin::Git::CommitBuild: 2.017
-    Dist::Zilla::Plugin::Git::GatherDir: 2.017
-    Dist::Zilla::Plugin::Git::NextVersion: 2.017
-    Dist::Zilla::Plugin::Git::Tag: 2.017
-    Dist::Zilla::Plugin::GithubMeta: 0.42
-    Dist::Zilla::Plugin::License: 5.006
-    Dist::Zilla::Plugin::Manifest: 5.006
-    Dist::Zilla::Plugin::ManifestSkip: 5.006
-    Dist::Zilla::Plugin::MetaConfig: 5.006
-    Dist::Zilla::Plugin::MetaData::BuiltWith: 0.04000000
-    Dist::Zilla::Plugin::MetaJSON: 5.006
-    Dist::Zilla::Plugin::MetaProvides::Package: 1.15000000
-    Dist::Zilla::Plugin::MetaTests: 5.006
-    Dist::Zilla::Plugin::MetaYAML: 5.006
-    Dist::Zilla::Plugin::ModuleBuild: 5.006
-    Dist::Zilla::Plugin::NextRelease: 5.006
-    Dist::Zilla::Plugin::PkgVersion: 5.006
-    Dist::Zilla::Plugin::PodCoverageTests: 5.006
-    Dist::Zilla::Plugin::PodSyntaxTests: 5.006
-    Dist::Zilla::Plugin::PodWeaver: 4.002
-    Dist::Zilla::Plugin::Prereqs: 5.006
-    Dist::Zilla::Plugin::Prereqs::MatchInstalled: 0.1.4
-    Dist::Zilla::Plugin::PruneCruft: 5.006
-    Dist::Zilla::Plugin::ReadmeAnyFromPod: 0.133060
-    Dist::Zilla::Plugin::ReadmeFromPod: 0.21
-    Dist::Zilla::Plugin::ReportVersions::Tiny: 1.10
-    Dist::Zilla::Plugin::Test::CPAN::Changes: 0.008
-    Dist::Zilla::Plugin::Test::Compile::PerFile: 0.001001
-    Dist::Zilla::Plugin::Test::Kwalitee: 2.07
-    Dist::Zilla::Plugin::Test::MinimumVersion: 2.000005
-    Dist::Zilla::Plugin::Test::Perl::Critic: 2.112410
-    Dist::Zilla::Plugin::TestRelease: 5.006
-    Dist::Zilla::Plugin::Twitter: 0.023
-    Dist::Zilla::Plugin::UploadToCPAN: 5.006
-    Dist::Zilla::PluginBundle::Author::KENTNL: 2.002001
+    CPAN::Meta: '2.140640'
+    CPAN::Meta::Requirements: '2.125'
+    Carp: '1.3301'
+    Dist::Zilla::Chrome::Test: '5.015'
+    Dist::Zilla::Dist::Builder: '5.015'
+    Dist::Zilla::MVP::Assembler::Zilla: '5.015'
+    Dist::Zilla::MVP::Section: '5.015'
+    Dist::Zilla::Plugin::Authority: '1.006'
+    Dist::Zilla::Plugin::AutoPrereqs: '5.015'
+    Dist::Zilla::Plugin::ConfirmRelease: '5.015'
+    Dist::Zilla::Plugin::EOLTests: '0.02'
+    Dist::Zilla::Plugin::Git::Check: '2.020'
+    Dist::Zilla::Plugin::Git::Commit: '2.020'
+    Dist::Zilla::Plugin::Git::CommitBuild: '2.020'
+    Dist::Zilla::Plugin::Git::GatherDir: '2.020'
+    Dist::Zilla::Plugin::Git::NextRelease: '0.002010'
+    Dist::Zilla::Plugin::Git::NextVersion::Sanitized: '0.001000'
+    Dist::Zilla::Plugin::Git::Tag: '2.020'
+    Dist::Zilla::Plugin::GithubMeta: '0.42'
+    Dist::Zilla::Plugin::License: '5.015'
+    Dist::Zilla::Plugin::MakeMaker: '5.015'
+    Dist::Zilla::Plugin::Manifest: '5.015'
+    Dist::Zilla::Plugin::ManifestSkip: '5.015'
+    Dist::Zilla::Plugin::MetaConfig: '5.015'
+    Dist::Zilla::Plugin::MetaData::BuiltWith: '0.04000002'
+    Dist::Zilla::Plugin::MetaJSON: '5.015'
+    Dist::Zilla::Plugin::MetaProvides::Package: '2.000001'
+    Dist::Zilla::Plugin::MetaTests: '5.015'
+    Dist::Zilla::Plugin::MetaYAML: '5.015'
+    Dist::Zilla::Plugin::MinimumPerl: '1.003'
+    Dist::Zilla::Plugin::PkgVersion: '5.015'
+    Dist::Zilla::Plugin::PodCoverageTests: '5.015'
+    Dist::Zilla::Plugin::PodSyntaxTests: '5.015'
+    Dist::Zilla::Plugin::PodWeaver: '4.005'
+    Dist::Zilla::Plugin::Prereqs: '5.015'
+    Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled: '0.001000'
+    Dist::Zilla::Plugin::ReadmeAnyFromPod: '0.133360'
+    Dist::Zilla::Plugin::ReadmeFromPod: '0.21'
+    Dist::Zilla::Plugin::RunExtraTests: '0.021'
+    Dist::Zilla::Plugin::Test::CPAN::Changes: '0.008'
+    Dist::Zilla::Plugin::Test::Compile::PerFile: '0.001001'
+    Dist::Zilla::Plugin::Test::Kwalitee: '2.07'
+    Dist::Zilla::Plugin::Test::MinimumVersion: '2.000005'
+    Dist::Zilla::Plugin::Test::Perl::Critic: '2.112410'
+    Dist::Zilla::Plugin::Test::ReportPrereqs: '0.013'
+    Dist::Zilla::Plugin::TestRelease: '5.015'
+    Dist::Zilla::Plugin::Twitter: '0.025'
+    Dist::Zilla::Plugin::UploadToCPAN: '5.015'
+    Dist::Zilla::PluginBundle::Author::KENTNL: '2.012002'
     Dist::Zilla::PluginBundle::Author::KENTNL::Lite: 1.7.2
-    Dist::Zilla::Role::Plugin: 5.006
-    File::Copy::Recursive: 0.38
-    List::UtilsBy: 0.09
-    Module::Build: 0.4200
-    Moose: 2.1106
-    Moose::Role: 2.1106
-    MooseX::AttributeShortcuts: 0.022
-    Path::FindDev: 0.4.2
-    Path::Tiny: 0.044
-    Pod::Coverage::TrustPod: 0.100003
-    Test::CPAN::Changes: 0.25
-    Test::CPAN::Meta: 0.23
-    Test::Kwalitee: 1.17
-    Test::More: 1.001002
-    Test::Pod: 1.48
-    Test::Pod::Coverage: 1.08
-    lib: 0.63
-    strict: 1.08
-    version: 0.9904
-    warnings: 1.20
+    Dist::Zilla::Role::Plugin: '5.015'
+    ExtUtils::MakeMaker: '6.94'
+    File::Copy::Recursive: '0.38'
+    File::Spec::Functions: '3.47'
+    List::Util: '1.38'
+    List::UtilsBy: '0.09'
+    Moose: '2.1204'
+    Moose::Role: '2.1204'
+    MooseX::AttributeShortcuts: '0.023'
+    Path::FindDev: 0.5.0
+    Path::Tiny: '0.052'
+    Pod::Coverage::TrustPod: '0.100003'
+    Test::CPAN::Changes: '0.27'
+    Test::CPAN::Meta: '0.23'
+    Test::Kwalitee: '1.18'
+    Test::More: '1.001003'
+    Test::Pod: '1.48'
+    Test::Pod::Coverage: '1.08'
+    lib: '0.63'
+    strict: '1.08'
+    utf8: '1.13'
+    version: '0.9908'
+    warnings: '1.23'
   perl:
-    original: v5.19.5
+    original: v5.19.10
     qv: 1
     version:
       - 5
       - 19
-      - 5
+      - 10
   perl-config:
-    gccversion: 4.7.3
+    gccversion: 4.8.2
     myarchname: x86_64-linux
     osname: linux
   platform: linux
-  uname: 'Linux 3.12.0-gentoo x86_64 GenuineIntel GNU/Linux'
+  uname: 'Linux 3.14.0-gentoo x86_64 GenuineIntel GNU/Linux'
 x_Dist_Zilla:
   perl:
-    version: 5.019005
+    version: '5.019010'
   plugins:
     -
-      class: Dist::Zilla::Plugin::Git::NextVersion
-      name: '@Author::KENTNL/Git::NextVersion'
-      version: 2.017
+      class: Dist::Zilla::Plugin::Git::NextVersion::Sanitized
+      config:
+        Dist::Zilla::Role::Version::Sanitize:
+          mantissa: '6'
+          normal_form: numify
+      name: '@Author::KENTNL/Git::NextVersion::Sanitized'
+      version: '0.001000'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@Author::KENTNL/MetaConfig'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::GithubMeta
       name: '@Author::KENTNL/GithubMeta'
-      version: 0.42
-    -
-      class: Dist::Zilla::Plugin::FinderCode
-      name: '@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
-      version: 5.006
+      version: '0.42'
     -
       class: Dist::Zilla::Plugin::MetaProvides::Package
       config:
-        Dist::Zilla::Plugin::MetaProvides::Package: {}
+        Dist::Zilla::Plugin::MetaProvides::Package:
+          finder_objects:
+            -
+              class: Dist::Zilla::Plugin::FinderCode
+              name: '@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+              version: '5.015'
         Dist::Zilla::Role::MetaProvider::Provider:
-          inherit_missing: 1
-          inherit_version: 1
-          meta_noindex: 1
+          inherit_missing: '1'
+          inherit_version: '1'
+          meta_noindex: '1'
       name: '@Author::KENTNL/MetaProvides::Package'
-      version: 1.15000000
+      version: '2.000001'
     -
       class: Dist::Zilla::Plugin::MetaData::BuiltWith
       config:
         Dist::Zilla::Plugin::MetaData::BuiltWith:
           _stash_key: x_BuiltWith
-          show_config: 1
-          show_uname: 1
+          show_config: '1'
+          show_uname: '1'
           uname:
             uname_args:
-              - '-s'
-              - '-o'
-              - '-r'
-              - '-m'
-              - '-i'
+              - -s
+              - -o
+              - -r
+              - -m
+              - -i
             uname_call: uname
       name: '@Author::KENTNL/MetaData::BuiltWith'
-      version: 0.04000000
+      version: '0.04000002'
     -
       class: Dist::Zilla::Plugin::Git::GatherDir
       name: '@Author::KENTNL/Git::GatherDir'
-      version: 2.017
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::License
       name: '@Author::KENTNL/License'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@Author::KENTNL/MetaJSON'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@Author::KENTNL/MetaYAML'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@Author::KENTNL/Manifest'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::MetaTests
       name: '@Author::KENTNL/MetaTests'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
       name: '@Author::KENTNL/PodCoverageTests'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@Author::KENTNL/PodSyntaxTests'
-      version: 5.006
+      version: '5.015'
     -
-      class: Dist::Zilla::Plugin::ReportVersions::Tiny
-      name: '@Author::KENTNL/ReportVersions::Tiny'
-      version: 1.10
+      class: Dist::Zilla::Plugin::Test::ReportPrereqs
+      name: '@Author::KENTNL/Test::ReportPrereqs'
+      version: '0.013'
     -
       class: Dist::Zilla::Plugin::Test::Kwalitee
       name: '@Author::KENTNL/Test::Kwalitee'
-      version: 2.07
+      version: '2.07'
     -
       class: Dist::Zilla::Plugin::EOLTests
       name: '@Author::KENTNL/EOLTests'
-      version: 0.02
+      version: '0.02'
     -
       class: Dist::Zilla::Plugin::Test::MinimumVersion
       name: '@Author::KENTNL/Test::MinimumVersion'
-      version: 2.000005
+      version: '2.000005'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: '@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Test::Compile::PerFile
       config:
@@ -237,23 +249,19 @@ x_Dist_Zilla:
           test_template: 01-basic.t.tpl
           xt_mode: ~
       name: '@Author::KENTNL/Test::Compile::PerFile'
-      version: 0.001001
+      version: '0.001001'
     -
       class: Dist::Zilla::Plugin::Test::Perl::Critic
       name: '@Author::KENTNL/Test::Perl::Critic'
-      version: 2.112410
-    -
-      class: Dist::Zilla::Plugin::PruneCruft
-      name: '@Author::KENTNL/PruneCruft'
-      version: 5.006
+      version: '2.112410'
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@Author::KENTNL/ManifestSkip'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@Author::KENTNL/PkgVersion'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::PodWeaver
       config:
@@ -265,205 +273,208 @@ x_Dist_Zilla:
             -
               class: Pod::Weaver::Plugin::EnsurePod5
               name: '@CorePrep/EnsurePod5'
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Plugin::H1Nester
               name: '@CorePrep/H1Nester'
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Plugin::SingleEncoding
-              name: '-SingleEncoding'
-              version: 4.004
+              name: -SingleEncoding
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Name
               name: Name
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Version
               name: Version
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Region
               name: prelude
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Generic
               name: SYNOPSIS
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Generic
               name: DESCRIPTION
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Generic
               name: OVERVIEW
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
               name: REQUIRES
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
               name: METHODS
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
               name: ATTRIBUTES
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
               name: PRIVATE_ATTRIBUTES
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
               name: PRIVATE_METHODS
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Collect
               name: PRIVATE_FUNCTIONS
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Leftovers
               name: Leftovers
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Region
               name: postlude
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Authors
               name: Authors
-              version: 4.004
+              version: '4.006'
             -
               class: Pod::Weaver::Section::Legal
               name: Legal
-              version: 4.004
+              version: '4.006'
       name: '@Author::KENTNL/PodWeaver'
-      version: 4.002
+      version: '4.005'
     -
-      class: Dist::Zilla::Plugin::NextRelease
-      name: '@Author::KENTNL/NextRelease'
-      version: 5.006
+      class: Dist::Zilla::Plugin::Git::NextRelease
+      name: '@Author::KENTNL/Git::NextRelease'
+      version: '0.002010'
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@Author::KENTNL/AutoPrereqs'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
         Dist::Zilla::Plugin::Prereqs:
           phase: develop
           type: suggests
-      name: '@Author::KENTNL/Prereqs/BundleDevelSuggests'
-      version: 5.006
+      name: '@Author::KENTNL/BundleDevelSuggests'
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
         Dist::Zilla::Plugin::Prereqs:
           phase: develop
           type: requires
-      name: '@Author::KENTNL/Prereqs/BundleDevelRequires'
-      version: 5.006
+      name: '@Author::KENTNL/BundleDevelRequires'
+      version: '5.015'
     -
-      class: Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
-      name: '@Author::KENTNL/Author::KENTNL::MinimumPerl'
-      version: 2.002001
+      class: Dist::Zilla::Plugin::MinimumPerl
+      name: '@Author::KENTNL/MinimumPerl'
+      version: '1.003'
     -
       class: Dist::Zilla::Plugin::Authority
       name: '@Author::KENTNL/Authority'
-      version: 1.006
+      version: '1.006'
     -
-      class: Dist::Zilla::Plugin::ModuleBuild
-      name: '@Author::KENTNL/ModuleBuild'
-      version: 5.006
+      class: Dist::Zilla::Plugin::MakeMaker
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 10
+      name: '@Author::KENTNL/MakeMaker'
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::ReadmeFromPod
       name: '@Author::KENTNL/ReadmeFromPod'
-      version: 0.21
+      version: '0.21'
     -
       class: Dist::Zilla::Plugin::ReadmeAnyFromPod
       name: '@Author::KENTNL/ReadmeAnyFromPod'
-      version: 0.133060
+      version: '0.133360'
     -
       class: Dist::Zilla::Plugin::Test::CPAN::Changes
       name: '@Author::KENTNL/Test::CPAN::Changes'
-      version: 0.008
+      version: '0.008'
     -
-      class: Dist::Zilla::Plugin::CheckExtraTests
-      name: '@Author::KENTNL/CheckExtraTests'
-      version: 0.016
+      class: Dist::Zilla::Plugin::RunExtraTests
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 10
+      name: '@Author::KENTNL/RunExtraTests'
+      version: '0.021'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@Author::KENTNL/TestRelease'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@Author::KENTNL/ConfirmRelease'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@Author::KENTNL/Git::Check'
-      version: 2.017
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Git::Tag
-      name: '@Author::KENTNL/Git::Tag/tag_master'
-      version: 2.017
+      name: '@Author::KENTNL/tag_master'
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       name: '@Author::KENTNL/Git::Commit'
-      version: 2.017
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Git::CommitBuild
       name: '@Author::KENTNL/Git::CommitBuild'
-      version: 2.017
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Git::Tag
-      name: '@Author::KENTNL/Git::Tag/tag_release'
-      version: 2.017
+      name: '@Author::KENTNL/tag_release'
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@Author::KENTNL/UploadToCPAN'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Twitter
       name: '@Author::KENTNL/Twitter'
-      version: 0.023
+      version: '0.025'
     -
-      class: Dist::Zilla::Plugin::Prereqs::MatchInstalled
+      class: Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
       config:
-        Dist::Zilla::Plugin::Prereqs::MatchInstalled:
-          applyto:
-            - build.requires
-            - build.recommends
-            - build.suggests
-            - test.requires
-            - test.recommends
-            - test.suggests
-            - runtime.requires
-            - runtime.recommends
-            - runtime.suggests
-            - configure.requires
-            - configure.recommends
-            - configure.suggests
-            - develop.requires
-            - develop.recommends
-            - develop.suggests
+        Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled:
+          applyto_map:
+            - 'build.requires = build.recommends'
+            - 'test.requires = test.recommends'
+            - 'runtime.requires = runtime.recommends'
+            - 'configure.requires = configure.recommends'
+            - 'develop.requires = develop.recommends'
           applyto_phase:
             - build
             - test
             - runtime
             - configure
             - develop
-          applyto_relation:
-            - requires
-            - recommends
-            - suggests
           modules:
-            - Module::Build
+            - ExtUtils::MakeMaker
             - Test::More
+      name: '@Author::KENTNL/Prereqs::Recommend::MatchInstalled'
+      version: '0.001000'
+    -
+      class: Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
+      config:
+        Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled:
+          applyto_map:
+            - 'develop.requires = develop.requires'
+          applyto_phase:
+            - develop
+          modules:
             - Dist::Zilla::PluginBundle::Author::KENTNL
-      name: '@Author::KENTNL/Prereqs::MatchInstalled'
-      version: 0.1.4
+      name: '@Author::KENTNL/always_latest_develop_bundle'
+      version: '0.001000'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -471,7 +482,7 @@ x_Dist_Zilla:
           phase: develop
           type: requires
       name: '@Author::KENTNL/::Role::BundleDeps'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -479,34 +490,46 @@ x_Dist_Zilla:
           phase: runtime
           type: requires
       name: Prereqs
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 5.006
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: 5.006
+      version: '5.015'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':AllFiles'
+      version: '5.015'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':NoFiles'
+      version: '5.015'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: '@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+      version: '5.015'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
-      is_trial: 0
-    version: 5.006
+      is_trial: '0'
+    version: '5.015'
 x_authority: cpan:KENTNL
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644
index 0000000..85dd263
--- /dev/null
+++ b/Makefile.PL
@@ -0,0 +1,94 @@
+
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.015.
+use strict;
+use warnings;
+
+use 5.008;
+
+use ExtUtils::MakeMaker 6.30;
+
+
+
+my %WriteMakefileArgs = (
+  "ABSTRACT" => "Shared logic for bootstrap things.",
+  "AUTHOR" => "Kent Fredric <kentfredric\@gmail.com>",
+  "BUILD_REQUIRES" => {},
+  "CONFIGURE_REQUIRES" => {
+    "ExtUtils::MakeMaker" => "6.30"
+  },
+  "DISTNAME" => "Dist-Zilla-Role-Bootstrap",
+  "EXE_FILES" => [],
+  "LICENSE" => "perl",
+  "NAME" => "Dist::Zilla::Role::Bootstrap",
+  "PREREQ_PM" => {
+    "Carp" => 0,
+    "Dist::Zilla::Role::Plugin" => 0,
+    "List::UtilsBy" => 0,
+    "Moose::Role" => 0,
+    "MooseX::AttributeShortcuts" => "0.015",
+    "Path::Tiny" => 0,
+    "lib" => 0,
+    "strict" => 0,
+    "utf8" => 0,
+    "version" => 0,
+    "warnings" => 0
+  },
+  "TEST_REQUIRES" => {
+    "Dist::Zilla::Chrome::Test" => 0,
+    "Dist::Zilla::Dist::Builder" => 0,
+    "Dist::Zilla::MVP::Assembler::Zilla" => 0,
+    "Dist::Zilla::MVP::Section" => 0,
+    "ExtUtils::MakeMaker" => 0,
+    "File::Copy::Recursive" => 0,
+    "File::Spec::Functions" => 0,
+    "List::Util" => 0,
+    "Moose" => 0,
+    "Path::FindDev" => 0,
+    "Test::More" => "0.89"
+  },
+  "VERSION" => "1.000000",
+  "test" => {
+    "TESTS" => "t/*.t t/00-compile/*.t"
+  }
+);
+
+
+my %FallbackPrereqs = (
+  "Carp" => 0,
+  "Dist::Zilla::Chrome::Test" => 0,
+  "Dist::Zilla::Dist::Builder" => 0,
+  "Dist::Zilla::MVP::Assembler::Zilla" => 0,
+  "Dist::Zilla::MVP::Section" => 0,
+  "Dist::Zilla::Role::Plugin" => 0,
+  "ExtUtils::MakeMaker" => 0,
+  "File::Copy::Recursive" => 0,
+  "File::Spec::Functions" => 0,
+  "List::Util" => 0,
+  "List::UtilsBy" => 0,
+  "Moose" => 0,
+  "Moose::Role" => 0,
+  "MooseX::AttributeShortcuts" => "0.015",
+  "Path::FindDev" => 0,
+  "Path::Tiny" => 0,
+  "Test::More" => "0.89",
+  "lib" => 0,
+  "strict" => 0,
+  "utf8" => 0,
+  "version" => 0,
+  "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  delete $WriteMakefileArgs{TEST_REQUIRES};
+  delete $WriteMakefileArgs{BUILD_REQUIRES};
+  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
+}
+
+delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
+  unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
+
+WriteMakefile(%WriteMakefileArgs);
+
+
+
diff --git a/README b/README
index 185c3c1..9bafded 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
     Dist::Zilla::Role::Bootstrap - Shared logic for bootstrap things.
 
 VERSION
-    version 0.2.3
+    version 1.000000
 
 SYNOPSIS
     For consuming plugins:
@@ -80,7 +80,7 @@ ATTRIBUTES
     *   "parseversion" : Attempt to parse versions on all candidate
         directories and use the one with the largest version.
 
-    Prior to 0.2.0 this property did not exist, and default behaviour was to
+    Prior to 0.2.0 this property did not exist, and default behavior was to
     assume "0 Candidates" and "2 or more Candidates" were the same problem.
 
 PRIVATE ATTRIBUTES
@@ -126,18 +126,11 @@ PRIVATE METHODS
 
         $self->_add_inc("$libraryPath");
 
-PRIVATE FUNCTIONS
-  "_max_by"
-    Proxy for "List::UtilsBy::max_by"
-
-  "_nmax_by"
-    Proxy for "List::UtilsBy::nmax_by"
-
 AUTHOR
     Kent Fredric <kentfredric at gmail.com>
 
 COPYRIGHT AND LICENSE
-    This software is copyright (c) 2013 by Kent Fredric
+    This software is copyright (c) 2014 by Kent Fredric
     <kentfredric at gmail.com>.
 
     This is free software; you can redistribute it and/or modify it under
diff --git a/dist.ini b/dist.ini
index b58497f..bbd2ade 100644
--- a/dist.ini
+++ b/dist.ini
@@ -11,7 +11,11 @@ copyright_holder = Kent Fredric <kentfredric at gmail.com>
 [@Author::KENTNL]
 :version          = 1.2.0
 git_versions      = 1
-no_fiveten        = 1
+normal_form       = numify
+mantissa          = 6
+toolkit           = eumm
+toolkit_hardness  = soft
+
 ; version_major     = 0
 ; version_minor     = 1
 ; the following data denotes when this minor was minted
diff --git a/lib/Dist/Zilla/Role/Bootstrap.pm b/lib/Dist/Zilla/Role/Bootstrap.pm
index b072983..8f8de37 100644
--- a/lib/Dist/Zilla/Role/Bootstrap.pm
+++ b/lib/Dist/Zilla/Role/Bootstrap.pm
@@ -1,60 +1,96 @@
+use 5.008;    # utf8
 use strict;
 use warnings;
+use utf8;
 
 package Dist::Zilla::Role::Bootstrap;
-BEGIN {
-  $Dist::Zilla::Role::Bootstrap::AUTHORITY = 'cpan:KENTNL';
-}
-{
-  $Dist::Zilla::Role::Bootstrap::VERSION = '0.2.3';
-}
-
+$Dist::Zilla::Role::Bootstrap::VERSION = '1.000000';
 # ABSTRACT: Shared logic for bootstrap things.
 
-use Moose::Role;
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+use Moose::Role qw( with has around requires );
+use List::UtilsBy qw( max_by nmax_by );
 use MooseX::AttributeShortcuts 0.015;    #Min version for builder => sub {}
+use version qw();
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
-with 'Dist::Zilla::Role::Plugin';
 
 
-sub _max_by(&@) {
-  no warnings 'redefine';
-  require List::UtilsBy;
-  *_max_by = \&List::UtilsBy::max_by;
-  goto &List::UtilsBy::max_by;
-}
 
 
-sub _nmax_by(&@) {
-  no warnings 'redefine';
-  require List::UtilsBy;
-  *_nmax_by = \&List::UtilsBy::nmax_by;
-  goto &List::UtilsBy::nmax_by;
-}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+with 'Dist::Zilla::Role::Plugin';
 
 around 'dump_config' => sub {
   my ( $orig, $self, @args ) = @_;
   my $config    = $self->$orig(@args);
   my $localconf = {};
-  for my $var (qw( try_built try_built_method fallback distname )) {
-    my $pred = 'has_' . $var;
+  for my $attribute (qw( try_built try_built_method fallback distname )) {
+    my $pred = 'has_' . $attribute;
     if ( $self->can($pred) ) {
       next unless $self->$pred();
     }
-    if ( $self->can($var) ) {
-      $localconf->{$var} = $self->$var();
+    if ( $self->can($attribute) ) {
+      $localconf->{$attribute} = $self->$attribute();
     }
   }
+
   $config->{ q{} . __PACKAGE__ } = $localconf;
   return $config;
 };
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
 has distname => ( isa => 'Str', is => ro =>, lazy => 1, builder => sub { $_[0]->zilla->name; }, );
 
 
+
+
+
 has _cwd => (
   is      => ro =>,
   lazy    => 1,
@@ -65,6 +101,20 @@ has _cwd => (
 );
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 has try_built => (
   isa     => 'Bool',
   is      => ro =>,
@@ -73,6 +123,19 @@ has try_built => (
 );
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
 has fallback => (
   isa     => 'Bool',
   is      => ro =>,
@@ -81,6 +144,23 @@ has fallback => (
 );
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 has try_built_method => (
   isa     => 'Str',
   is      => ro =>,
@@ -89,27 +169,50 @@ has try_built_method => (
 );
 
 
+
+
+
+
+
+
+
 sub _pick_latest_mtime {
-  my ( $self, @candidates ) = @_;
-  return _max_by { $_->stat->mtime } @candidates;
+  my ( undef, @candidates ) = @_;
+  return max_by { $_->stat->mtime } @candidates;
 }
 
 
+
+
+
+
+
+
+
+
+
 sub _get_candidate_version {
   my ( $self, $candidate ) = @_;
   my $distname = $self->distname;
   if ( $candidate->basename =~ /\A\Q$distname\E-(.+\z)/msx ) {
     my $version = $1;
     $version =~ s/-TRIAL\z//msx;
-    require version;
     return version->parse($version);
   }
+
 }
 
 
+
+
+
+
+
+
+
 sub _pick_latest_parseversion {
   my ( $self, @candidates ) = @_;
-  return _max_by { $self->_get_candidate_version($_) } @candidates;
+  return max_by { $self->_get_candidate_version($_) } @candidates;
 }
 
 my (%methods) = (
@@ -118,6 +221,13 @@ my (%methods) = (
 );
 
 
+
+
+
+
+
+
+
 sub _pick_candidate {
   my ( $self, @candidates ) = @_;
   my $method = $self->try_built_method;
@@ -130,6 +240,15 @@ sub _pick_candidate {
 }
 
 
+
+
+
+
+
+
+
+
+
 has _bootstrap_root => (
   is      => ro =>,
   lazy    => 1,
@@ -142,7 +261,7 @@ has _bootstrap_root => (
 
     my (@candidates) = grep { $_->basename =~ /\A\Q$distname\E-/msx } grep { $_->is_dir } $self->_cwd->children;
 
-    if ( scalar @candidates == 1 ) {
+    if ( 1 == scalar @candidates ) {
       return $candidates[0];
     }
     if ( scalar @candidates < 1 ) {
@@ -163,8 +282,15 @@ has _bootstrap_root => (
 );
 
 
+
+
+
+
+
+
+
 sub _add_inc {
-  my ( $self, $import ) = @_;
+  my ( undef, $import ) = @_;
   if ( not ref $import ) {
     require lib;
     return lib->import($import);
@@ -174,6 +300,17 @@ sub _add_inc {
 }
 
 
+
+
+
+
+
+
+
+
+
+
+
 requires 'bootstrap';
 
 around plugin_from_config => sub {
@@ -202,7 +339,7 @@ Dist::Zilla::Role::Bootstrap - Shared logic for bootstrap things.
 
 =head1 VERSION
 
-version 0.2.3
+version 1.000000
 
 =head1 SYNOPSIS
 
@@ -290,7 +427,7 @@ Two valid options at this time:
 
 =back
 
-Prior to C<0.2.0> this property did not exist, and default behaviour was to assume C<0 Candidates> and C<2 or more Candidates> were the same problem.
+Prior to C<0.2.0> this property did not exist, and default behavior was to assume C<0 Candidates> and C<2 or more Candidates> were the same problem.
 
 =head1 PRIVATE ATTRIBUTES
 
@@ -338,16 +475,6 @@ Internal: Used to perform the final step of injecting library paths into C<@INC>
 
     $self->_add_inc("$libraryPath");
 
-=head1 PRIVATE FUNCTIONS
-
-=head2 C<_max_by>
-
-Proxy for L<< C<List::UtilsBy::B<max_by>>|List::UtilsBy/max_by >>
-
-=head2 C<_nmax_by>
-
-Proxy for L<< C<List::UtilsBy::B<nmax_by>>|List::UtilsBy/nmax_by >>
-
 =begin MetaPOD::JSON v1.1.0
 
 {
@@ -365,7 +492,7 @@ Kent Fredric <kentfredric at gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Kent Fredric <kentfredric at gmail.com>.
+This software is copyright (c) 2014 by Kent Fredric <kentfredric at gmail.com>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
diff --git a/maint-travis-ci/.gitrepo b/maint-travis-ci/.gitrepo
new file mode 100644
index 0000000..7ed6a9c
--- /dev/null
+++ b/maint-travis-ci/.gitrepo
@@ -0,0 +1,11 @@
+; DO NOT EDIT (unless you know what you are doing)
+;
+; This subdirectory is a git "subrepo", and this file is maintained by the
+; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
+;
+[subrepo]
+	remote = https://github.com/kentfredric/travis-scripts.git
+	branch = master
+	commit = 7c80dffae0d7e39b20582e368d85c290429219fa
+	parent = 3449414c2ca55a43396b1418ed224f37ca84fac9
+	cmdver = 0.1.0
diff --git a/maint-travis-ci/.perltidyrc b/maint-travis-ci/.perltidyrc
new file mode 100644
index 0000000..3af28b5
--- /dev/null
+++ b/maint-travis-ci/.perltidyrc
@@ -0,0 +1,2 @@
+-i 2
+-l 130
diff --git a/maint-travis-ci/branch_reset.pl b/maint-travis-ci/branch_reset.pl
new file mode 100644
index 0000000..0cc2257
--- /dev/null
+++ b/maint-travis-ci/branch_reset.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_true('TRAVIS') ) {
+  diag('Is not running under travis!');
+  exit 1;
+}
+diag("Resetting branch to \e[32m$ENV{TRAVIS_BRANCH}\e[0m @ \e[33m$ENV{TRAVIS_COMMIT}\e[0m");
+git( 'checkout', $ENV{TRAVIS_BRANCH} );
+git( 'reset', '--hard', $ENV{TRAVIS_COMMIT} );
+my $goodtag;
+do {
+  my ( $output, $return ) = capture_stdout {
+    safe_exec_nonfatal( 'git', 'describe', '--tags', '--abbrev=0', $ENV{TRAVIS_BRANCH} );
+  };
+  ($goodtag) = split /\n/, $output;
+  if ( not $return ) {
+    diag("TIP Version tag is \e[32m$goodtag\e[0m");
+  }
+};
+my %good_tags;
+do {
+  my $output = capture_stdout {
+    git( 'log', '--simplify-by-decoration', '--pretty=format:%d' );
+  };
+  for my $line ( split /\n/, $output ) {
+    if ( $line =~ /\(tag:\s+(.*)\)/ ) {
+      my $tag = $1;
+      diag("Good tag: \e[32m$tag\e[0m");
+      $good_tags{$tag} = 1;
+    }
+    else {
+      diag("Line not matched regexp: <\e[31m$line\e[0m>");
+    }
+  }
+};
+do {
+  my $output = capture_stdout {
+    git('tag');
+  };
+  for my $line ( split /\n/, $output ) {
+    next if $good_tags{$line};
+    diag("Bad tag: \e[31m$line\e[0m");
+    git( 'tag', '-d', $line );
+  }
+};
diff --git a/maint-travis-ci/create_github_repo.pl b/maint-travis-ci/create_github_repo.pl
new file mode 100755
index 0000000..3499778
--- /dev/null
+++ b/maint-travis-ci/create_github_repo.pl
@@ -0,0 +1,38 @@
+#!/usr/bin/env perl
+# FILENAME: create_github_repo.pl
+# CREATED: 12/21/13 22:40:10 by Kent Fredric (kentnl) <kentfredric at gmail.com>
+# ABSTRACT: Create a github repo for the current repository
+
+use strict;
+use warnings;
+use utf8;
+use Carp qw(croak);
+
+sub _git_config {
+  my $key = shift;
+  chomp( my $value = `git config --get $key` );
+  croak "Unknown $key" unless $value;
+  return $value;
+}
+
+if ( not @ARGV == 2 ) {
+  die "$0 Repo-Name-Here \"Some Description\"";
+}
+
+my $github_user  = _git_config('github.user');
+my $github_token = _git_config('github.token');
+
+use Net::GitHub;
+my $gh = Net::GitHub->new( access_token => $github_token );
+my $reponame = "git\@github.com:" . $github_user . "/" . $ARGV[0] . ".git";
+print "Creating $reponame \n";
+
+my $rp = $gh->repos->create(
+  {
+    name        => $ARGV[0],
+    description => $ARGV[1],
+  }
+);
+
+system( 'git', 'remote', 'add', 'origin', $reponame );
+
diff --git a/maint-travis-ci/install_deps.pl b/maint-travis-ci/install_deps.pl
index 58e2b22..ab7277c 100644
--- a/maint-travis-ci/install_deps.pl
+++ b/maint-travis-ci/install_deps.pl
@@ -24,6 +24,8 @@ if ( env_true('DEVELOPER_DEPS') ) {
   push @params, '--dev';
 }
 if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) {
+  cpanm( @params, 'Devel::Confess' );
+  $ENV{PERL5OPT} = '-MDevel::Confess';
   cpanm( @params, 'Dist::Zilla', 'Capture::Tiny',      'Pod::Weaver' );
   cpanm( @params, '--dev',       'Dist::Zilla~>5.002', 'Pod::Weaver' );
   safe_exec( 'git', 'config', '--global', 'user.email', 'kentfredric+travisci at gmail.com' );
@@ -37,11 +39,29 @@ if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) {
     cpanm( @params, split /\n/, $stdout );
   }
   $stdout = capture_stdout {
-    safe_exec( 'dzil', 'listdeps', '--missing' );
+    safe_exec( 'dzil', 'listdeps', '--author', '--versions', '--missing' );
   };
 
   if ( $stdout !~ /^\s*$/msx ) {
-    cpanm( @params, split /\n/, $stdout );
+    my @deps = split /\n/, $stdout;
+    my @parsedeps;
+    for my $dep ( split /\n/, $stdout ) {
+      diag("Missing: \e[31m$dep\e[0m");
+      if ( $dep =~ /^\s*([^=\s]+)\s*=\s*(.*$)/ ) {
+        my ( $module, $version ) = ( $1, $2 );
+        diag("Module: \e[31m$module\e[0m -> \e[32m$version\e[0m");
+        if ( $version =~ /^\s*0\s*$/ ) {
+          push @parsedeps, $module;
+          next;
+        }
+        if ( $version =~ /^v?[0-9._]+/ ) {
+          push @parsedeps, "$module~>=$version";
+          next;
+        }
+        push @parsedeps, "$module~$version";
+      }
+    }
+    cpanm( @params, @parsedeps );
   }
 }
 else {
diff --git a/maint-travis-ci/install_deps_early.pl b/maint-travis-ci/install_deps_early.pl
new file mode 100644
index 0000000..9a750df
--- /dev/null
+++ b/maint-travis-ci/install_deps_early.pl
@@ -0,0 +1,47 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use utf8;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_exists('TRAVIS') ) {
+  diag('Is not running under travis!');
+  exit 1;
+}
+if ( not env_exists('STERILIZE_ENV') ) {
+  diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target");
+  exit 0;
+}
+
+# See https://github.com/dbsrgits/dbix-class/commit/8c11c33f8
+safe_exec_nonfatal( 'sudo', 'ip6tables', '-I', 'OUTPUT', '-d', 'api.metacpan.org', '-j', 'REJECT' );
+my (@params) = qw[ --quiet --notest --mirror http://cpan.metacpan.org/ --no-man-pages ];
+my ($branch) = $ENV{TRAVIS_BRANCH};
+my ($prefix) = './.travis_early_installdeps.';
+
+$branch =~ s{/}{_}g;
+my ($depsfile)   = ( $prefix . $branch );
+my ($paramsfile) = ( $prefix . 'params.' . $branch );
+
+if ( not( -e $depsfile and -f $depsfile ) ) {
+  diag("\e[31m$depsfile does not exist, no extra deps\e[0m");
+  exit 0;
+}
+
+my (@deps) = split /\n/, do {
+  open my $fh, '<', $depsfile;
+  local $/ = undef;
+  scalar <$fh>;
+};
+if ( -e $paramsfile and -f $paramsfile ) {
+  push @params, split /\n/, do {
+    open my $fh, '<', $paramsfile;
+    local $/ = undef;
+    scalar <$fh>;
+  };
+}
+cpanm( @params, @deps );
+exit 0;
diff --git a/maint-travis-ci/lib/tools.pm b/maint-travis-ci/lib/tools.pm
index 0da1620..4d43163 100644
--- a/maint-travis-ci/lib/tools.pm
+++ b/maint-travis-ci/lib/tools.pm
@@ -6,6 +6,11 @@ package tools;
 use Cwd qw(cwd);
 use Config;
 
+sub capture_stdout(&) {
+  require Capture::Tiny;
+  goto &Capture::Tiny::capture_stdout;
+}
+
 sub diag {
   my $handle = \*STDERR;
   for (@_) {
@@ -53,9 +58,11 @@ sub safe_exec {
 
 sub cpanm {
   my (@params) = @_;
+  my $cpanm_lines = 4000;
   my $exit_code = safe_exec_nonfatal( 'cpanm', @params );
   if ( $exit_code != 0 ) {
-    safe_exec( 'tail', '-n', '200', '/home/travis/.cpanm/build.log' );
+    diag("\e[32m cpanm \e[0m failed, showing last \e[31m$cpanm_lines\e[0m lines");
+    safe_exec( 'tail', '-n', $cpanm_lines, '/home/travis/.cpanm/build.log' );
     exit $exit_code;
   }
   return 1;
@@ -108,6 +115,9 @@ my $sterile_deployed;
 
 sub deploy_sterile {
   return if $sterile_deployed;
+  cpanm( '--skip-satisfied', 'Capture::Tiny' );
+  require Capture::Tiny;    # load before we oblitterate everything.
+
   fixup_sterile();
   for my $key ( keys %Config ) {
     next unless $key =~ /(lib|arch)exp$/;
@@ -123,6 +133,32 @@ sub deploy_sterile {
       safe_exec( 'rsync', '-a', '--delete-delay', $clean_path, $value );
     }
   }
+  for my $key ( keys %Config ) {
+    next unless $key =~ /(prefix|bin|scriptdir|script)exp$/;
+    my $value = $Config{$key};
+    next unless defined $value;
+    next unless length $value;
+    my $clean_path = '/tmp/perl5-sterile/' . $key;
+    diag("\e[32m?$clean_path\e[0m");
+    if ( -e $clean_path and -d $clean_path ) {
+      diag("\e[31mPre-Cleaning $value\e[0m");
+      my $content = capture_stdout {
+        safe_exec( 'find', $value, '-type', 'f', '-executable', '-print0' );
+      };
+      for my $file ( split /\0/, $content ) {
+        if ( -B $file ) {
+          diag("\e[33m: Protected\e[34m: $file\e[0m");
+          next;
+        }
+        unlink $file;
+        diag("\e[31m: Removed:\e[34m: $file\e[0m");
+      }
+      diag("\e[31mRsyncing over $value\e[0m");
+      $clean_path =~ s{/?$}{/};
+      $value =~ s{/?$}{/};
+      safe_exec( 'rsync', '-a', $clean_path, $value );
+    }
+  }
 }
 
 sub cpanm_fix {
@@ -140,11 +176,6 @@ sub parse_meta_json {
   return CPAN::Meta->load_file( $_[0] );
 }
 
-sub capture_stdout(&) {
-  require Capture::Tiny;
-  goto &Capture::Tiny::capture_stdout;
-}
-
 sub import {
   my ( $self, @args ) = @_;
 
diff --git a/maint-travis-ci/report_fail_ctx.pl b/maint-travis-ci/report_fail_ctx.pl
index 29b8e21..8709ca0 100644
--- a/maint-travis-ci/report_fail_ctx.pl
+++ b/maint-travis-ci/report_fail_ctx.pl
@@ -8,6 +8,6 @@ use FindBin;
 use lib "$FindBin::Bin/lib";
 use tools;
 
-diag("\e[31mLast 1000 lines of cpanm build log\e[0m");
-safe_exec( 'tail', '-n', '1000', $ENV{HOME} . '/.cpanm/build.log' );
+diag("\e[31mLast 4000 lines of cpanm build log\e[0m");
+safe_exec( 'tail', '-n', '4000', $ENV{HOME} . '/.cpanm/build.log' );
 
diff --git a/maint-travis-ci/script.pl b/maint-travis-ci/script.pl
index 67ae282..6ed15eb 100644
--- a/maint-travis-ci/script.pl
+++ b/maint-travis-ci/script.pl
@@ -21,15 +21,9 @@ if ( env_is( 'TRAVIS_BRANCH', 'master' ) and env_is( 'TRAVIS_PERL_VERSION', '5.8
   exit 0;
 }
 if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) {
-  my $xtest = safe_exec_nonfatal( 'dzil', 'xtest' );
-  my $test  = safe_exec_nonfatal( 'dzil', 'test' );
-  if ( $test != 0 ) {
-    exit $test;
-  }
-  if ( $xtest != 0 ) {
-    exit $xtest;
-  }
-  exit 0;
+  $ENV{HARNESS_OPTIONS} = 'j100:c';
+  $ENV{PERL5OPT}        = '-MDevel::Confess';
+  safe_exec( 'dzil', 'test', '--release' );
 }
 else {
   my @paths = './t';
diff --git a/maint-travis-ci/sterilize_env.pl b/maint-travis-ci/sterilize_env.pl
index 0d51e86..df9dc09 100644
--- a/maint-travis-ci/sterilize_env.pl
+++ b/maint-travis-ci/sterilize_env.pl
@@ -6,28 +6,6 @@ use FindBin;
 use lib "$FindBin::Bin/lib";
 use tools;
 
-my $corelists = "$FindBin::Bin/corelist-data";
-
-sub no_sterile_warning {
-  if ( env_is( 'TRAVIS_PERL_VERSION', '5.8' )
-    or env_is( 'TRAVIS_PERL_VERSION', '5.10' ) )
-  {
-    diag("\e[31m TREE STERILIZATION IMPOSSIBLE <= 5.10\e[0m");
-    diag("\e[32m ... because prior to 5.11.*, dual-life installed to \e[33mprivlib\e[0m");
-    diag("\e[32m ... because prior to 5.11.*, \e[33m\@INC\e[32m order was \e[33mprivlib,sitelib\e[0m");
-    diag("\e[32m ... whereas after to 5.11.*, \e[33m\@INC\e[32m order is \e[33msitelib,privlib\e[0m");
-    diag("\e[32m ... and now most dual-life things simply install to \e[33msitelib\e[0m");
-    diag("\e[34m ( However, there are still a few naughty CPAN modules that install to \e[33mprivlib\e[34m )");
-    diag(
-      "\e[32m but the net effect of this is that installing \e[33mModule::Build 0.4007\e[32m which pulls \e[33mPerl::OSType\e[0m"
-    );
-    diag("\e[32m and results in  \e[33mPerl::OSType\e[32m being later removed \e[0m");
-    diag("\e[32m leaving behind a broken  \e[33mModule::Build 0.4007\e[32m\e[0m");
-    diag("\e[34m Set \e[35m MAYBE_BREAK_MODULE_BUILD=1\e[34m if this is ok\e[0m");
-    exit 0 unless env_true('MAYBE_BREAK_MODULE_BUILD');
-    diag("\e[35m PROCEEDING\e[0m");
-  }
-}
 if ( not env_exists('STERILIZE_ENV') ) {
   diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target");
   exit 0;
diff --git a/maint-travis-ci/sync_tree.pl b/maint-travis-ci/sync_tree.pl
index a9d60fa..6ca79e6 100755
--- a/maint-travis-ci/sync_tree.pl
+++ b/maint-travis-ci/sync_tree.pl
@@ -15,13 +15,67 @@ sub git_subtree {
   safe_exec( 'git', 'subtree', @_ );
 }
 
+sub git_subrepo {
+  safe_exec( 'git', 'subrepo', @_ );
+}
+
 my $travis = 'https://github.com/kentfredric/travis-scripts.git';
 my $prefix = 'maint-travis-ci';
 
-if ( not -d -e $root->child($prefix) ) {
-  git_subtree( 'add', '--prefix=' . $prefix, $travis, 'master' );
+my $opts = { pushas => 'incomming' };
+
+for my $id ( 0 .. $#ARGV ) {
+  my ($field) = $ARGV[$id];
+  next unless $field;
+  next unless $field =~ /^-+(.*?$)/;
+  my ($field_name) = $1;
+  my ($value)      = $ARGV[ $id + 1 ];
+  undef $ARGV[$id];
+  undef $ARGV[ $id + 1 ];
+  if ( $field_name eq 'push' ) {
+    $opts->{push}    = 1;
+    $opts->{push_to} = $value;
+    next;
+  }
+  if ( $field_name eq 'pushas' ) {
+    $opts->{pushas} = $value;
+    next;
+  }
+  if ( $field_name eq 'mc' ) {
+    $opts->{has_commit} = 1;
+    $opts->{commit}     = $value;
+    next;
+  }
+}
+if ( not $opts->{push} ) {
+  my $commitish = 'master';
+  $commitish = $opts->{commit} if $opts->{has_commit};
+
+  if ( not -d -e $root->child($prefix) ) {
+    if ( $ENV{"SUBREPO"} ) {
+      git_subrepo( 'clone', $travis, $prefix, '-b', $commitish );
+    }
+    else {
+      git_subtree( 'add', '--squash', '--prefix=' . $prefix, $travis, $commitish );
+    }
+  }
+  else {
+    if ( $ENV{"SUBREPO"} ) {
+      git_subrepo( 'pull', $prefix, '-b', $commitish );
+    }
+    else {
+
+      git_subtree(
+        'pull', '--squash', '-m',
+        'Synchronise git subtree maint-travis-ci',
+        '--prefix=' . $prefix,
+        $travis, $commitish
+      );
+    }
+  }
 }
 else {
-  git_subtree( 'pull', '-m', 'Synchronise git subtree maint-travis-ci', '--prefix=' . $prefix, $travis, 'master' );
+  die "NO!" if $ENV{"SUBREPO"};
+  git_subtree( 'push', '--prefix=' . $prefix, $opts->{push_to}, $opts->{pushas} );
 }
 
diff --git a/maint-travis-ci/travis_enable.pl b/maint-travis-ci/travis_enable.pl
new file mode 100755
index 0000000..a6b902b
--- /dev/null
+++ b/maint-travis-ci/travis_enable.pl
@@ -0,0 +1,88 @@
+#!/usr/bin/env perl
+use v5.10;
+use strict;
+use warnings;
+use Carp;
+use Net::GitHub;
+use Getopt::Lucid ':all';
+use Path::Tiny;
+use FindBin;
+
+my $yamls = path($FindBin::Bin)->child('yamls');
+
+my $opts = Getopt::Lucid->getopt(
+  [
+        #<<< No perltidy
+        Param('repo|r'),
+        #>>>
+  ]
+);
+
+$opts->validate;
+
+sub _detect_repo {
+  my ($origin) = grep { /origin/ } `git remote -v`;
+
+  die "Couldn't determine origin\n" unless $origin;
+
+  chomp $origin;
+  $origin =~ s/^origin\s+//;
+  $origin =~ s/\s+\(.*$//;
+  if ( $origin =~ m{^.+?://github.com/([^/]+)/(.+)\.git$} ) {
+    return [ $1, $2 ];
+  }
+  elsif ( $origin =~ m{^git\@github\.com:([^/]+)/(.+)\.git$} ) {
+    return [ $1, $2 ];
+  }
+  else {
+    die "Can't determine repo name from '$origin'.  Try manually with -r REPO\n";
+  }
+}
+
+sub _git_config {
+  my $key = shift;
+  chomp( my $value = `git config --get $key` );
+  croak "Unknown $key" unless $value;
+  return $value;
+}
+
+my $github_user  = _git_config("github.user");
+my $github_token = _git_config("github.token");
+my $travis_token = _git_config("travis.token");
+
+my $gh = Net::GitHub->new( access_token => $github_token );
+
+my @repos;
+
+if ( $opts->get_repo ) {
+  @repos = $opts->get_repo;
+}
+else {
+  ( $github_user, @repos ) = @{ _detect_repo() };
+}
+
+my $hook_hash = {
+  name   => 'travis',
+  config => {
+    token  => $travis_token,
+    user   => $github_user,
+    domain => '',
+  },
+  events => [qw/push pull_request issue_comment public member/],
+  active => 1,
+};
+
+my $repos = $gh->repos;
+$repos->set_default_user_repo( $github_user, $repos[0] );
+my $hook = eval { $repos->create_hook($hook_hash) };
+if ($@) {
+  say "Failed: $@";
+}
+else {
+  say "Enabled travis for $repos[0]";
+}
+
+unless ( -f '.travis.yml' ) {
+  $yamls->child('sterile2.yaml')->copy('./.travis.yml');
+  say "copied .travis.yml to current directory";
+}
diff --git a/maint-travis-ci/yamls/sterile.yaml b/maint-travis-ci/yamls/sterile.yaml
index 6f29405..d32f20d 100644
--- a/maint-travis-ci/yamls/sterile.yaml
+++ b/maint-travis-ci/yamls/sterile.yaml
@@ -25,6 +25,7 @@ matrix:
       env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
 before_install:
   - perlbrew list
+  - time perl ./maint-travis-ci/branch_reset.pl
   - time perl ./maint-travis-ci/sterilize_env.pl
 install:
   - time perl ./maint-travis-ci/install_deps.pl
diff --git a/maint-travis-ci/yamls/sterile2.yaml b/maint-travis-ci/yamls/sterile2.yaml
index 9186391..d0a6ce1 100644
--- a/maint-travis-ci/yamls/sterile2.yaml
+++ b/maint-travis-ci/yamls/sterile2.yaml
@@ -1,5 +1,9 @@
 language: perl
 matrix:
+  allow_failures:
+    - perl: "5.8"
+    - env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+    - env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
   include:
     - perl: "5.8"
       env:  STERILIZE_ENV=0
@@ -27,8 +31,10 @@ matrix:
       env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
 before_install:
   - perlbrew list
+  - time perl ./maint-travis-ci/branch_reset.pl
   - time perl ./maint-travis-ci/sterilize_env.pl
 install:
+  - time perl ./maint-travis-ci/install_deps_early.pl
   - time perl ./maint-travis-ci/install_deps.pl
 before_script:
   - time perl ./maint-travis-ci/before_script.pl
diff --git a/maint/perlcritic.rc.gen.pl b/maint/perlcritic.rc.gen.pl
new file mode 100644
index 0000000..1e3c802
--- /dev/null
+++ b/maint/perlcritic.rc.gen.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/env perl
+## no critic (Modules::RequireVersionVar)
+
+# FILENAME: bundle_to_ini.pl
+# CREATED: 02/06/14 01:48:56 by Kent Fredric (kentnl) <kentfredric at gmail.com>
+# ABSTRACT: Write an INI file from a bundle
+
+use 5.008;    #utf8
+use strict;
+use warnings;
+use utf8;
+
+use Carp qw( croak carp );
+use Perl::Critic::ProfileCompiler::Util qw( create_bundle );
+
+## no critic (ErrorHandling::RequireUseOfExceptions)
+my $bundle = create_bundle('Example::Author::KENTNL');
+$bundle->configure;
+
+my @stopwords = (
+  qw(
+    )
+);
+for my $wordlist (@stopwords) {
+  $bundle->add_or_append_policy_field( 'Documentation::PodSpelling' => ( 'stop_words' => $wordlist ) );
+}
+
+#$bundle->remove_policy('ErrorHandling::RequireCarping');
+#$bundle->remove_policy('NamingConventions::Capitalization');
+
+my $inf = $bundle->actionlist->get_inflated;
+
+my $config = $inf->apply_config;
+
+{
+  open my $rcfile, '>', './perlcritic.rc' or croak 'Cant open perlcritic.rc';
+  $rcfile->print( $config->as_ini, "\n" );
+  close $rcfile or croak 'Something fubared closing perlcritic.rc';
+}
+my $deps = $inf->own_deps;
+{
+  open my $depsfile, '>', './perlcritic.deps' or croak 'Cant open perlcritic.deps';
+  for my $key ( sort keys %{$deps} ) {
+    $depsfile->printf( "%s~%s\n", $key, $deps->{$key} );
+    *STDERR->printf( "%s => %s\n", $key, $deps->{$key} );
+  }
+  close $depsfile or carp 'Something fubared closing perlcritic.deps';
+}
+
diff --git a/perlcritic.deps b/perlcritic.deps
new file mode 100644
index 0000000..850f958
--- /dev/null
+++ b/perlcritic.deps
@@ -0,0 +1,14 @@
+Perl::Critic::Policy::Lax::RequireExplicitPackage::ExceptForPragmata~0
+Perl::Critic::Policy::Variables::ProhibitUnusedVarsStricter~0
+Perl::Critic::ProfileCompiler::Bundle::Bangs~0
+Perl::Critic::ProfileCompiler::Bundle::Compatibility~0
+Perl::Critic::ProfileCompiler::Bundle::Core~0
+Perl::Critic::ProfileCompiler::Bundle::Deprecated~0
+Perl::Critic::ProfileCompiler::Bundle::Itch~0
+Perl::Critic::ProfileCompiler::Bundle::Lax~0
+Perl::Critic::ProfileCompiler::Bundle::Moose~0
+Perl::Critic::ProfileCompiler::Bundle::More~0
+Perl::Critic::ProfileCompiler::Bundle::Pulp~0
+Perl::Critic::ProfileCompiler::Bundle::StricterSubs~0
+Perl::Critic::ProfileCompiler::Bundle::Swift~0
+Perl::Critic::ProfileCompiler::Bundle::Tics~0
diff --git a/perlcritic.rc b/perlcritic.rc
index a59e977..078edf7 100644
--- a/perlcritic.rc
+++ b/perlcritic.rc
@@ -1,23 +1,455 @@
-severity = 1
-exclude = RequireTidyCode RequirePodSections ProhibitPostfixControls RequireRcsKeywords RequireExplicitPackage ProhibitNoWarnings ProhibitSubroutinePrototypes
-include = Moose::ProhibitMultipleWiths Moose::ProhibitNewMethod Moose::RequireCleanNamespace Moose::RequireMakeImmutable
 color = 1
+color-severity-low = green
+color-severity-medium = yellow
+only = 1
+severity = 1
 verbose = 9
 
+[Bangs::ProhibitBitwiseOperators]
+
+[Bangs::ProhibitCommentedOutCode]
+
+[Bangs::ProhibitDebuggingModules]
+
+[-Bangs::ProhibitFlagComments]
+
+[Bangs::ProhibitNoPlan]
+
+[Bangs::ProhibitNumberedNames]
+
+[Bangs::ProhibitRefProtoOrProto]
+
+[Bangs::ProhibitUselessRegexModifiers]
+
+[Bangs::ProhibitVagueNames]
+
+[BuiltinFunctions::ProhibitBooleanGrep]
+
+[BuiltinFunctions::ProhibitComplexMappings]
+
+[BuiltinFunctions::ProhibitLvalueSubstr]
+
+[BuiltinFunctions::ProhibitReverseSortBlock]
+
+[BuiltinFunctions::ProhibitSleepViaSelect]
+
 [BuiltinFunctions::ProhibitStringyEval]
 allow_includes = 1
 
+[BuiltinFunctions::ProhibitStringySplit]
+
+[BuiltinFunctions::ProhibitUniversalCan]
+
+[BuiltinFunctions::ProhibitUniversalIsa]
+
+[BuiltinFunctions::ProhibitVoidGrep]
+
+[BuiltinFunctions::ProhibitVoidMap]
+
+[BuiltinFunctions::RequireBlockGrep]
+
+[BuiltinFunctions::RequireBlockMap]
+
+[BuiltinFunctions::RequireGlobFunction]
+
+[BuiltinFunctions::RequireSimpleSortBlock]
+
+[ClassHierarchies::ProhibitAutoloading]
+
+[ClassHierarchies::ProhibitExplicitISA]
+
+[ClassHierarchies::ProhibitOneArgBless]
+
+[CodeLayout::ProhibitFatCommaNewline]
+
+[CodeLayout::ProhibitHardTabs]
+
+[-CodeLayout::ProhibitHashBarewords]
+
+[CodeLayout::ProhibitIfIfSameLine]
+
+[CodeLayout::ProhibitParensWithBuiltins]
+
+[CodeLayout::ProhibitQuotedWordLists]
+
 [CodeLayout::ProhibitTrailingWhitespace]
 
+[-CodeLayout::RequireASCII]
+
+[CodeLayout::RequireConsistentNewlines]
+
+[CodeLayout::RequireFinalSemicolon]
+
+[-CodeLayout::RequireTidyCode]
+
+[CodeLayout::RequireTrailingCommaAtNewline]
+
+[CodeLayout::RequireTrailingCommas]
+
+[CodeLayout::RequireUseUTF8]
+
+[Compatibility::ConstantLeadingUnderscore]
+
+[Compatibility::ConstantPragmaHash]
+
+[Compatibility::Gtk2Constants]
+
+[Compatibility::PerlMinimumVersionAndWhy]
+
+[-Compatibility::PodMinimumVersion]
+
+[Compatibility::ProhibitThreeArgumentOpen]
+
+[Compatibility::ProhibitUnixDevNull]
+
+[ControlStructures::ProhibitCStyleForLoops]
+
+[ControlStructures::ProhibitCascadingIfElse]
+
+[ControlStructures::ProhibitDeepNests]
+
+[ControlStructures::ProhibitLabelsWithSpecialBlockNames]
+
+[ControlStructures::ProhibitMutatingListFunctions]
+
+[ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions]
+
+[-ControlStructures::ProhibitPostfixControls]
+
+[ControlStructures::ProhibitUnlessBlocks]
+
+[ControlStructures::ProhibitUnreachableCode]
+
+[ControlStructures::ProhibitUntilBlocks]
+
 [Documentation::PodSpelling]
-stop_words = behaviour
+spell_command = aspell list --lang en_US
+
+[Documentation::ProhibitAdjacentLinks]
+
+[Documentation::ProhibitBadAproposMarkup]
+
+[Documentation::ProhibitDuplicateHeadings]
+
+[Documentation::ProhibitDuplicateSeeAlso]
+
+[Documentation::ProhibitLinkToSelf]
+
+[Documentation::ProhibitParagraphEndComma]
+
+[Documentation::ProhibitParagraphTwoDots]
+
+[Documentation::ProhibitUnbalancedParens]
+
+[Documentation::ProhibitVerbatimMarkup]
+
+[Documentation::RequireEndBeforeLastPod]
+
+[Documentation::RequireFinalCut]
+
+[Documentation::RequireLinkedURLs]
+
+[-Documentation::RequirePODUseEncodingUTF8]
+
+[Documentation::RequirePackageMatchesPodName]
+
+[Documentation::RequirePodAtEnd]
+
+[Documentation::RequirePodLinksIncludeText]
+
+[-Documentation::RequirePodSections]
+
+[-Editor::RequireEmacsFileVariables]
+
+[ErrorHandling::RequireCarping]
+
+[ErrorHandling::RequireCheckingReturnValueOfEval]
+
+[ErrorHandling::RequireUseOfExceptions]
+
+[InputOutput::ProhibitBacktickOperators]
+
+[InputOutput::ProhibitBarewordFileHandles]
+
+[InputOutput::ProhibitExplicitStdin]
+
+[InputOutput::ProhibitInteractiveTest]
+
+[InputOutput::ProhibitJoinedReadline]
+
+[InputOutput::ProhibitOneArgSelect]
+
+[InputOutput::ProhibitReadlineInForLoop]
+
+[InputOutput::ProhibitTwoArgOpen]
+
+[InputOutput::RequireBracedFileHandleWithPrint]
+
+[InputOutput::RequireBriefOpen]
+
+[InputOutput::RequireCheckedClose]
+
+[InputOutput::RequireCheckedOpen]
+
+[InputOutput::RequireCheckedSyscalls]
+
+[InputOutput::RequireEncodingWithUTF8Layer]
+
+[Lax::ProhibitComplexMappings::LinesNotStatements]
+
+[Lax::ProhibitEmptyQuotes::ExceptAsFallback]
+
+[Lax::ProhibitLeadingZeros::ExceptChmod]
+
+[Lax::ProhibitStringyEval::ExceptForRequire]
+
+[Lax::RequireEndWithTrueConst]
+
+[Lax::RequireExplicitPackage::ExceptForPragmata]
+allowed_pragmata = diagnostics feature perlversion strict warnings utf8
+
+[Miscellanea::ProhibitFormats]
+
+[Miscellanea::ProhibitTies]
+
+[Miscellanea::ProhibitUnrestrictedNoCritic]
+
+[-Miscellanea::ProhibitUselessNoCritic]
+
+[-Miscellanea::RequireRcsKeywords]
+
+[Miscellanea::TextDomainPlaceholders]
+
+[Miscellanea::TextDomainUnused]
+
+[Modules::PerlMinimumVersion]
+
+[Modules::ProhibitAutomaticExportation]
+
+[Modules::ProhibitConditionalUseStatements]
+
+[Modules::ProhibitEvilModules]
+
+[Modules::ProhibitExcessMainComplexity]
+
+[Modules::ProhibitModuleShebang]
+
+[Modules::ProhibitMultiplePackages]
+
+[Modules::ProhibitPOSIXimport]
+
+[Modules::ProhibitUseQuotedVersion]
+
+[Modules::RequireBarewordIncludes]
+
+[Modules::RequireEndWithOne]
+
+[-Modules::RequireExplicitInclusion]
+
+[-Modules::RequireExplicitPackage]
+
+[Modules::RequireFilenameMatchesPackage]
+
+[Modules::RequireNoMatchVarsWithUseEnglish]
+
+[Modules::RequirePerlVersion]
+
+[Modules::RequireVersionVar]
+
+[-Moose::ProhibitMultipleWiths]
+
+[Moose::ProhibitNewMethod]
+
+[Moose::RequireCleanNamespace]
+
+[Moose::RequireMakeImmutable]
+
+[NamingConventions::Capitalization]
+
+[NamingConventions::ProhibitAmbiguousNames]
+
+[NamingConventions::ProhibitMixedCaseSubs]
+
+[NamingConventions::ProhibitMixedCaseVars]
+
+[Objects::ProhibitIndirectSyntax]
+
+[References::ProhibitDoubleSigils]
+
+[RegularExpressions::ProhibitCaptureWithoutTest]
+
+[RegularExpressions::ProhibitComplexRegexes]
+
+[RegularExpressions::ProhibitEnumeratedClasses]
+
+[RegularExpressions::ProhibitEscapedMetacharacters]
+
+[RegularExpressions::ProhibitFixedStringMatches]
+
+[RegularExpressions::ProhibitSingleCharAlternation]
+
+[RegularExpressions::ProhibitUnusedCapture]
+
+[RegularExpressions::ProhibitUnusualDelimiters]
+
+[RegularExpressions::RequireBracesForMultiline]
+
+[RegularExpressions::RequireDotMatchAnything]
+
+[RegularExpressions::RequireExtendedFormatting]
+
+[RegularExpressions::RequireLineBoundaryMatching]
+
+[Subroutines::ProhibitAmpersandSigils]
+
+[Subroutines::ProhibitBuiltinHomonyms]
+
+[Subroutines::ProhibitCallsToUndeclaredSubs]
+
+[Subroutines::ProhibitCallsToUnexportedSubs]
+
+[Subroutines::ProhibitExcessComplexity]
+
+[Subroutines::ProhibitExplicitReturnUndef]
+
+[Subroutines::ProhibitExportingUndeclaredSubs]
+
+[Subroutines::ProhibitManyArgs]
+
+[Subroutines::ProhibitNestedSubs]
+
+[Subroutines::ProhibitQualifiedSubDeclarations]
+
+[Subroutines::ProhibitReturnSort]
+
+[Subroutines::ProhibitSubroutinePrototypes]
 
 [Subroutines::ProhibitUnusedPrivateSubroutines]
 private_name_regex = _(?!build_)\w
 
+[Subroutines::ProtectPrivateSubs]
+
+[Subroutines::RequireArgUnpacking]
+
+[Subroutines::RequireFinalReturn]
+
+[TestingAndDebugging::ProhibitNoStrict]
+
+[TestingAndDebugging::ProhibitNoWarnings]
+
+[TestingAndDebugging::ProhibitProlongedStrictureOverride]
+
+[TestingAndDebugging::RequireTestLabels]
+
 [TestingAndDebugging::RequireUseStrict]
-equivalent_modules = Moose
+equivalent_modules = Moose Moo
 
 [TestingAndDebugging::RequireUseWarnings]
-equivalent_modules = Moose
+equivalent_modules = Moose Moo
+
+[Tics::ProhibitLongLines]
+base_max = 130
+
+[Tics::ProhibitManyArrows]
+
+[Tics::ProhibitUseBase]
+
+[ValuesAndExpressions::ConstantBeforeLt]
+
+[ValuesAndExpressions::NotWithCompare]
+
+[ValuesAndExpressions::ProhibitArrayAssignAref]
+
+[ValuesAndExpressions::ProhibitBarewordDoubleColon]
+
+[ValuesAndExpressions::ProhibitCommaSeparatedStatements]
+
+[ValuesAndExpressions::ProhibitComplexVersion]
+
+[ValuesAndExpressions::ProhibitConstantPragma]
+
+[ValuesAndExpressions::ProhibitDuplicateHashKeys]
+
+[-ValuesAndExpressions::ProhibitEmptyCommas]
+
+[ValuesAndExpressions::ProhibitEmptyQuotes]
+
+[ValuesAndExpressions::ProhibitEscapedCharacters]
+
+[ValuesAndExpressions::ProhibitFiletest_f]
+
+[ValuesAndExpressions::ProhibitImplicitNewlines]
+
+[ValuesAndExpressions::ProhibitInterpolationOfLiterals]
+
+[ValuesAndExpressions::ProhibitLeadingZeros]
+
+[ValuesAndExpressions::ProhibitLongChainsOfMethodCalls]
+
+[-ValuesAndExpressions::ProhibitMagicNumbers]
+
+[ValuesAndExpressions::ProhibitMismatchedOperators]
+
+[ValuesAndExpressions::ProhibitMixedBooleanOperators]
+
+[ValuesAndExpressions::ProhibitNoisyQuotes]
+
+[ValuesAndExpressions::ProhibitNullStatements]
+
+[ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters]
+
+[ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator]
+
+[ValuesAndExpressions::ProhibitUnknownBackslash]
+
+[ValuesAndExpressions::ProhibitVersionStrings]
+
+[ValuesAndExpressions::RequireConstantOnLeftSideOfEquality]
+
+[ValuesAndExpressions::RequireConstantVersion]
+
+[ValuesAndExpressions::RequireInterpolationOfMetachars]
+
+[ValuesAndExpressions::RequireNumberSeparators]
+
+[ValuesAndExpressions::RequireNumericVersion]
+
+[ValuesAndExpressions::RequireQuotedHeredocTerminator]
+
+[ValuesAndExpressions::RequireUpperCaseHeredocTerminator]
+
+[ValuesAndExpressions::RestrictLongStrings]
+
+[ValuesAndExpressions::UnexpandedSpecialLiteral]
+
+[Variables::ProhibitAugmentedAssignmentInDeclaration]
+
+[Variables::ProhibitConditionalDeclarations]
+
+[Variables::ProhibitEvilVariables]
+
+[Variables::ProhibitLocalVars]
+
+[Variables::ProhibitMatchVars]
+
+[Variables::ProhibitPackageVars]
+
+[Variables::ProhibitPerl4PackageNames]
+
+[-Variables::ProhibitPunctuationVars]
+
+[Variables::ProhibitReusedNames]
+
+[Variables::ProhibitUnusedVariables]
+
+[Variables::ProhibitUnusedVarsStricter]
+
+[Variables::ProtectPrivateVars]
+
+[Variables::RequireInitializationForLocalVars]
+
+[Variables::RequireLexicalLoopIterators]
+
+[Variables::RequireLocalizedPunctuationVars]
 
+[Variables::RequireNegativeIndices]
diff --git a/t/00-report-prereqs.t b/t/00-report-prereqs.t
new file mode 100644
index 0000000..7e16671
--- /dev/null
+++ b/t/00-report-prereqs.t
@@ -0,0 +1,238 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.013
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec::Functions;
+use List::Util qw/max/;
+use version;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+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_requires {
+    my ($collector, $prereqs) = @_;
+    for my $phase ( qw/configure build test runtime develop/ ) {
+        next unless exists $prereqs->{$phase};
+        if ( my $req = $prereqs->{$phase}{'requires'} ) {
+            my $cmr = CPAN::Meta::Requirements->from_string_hash( $req );
+            $collector->add_requirements( $cmr );
+        }
+    }
+}
+
+my %include = map {; $_ => 1 } qw(
+
+);
+
+my %exclude = map {; $_ => 1 } qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do { my $x = {
+       'configure' => {
+                        'recommends' => {
+                                          'ExtUtils::MakeMaker' => '6.94'
+                                        },
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '6.30'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Dist::Zilla::Plugin::Authority' => '1.006',
+                                      'Dist::Zilla::Plugin::AutoPrereqs' => '0',
+                                      'Dist::Zilla::Plugin::ConfirmRelease' => '0',
+                                      'Dist::Zilla::Plugin::EOLTests' => '0',
+                                      'Dist::Zilla::Plugin::Git::Check' => '0',
+                                      'Dist::Zilla::Plugin::Git::Commit' => '0',
+                                      'Dist::Zilla::Plugin::Git::CommitBuild' => '0',
+                                      'Dist::Zilla::Plugin::Git::GatherDir' => '0',
+                                      'Dist::Zilla::Plugin::Git::NextRelease' => '0',
+                                      'Dist::Zilla::Plugin::Git::NextVersion::Sanitized' => '0',
+                                      'Dist::Zilla::Plugin::Git::Tag' => '0',
+                                      'Dist::Zilla::Plugin::GithubMeta' => '0',
+                                      'Dist::Zilla::Plugin::License' => '0',
+                                      'Dist::Zilla::Plugin::MakeMaker' => '0',
+                                      'Dist::Zilla::Plugin::Manifest' => '0',
+                                      'Dist::Zilla::Plugin::ManifestSkip' => '0',
+                                      'Dist::Zilla::Plugin::MetaConfig' => '0',
+                                      'Dist::Zilla::Plugin::MetaData::BuiltWith' => '0',
+                                      'Dist::Zilla::Plugin::MetaJSON' => '0',
+                                      'Dist::Zilla::Plugin::MetaProvides::Package' => '1.14000001',
+                                      'Dist::Zilla::Plugin::MetaTests' => '0',
+                                      'Dist::Zilla::Plugin::MetaYAML' => '0',
+                                      'Dist::Zilla::Plugin::MinimumPerl' => '0',
+                                      'Dist::Zilla::Plugin::PkgVersion' => '0',
+                                      'Dist::Zilla::Plugin::PodCoverageTests' => '0',
+                                      'Dist::Zilla::Plugin::PodSyntaxTests' => '0',
+                                      'Dist::Zilla::Plugin::PodWeaver' => '0',
+                                      'Dist::Zilla::Plugin::Prereqs' => '0',
+                                      'Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled' => '0',
+                                      'Dist::Zilla::Plugin::ReadmeAnyFromPod' => '0',
+                                      'Dist::Zilla::Plugin::ReadmeFromPod' => '0',
+                                      'Dist::Zilla::Plugin::RunExtraTests' => '0',
+                                      'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0',
+                                      'Dist::Zilla::Plugin::Test::Compile::PerFile' => '0',
+                                      'Dist::Zilla::Plugin::Test::Kwalitee' => '0',
+                                      'Dist::Zilla::Plugin::Test::MinimumVersion' => '0',
+                                      'Dist::Zilla::Plugin::Test::Perl::Critic' => '0',
+                                      'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0',
+                                      'Dist::Zilla::Plugin::TestRelease' => '0',
+                                      'Dist::Zilla::Plugin::Twitter' => '0',
+                                      'Dist::Zilla::Plugin::UploadToCPAN' => '0',
+                                      'Dist::Zilla::PluginBundle::Author::KENTNL' => '2.012002',
+                                      'Pod::Coverage::TrustPod' => '0',
+                                      'Test::CPAN::Changes' => '0.19',
+                                      'Test::CPAN::Meta' => '0',
+                                      'Test::Kwalitee' => '1.12',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Pod::Coverage' => '1.08'
+                                    },
+                      'suggests' => {
+                                      'Dist::Zilla::PluginBundle::Author::KENTNL::Lite' => 'v1.3.0'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'Carp' => '0',
+                                      'Dist::Zilla::Role::Plugin' => '0',
+                                      'List::UtilsBy' => '0',
+                                      'Moose::Role' => '0',
+                                      'MooseX::AttributeShortcuts' => '0.015',
+                                      'Path::Tiny' => '0',
+                                      'lib' => '0',
+                                      'perl' => '5.008',
+                                      'strict' => '0',
+                                      'utf8' => '0',
+                                      'version' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '0',
+                                     'CPAN::Meta::Requirements' => '2.120900',
+                                     'ExtUtils::MakeMaker' => '6.94',
+                                     'Test::More' => '1.001003'
+                                   },
+                   'requires' => {
+                                   'Dist::Zilla::Chrome::Test' => '0',
+                                   'Dist::Zilla::Dist::Builder' => '0',
+                                   'Dist::Zilla::MVP::Assembler::Zilla' => '0',
+                                   'Dist::Zilla::MVP::Section' => '0',
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Copy::Recursive' => '0',
+                                   'File::Spec::Functions' => '0',
+                                   'List::Util' => '0',
+                                   'Moose' => '0',
+                                   'Path::FindDev' => '0',
+                                   'Test::More' => '0.89'
+                                 }
+                 }
+     };
+  $x;
+ };
+
+delete $static_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
+$include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$static_prereqs;
+
+# Merge requirements for major phases (if we can)
+my $all_requires;
+if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
+    $all_requires = $cpan_meta_req->new;
+    _merge_requires($all_requires, $static_prereqs);
+}
+
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META ) {
+  if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+    my $dynamic_prereqs = $meta->prereqs;
+    delete $dynamic_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
+    $include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$dynamic_prereqs;
+
+    if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
+        _merge_requires($all_requires, $dynamic_prereqs);
+    }
+  }
+}
+else {
+  $source = 'static metadata';
+}
+
+my @modules = sort grep { ! $exclude{$_} } keys %include;
+my @reports = [qw/Version Module/];
+my @dep_errors;
+my $req_hash = defined($all_requires) ? $all_requires->as_string_hash : {};
+
+for my $mod ( @modules ) {
+  next if $mod eq 'perl';
+  my $file = $mod;
+  $file =~ s{::}{/}g;
+  $file .= ".pm";
+  my ($prefix) = grep { -e catfile($_, $file) } @INC;
+  if ( $prefix ) {
+    my $ver = MM->parse_version( catfile($prefix, $file) );
+    $ver = "undef" unless defined $ver; # Newer MM should do this anyway
+    push @reports, [$ver, $mod];
+
+    if ( $DO_VERIFY_PREREQS && $all_requires ) {
+      my $req = $req_hash->{$mod};
+      if ( defined $req && length $req ) {
+        if ( ! defined eval { version->parse($ver) } ) {
+          push @dep_errors, "$mod version '$ver' cannot be parsed (version '$req' required)";
+        }
+        elsif ( ! $all_requires->accepts_module( $mod => $ver ) ) {
+          push @dep_errors, "$mod version '$ver' is not in required range '$req'";
+        }
+      }
+    }
+
+  }
+  else {
+    push @reports, ["missing", $mod];
+
+    if ( $DO_VERIFY_PREREQS && $all_requires ) {
+      my $req = $req_hash->{$mod};
+      if ( defined $req && length $req ) {
+        push @dep_errors, "$mod is not installed (version '$req' required)";
+      }
+    }
+  }
+}
+
+if ( @reports ) {
+  my $vl = max map { length $_->[0] } @reports;
+  my $ml = max map { length $_->[1] } @reports;
+  splice @reports, 1, 0, ["-" x $vl, "-" x $ml];
+  diag "\nVersions for all modules listed in $source (including optional ones):\n",
+    map {sprintf("  %*s %*s\n",$vl,$_->[0],-$ml,$_->[1])} @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/000-report-versions-tiny.t b/t/000-report-versions-tiny.t
deleted file mode 100644
index b08885e..0000000
--- a/t/000-report-versions-tiny.t
+++ /dev/null
@@ -1,88 +0,0 @@
-use strict;
-use warnings;
-use Test::More 0.88;
-# This is a relatively nice way to avoid Test::NoWarnings breaking our
-# expectations by adding extra tests, without using no_plan.  It also helps
-# avoid any other test module that feels introducing random tests, or even
-# test plans, is a nice idea.
-our $success = 0;
-END { $success && done_testing; }
-
-# List our own version used to generate this
-my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10\n";
-
-eval {                     # no excuses!
-    # report our Perl details
-    my $want = '5.006';
-    $v .= "perl: $] (wanted $want) on $^O from $^X\n\n";
-};
-defined($@) and diag("$@");
-
-# Now, our module version dependencies:
-sub pmver {
-    my ($module, $wanted) = @_;
-    $wanted = " (want $wanted)";
-    my $pmver;
-    eval "require $module;";
-    if ($@) {
-        if ($@ =~ m/Can't locate .* in \@INC/) {
-            $pmver = 'module not found.';
-        } else {
-            diag("${module}: $@");
-            $pmver = 'died during require.';
-        }
-    } else {
-        my $version;
-        eval { $version = $module->VERSION; };
-        if ($@) {
-            diag("${module}: $@");
-            $pmver = 'died during VERSION check.';
-        } elsif (defined $version) {
-            $pmver = "$version";
-        } else {
-            $pmver = '<undef>';
-        }
-    }
-
-    # So, we should be good, right?
-    return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n");
-}
-
-eval { $v .= pmver('Carp','any version') };
-eval { $v .= pmver('Dist::Zilla::Chrome::Test','any version') };
-eval { $v .= pmver('Dist::Zilla::Dist::Builder','any version') };
-eval { $v .= pmver('Dist::Zilla::MVP::Assembler::Zilla','any version') };
-eval { $v .= pmver('Dist::Zilla::MVP::Section','any version') };
-eval { $v .= pmver('Dist::Zilla::Role::Plugin','any version') };
-eval { $v .= pmver('File::Copy::Recursive','any version') };
-eval { $v .= pmver('List::UtilsBy','any version') };
-eval { $v .= pmver('Module::Build','0.4200') };
-eval { $v .= pmver('Moose','any version') };
-eval { $v .= pmver('Moose::Role','any version') };
-eval { $v .= pmver('MooseX::AttributeShortcuts','0.015') };
-eval { $v .= pmver('Path::FindDev','any version') };
-eval { $v .= pmver('Path::Tiny','any version') };
-eval { $v .= pmver('Test::More','1.001002') };
-eval { $v .= pmver('lib','any version') };
-eval { $v .= pmver('strict','any version') };
-eval { $v .= pmver('version','any version') };
-eval { $v .= pmver('warnings','any version') };
-
-
-# All done.
-$v .= <<'EOT';
-
-Thanks for using my code.  I hope it works for you.
-If not, please try and include this output in the bug report.
-That will help me reproduce the issue and solve your problem.
-
-EOT
-
-diag($v);
-ok(1, "we really didn't test anything, just reporting data");
-$success = 1;
-
-# Work around another nasty module on CPAN. :/
-no warnings 'once';
-$Template::Test::NO_FLUSH = 1;
-exit 0;
diff --git a/xt/release/distmeta.t b/xt/release/distmeta.t
index b46c7fc..c2280dc 100644
--- a/xt/release/distmeta.t
+++ b/xt/release/distmeta.t
@@ -1,7 +1,6 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
 
-use Test::More;
+use Test::CPAN::Meta;
 
-eval "use Test::CPAN::Meta";
-plan skip_all => "Test::CPAN::Meta required for testing META.yml" if $@;
 meta_yaml_ok();
diff --git a/xt/release/pod-coverage.t b/xt/release/pod-coverage.t
index b52218b..66b3b64 100644
--- a/xt/release/pod-coverage.t
+++ b/xt/release/pod-coverage.t
@@ -1,13 +1,7 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests.
 
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.08";
-plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
-  if $@;
-
-eval "use Pod::Coverage::TrustPod";
-plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
-  if $@;
+use Test::Pod::Coverage 1.08;
+use Pod::Coverage::TrustPod;
 
 all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
diff --git a/xt/release/pod-syntax.t b/xt/release/pod-syntax.t
index 8a22900..f0468f1 100644
--- a/xt/release/pod-syntax.t
+++ b/xt/release/pod-syntax.t
@@ -1,7 +1,6 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
 use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
 
 all_pod_files_ok();

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



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