The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 010
LICENSE 44
MANIFEST 22
META.json 61221
META.yml 73193
Makefile.PL 1736
README 24
bin/cpan-upload 663
dist.ini 03
lib/CPAN/Uploader.pm 2190
t/00-compile.t 730
t/00-report-prereqs.t 0178
t/000-report-versions-tiny.t 880
xt/release/changes_has_content.t 11
xt/release/pod-syntax.t 32
15 files changed (This is a version diff) 351807
@@ -1,5 +1,15 @@
 Revision history for CPAN-Uploader
 
+0.103007  2014-04-04 22:02:22-04:00 America/New_York
+        - added "-c" option to cpan-uploader to specify an alternate config
+
+0.103006  2013-12-13 08:18:36 America/New_York
+          update bugtracker and repo metadata
+
+0.103005  2013-07-01 19:01:17 America/New_York
+          Use Config::Identity to permit GPG-encrypting on-disk credentials
+          (thanks, Mike Doherty)
+
 0.103004  2013-03-12 15:51:43 America/New_York
           like 0.103003, but a production release
 
@@ -1,4 +1,4 @@
-This software is copyright (c) 2013 by Ricardo SIGNES.
+This software is copyright (c) 2014 by Ricardo SIGNES.
 
 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 Ricardo SIGNES.
+This software is Copyright (c) 2014 by Ricardo SIGNES.
 
 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 Ricardo SIGNES.
+This software is Copyright (c) 2014 by Ricardo SIGNES.
 
 This is free software, licensed under:
 
@@ -1,3 +1,4 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.015.
 Changes
 LICENSE
 MANIFEST
@@ -8,8 +9,7 @@ README
 bin/cpan-upload
 dist.ini
 lib/CPAN/Uploader.pm
-t/00-compile.t
 t/00-load.t
-t/000-report-versions-tiny.t
+t/00-report-prereqs.t
 xt/release/changes_has_content.t
 xt/release/pod-syntax.t
@@ -4,7 +4,7 @@
       "Ricardo SIGNES <rjbs@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300030, CPAN::Meta::Converter version 2.120921",
+   "generated_by" : "Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.140640",
    "license" : [
       "perl_5"
    ],
@@ -21,8 +21,7 @@
       },
       "develop" : {
          "requires" : {
-            "Test::Pod" : "1.41",
-            "version" : "0.9901"
+            "Test::Pod" : "1.41"
          }
       },
       "runtime" : {
@@ -43,135 +42,176 @@
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "0",
+            "CPAN::Meta::Requirements" : "2.120900"
+         },
          "requires" : {
-            "File::Find" : "0",
-            "File::Temp" : "0",
-            "Test::More" : "0.96"
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec::Functions" : "0",
+            "List::Util" : "0",
+            "Test::More" : "0.96",
+            "version" : "0"
          }
       }
    },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
-         "web" : "https://github.com/rjbs/cpan-uploader/issues"
+         "web" : "https://github.com/rjbs/CPAN-Uploader/issues"
       },
-      "homepage" : "https://github.com/rjbs/cpan-uploader",
+      "homepage" : "https://github.com/rjbs/CPAN-Uploader",
       "repository" : {
          "type" : "git",
-         "url" : "https://github.com/rjbs/cpan-uploader.git",
-         "web" : "https://github.com/rjbs/cpan-uploader"
+         "url" : "https://github.com/rjbs/CPAN-Uploader.git",
+         "web" : "https://github.com/rjbs/CPAN-Uploader"
       }
    },
-   "version" : "0.103004",
+   "version" : "0.103007",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.017008"
+         "version" : "5.019010"
       },
       "plugins" : [
          {
             "class" : "Dist::Zilla::Plugin::Git::GatherDir",
             "name" : "@RJBS/Git::GatherDir",
-            "version" : "2.008"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
             "name" : "@RJBS/CheckPrereqsIndexed",
-            "version" : "0.008"
+            "version" : "0.011"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckExtraTests",
             "name" : "@RJBS/CheckExtraTests",
-            "version" : "0.008"
+            "version" : "0.021"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : 0,
+                  "check_all_prereqs" : 0,
+                  "modules" : [
+                     "Dist::Zilla::PluginBundle::RJBS"
+                  ],
+                  "phase" : "build",
+                  "skip" : []
+               }
+            },
+            "name" : "@RJBS/RJBS-Outdated",
+            "version" : "0.021"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : "1",
+                  "check_all_prereqs" : 0,
+                  "modules" : [],
+                  "phase" : "release",
+                  "skip" : []
+               }
+            },
+            "name" : "@RJBS/CPAN-Outdated",
+            "version" : "0.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@RJBS/@Filter/PruneCruft",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@RJBS/@Filter/ManifestSkip",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@RJBS/@Filter/MetaYAML",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@RJBS/@Filter/License",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@RJBS/@Filter/Readme",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@RJBS/@Filter/ExecDir",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@RJBS/@Filter/ShareDir",
-            "version" : "4.300030"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::MakeMaker",
-            "name" : "@RJBS/@Filter/MakeMaker",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@RJBS/@Filter/Manifest",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@RJBS/@Filter/TestRelease",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@RJBS/@Filter/ConfirmRelease",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@RJBS/@Filter/UploadToCPAN",
-            "version" : "4.300030"
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MakeMaker",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 9
+               }
+            },
+            "name" : "@RJBS/MakeMaker",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@RJBS/AutoPrereqs",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::NextVersion",
             "name" : "@RJBS/Git::NextVersion",
-            "version" : "2.008"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@RJBS/PkgVersion",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@RJBS/MetaConfig",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@RJBS/MetaJSON",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@RJBS/NextRelease",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
@@ -181,17 +221,12 @@
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@RJBS/PodSyntaxTests",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Test::Compile",
-            "name" : "@RJBS/Test::Compile",
-            "version" : "1.112820"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
-            "name" : "@RJBS/ReportVersions::Tiny",
-            "version" : "1.08"
+            "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+            "name" : "@RJBS/Test::ReportPrereqs",
+            "version" : "0.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -202,37 +237,140 @@
                }
             },
             "name" : "@RJBS/TestMoreWithSubtests",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
+            "config" : {
+               "Dist::Zilla::Plugin::PodWeaver" : {
+                  "config_plugins" : [
+                     "@RJBS"
+                  ],
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles"
+                  ],
+                  "plugins" : [
+                     {
+                        "class" : "Pod::Weaver::Plugin::EnsurePod5",
+                        "name" : "@CorePrep/EnsurePod5",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::H1Nester",
+                        "name" : "@CorePrep/H1Nester",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::SingleEncoding",
+                        "name" : "@RJBS/SingleEncoding",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Name",
+                        "name" : "@RJBS/Name",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Version",
+                        "name" : "@RJBS/Version",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "@RJBS/Prelude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Synopsis",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Description",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Overview",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Stability",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "Attributes",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "Methods",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "Functions",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Leftovers",
+                        "name" : "@RJBS/Leftovers",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "@RJBS/postlude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Authors",
+                        "name" : "@RJBS/Authors",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Legal",
+                        "name" : "@RJBS/Legal",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::Transformer",
+                        "name" : "@RJBS/List",
+                        "version" : "4.006"
+                     }
+                  ]
+               }
+            },
             "name" : "@RJBS/PodWeaver",
-            "version" : "3.101641"
+            "version" : "4.005"
          },
          {
             "class" : "Dist::Zilla::Plugin::GithubMeta",
             "name" : "@RJBS/GithubMeta",
-            "version" : "0.28"
+            "version" : "0.42"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@RJBS/@Git/Check",
-            "version" : "2.008"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "name" : "@RJBS/@Git/Commit",
-            "version" : "2.008"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
             "name" : "@RJBS/@Git/Tag",
-            "version" : "2.008"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
             "name" : "@RJBS/@Git/Push",
-            "version" : "2.008"
+            "version" : "2.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -243,37 +381,59 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "4.300030"
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::RemovePrereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::RemovePrereqs" : {
+                  "modules_to_remove" : [
+                     "Config::Identity"
+                  ]
+               }
+            },
+            "name" : "RemovePrereqs",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.300030"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "4.300030"
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":AllFiles",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":NoFiles",
+            "version" : "5.015"
          }
       ],
       "zilla" : {
@@ -281,7 +441,7 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "4.300030"
+         "version" : "5.015"
       }
    }
 }
@@ -3,141 +3,165 @@ abstract: 'upload things to the CPAN'
 author:
   - 'Ricardo SIGNES <rjbs@cpan.org>'
 build_requires:
-  File::Find: 0
-  File::Temp: 0
-  Test::More: 0.96
+  ExtUtils::MakeMaker: '0'
+  File::Spec::Functions: '0'
+  List::Util: '0'
+  Test::More: '0.96'
+  version: '0'
 configure_requires:
-  ExtUtils::MakeMaker: 6.30
+  ExtUtils::MakeMaker: '6.30'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300030, CPAN::Meta::Converter version 2.120921'
+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: CPAN-Uploader
 requires:
-  Carp: 0
-  Data::Dumper: 0
-  File::Basename: 0
-  File::HomeDir: 0
-  File::Spec: 0
-  Getopt::Long::Descriptive: 0.084
-  HTTP::Request::Common: 0
-  HTTP::Status: 0
-  LWP::Protocol::https: 1
-  LWP::UserAgent: 0
-  Term::ReadKey: 0
-  strict: 0
-  warnings: 0
+  Carp: '0'
+  Data::Dumper: '0'
+  File::Basename: '0'
+  File::HomeDir: '0'
+  File::Spec: '0'
+  Getopt::Long::Descriptive: '0.084'
+  HTTP::Request::Common: '0'
+  HTTP::Status: '0'
+  LWP::Protocol::https: '1'
+  LWP::UserAgent: '0'
+  Term::ReadKey: '0'
+  strict: '0'
+  warnings: '0'
 resources:
-  bugtracker: https://github.com/rjbs/cpan-uploader/issues
-  homepage: https://github.com/rjbs/cpan-uploader
-  repository: https://github.com/rjbs/cpan-uploader.git
-version: 0.103004
+  bugtracker: https://github.com/rjbs/CPAN-Uploader/issues
+  homepage: https://github.com/rjbs/CPAN-Uploader
+  repository: https://github.com/rjbs/CPAN-Uploader.git
+version: '0.103007'
 x_Dist_Zilla:
   perl:
-    version: 5.017008
+    version: '5.019010'
   plugins:
     -
       class: Dist::Zilla::Plugin::Git::GatherDir
       name: '@RJBS/Git::GatherDir'
-      version: 2.008
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::CheckPrereqsIndexed
       name: '@RJBS/CheckPrereqsIndexed'
-      version: 0.008
+      version: '0.011'
     -
       class: Dist::Zilla::Plugin::CheckExtraTests
       name: '@RJBS/CheckExtraTests'
-      version: 0.008
+      version: '0.021'
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: 0
+          check_all_prereqs: 0
+          modules:
+            - Dist::Zilla::PluginBundle::RJBS
+          phase: build
+          skip: []
+      name: '@RJBS/RJBS-Outdated'
+      version: '0.021'
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: '1'
+          check_all_prereqs: 0
+          modules: []
+          phase: release
+          skip: []
+      name: '@RJBS/CPAN-Outdated'
+      version: '0.021'
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@RJBS/@Filter/PruneCruft'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@RJBS/@Filter/ManifestSkip'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@RJBS/@Filter/MetaYAML'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::License
       name: '@RJBS/@Filter/License'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@RJBS/@Filter/Readme'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@RJBS/@Filter/ExecDir'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@RJBS/@Filter/ShareDir'
-      version: 4.300030
-    -
-      class: Dist::Zilla::Plugin::MakeMaker
-      name: '@RJBS/@Filter/MakeMaker'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@RJBS/@Filter/Manifest'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@RJBS/@Filter/TestRelease'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@RJBS/@Filter/ConfirmRelease'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@RJBS/@Filter/UploadToCPAN'
-      version: 4.300030
+      version: '5.015'
+    -
+      class: Dist::Zilla::Plugin::MakeMaker
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 9
+      name: '@RJBS/MakeMaker'
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@RJBS/AutoPrereqs'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Git::NextVersion
       name: '@RJBS/Git::NextVersion'
-      version: 2.008
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@RJBS/PkgVersion'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@RJBS/MetaConfig'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@RJBS/MetaJSON'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@RJBS/NextRelease'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::Test::ChangesHasContent
       name: '@RJBS/Test::ChangesHasContent'
-      version: 0.006
+      version: '0.006'
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@RJBS/PodSyntaxTests'
-      version: 4.300030
+      version: '5.015'
     -
-      class: Dist::Zilla::Plugin::Test::Compile
-      name: '@RJBS/Test::Compile'
-      version: 1.112820
-    -
-      class: Dist::Zilla::Plugin::ReportVersions::Tiny
-      name: '@RJBS/ReportVersions::Tiny'
-      version: 1.08
+      class: Dist::Zilla::Plugin::Test::ReportPrereqs
+      name: '@RJBS/Test::ReportPrereqs'
+      version: '0.013'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -145,31 +169,111 @@ x_Dist_Zilla:
           phase: test
           type: requires
       name: '@RJBS/TestMoreWithSubtests'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::PodWeaver
+      config:
+        Dist::Zilla::Plugin::PodWeaver:
+          config_plugins:
+            - '@RJBS'
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+          plugins:
+            -
+              class: Pod::Weaver::Plugin::EnsurePod5
+              name: '@CorePrep/EnsurePod5'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Plugin::H1Nester
+              name: '@CorePrep/H1Nester'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Plugin::SingleEncoding
+              name: '@RJBS/SingleEncoding'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Name
+              name: '@RJBS/Name'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Version
+              name: '@RJBS/Version'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Region
+              name: '@RJBS/Prelude'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Synopsis'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Description'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Overview'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Stability'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Collect
+              name: Attributes
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Collect
+              name: Methods
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Collect
+              name: Functions
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Leftovers
+              name: '@RJBS/Leftovers'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Region
+              name: '@RJBS/postlude'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Authors
+              name: '@RJBS/Authors'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Legal
+              name: '@RJBS/Legal'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Plugin::Transformer
+              name: '@RJBS/List'
+              version: '4.006'
       name: '@RJBS/PodWeaver'
-      version: 3.101641
+      version: '4.005'
     -
       class: Dist::Zilla::Plugin::GithubMeta
       name: '@RJBS/GithubMeta'
-      version: 0.28
+      version: '0.42'
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@RJBS/@Git/Check'
-      version: 2.008
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       name: '@RJBS/@Git/Commit'
-      version: 2.008
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Git::Tag
       name: '@RJBS/@Git/Tag'
-      version: 2.008
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Git::Push
       name: '@RJBS/@Git/Push'
-      version: 2.008
+      version: '2.020'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -177,33 +281,49 @@ x_Dist_Zilla:
           phase: runtime
           type: requires
       name: Prereqs
-      version: 4.300030
+      version: '5.015'
+    -
+      class: Dist::Zilla::Plugin::RemovePrereqs
+      config:
+        Dist::Zilla::Plugin::RemovePrereqs:
+          modules_to_remove:
+            - Config::Identity
+      name: RemovePrereqs
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.300030
+      version: '5.015'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: 4.300030
+      version: '5.015'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':AllFiles'
+      version: '5.015'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':NoFiles'
+      version: '5.015'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
-      is_trial: 0
-    version: 4.300030
+      is_trial: '0'
+    version: '5.015'
@@ -1,4 +1,5 @@
 
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.015.
 use strict;
 use warnings;
 
@@ -11,11 +12,7 @@ use ExtUtils::MakeMaker 6.30;
 my %WriteMakefileArgs = (
   "ABSTRACT" => "upload things to the CPAN",
   "AUTHOR" => "Ricardo SIGNES <rjbs\@cpan.org>",
-  "BUILD_REQUIRES" => {
-    "File::Find" => 0,
-    "File::Temp" => 0,
-    "Test::More" => "0.96"
-  },
+  "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
     "ExtUtils::MakeMaker" => "6.30"
   },
@@ -40,24 +37,46 @@ my %WriteMakefileArgs = (
     "strict" => 0,
     "warnings" => 0
   },
-  "VERSION" => "0.103004",
+  "TEST_REQUIRES" => {
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec::Functions" => 0,
+    "List::Util" => 0,
+    "Test::More" => "0.96",
+    "version" => 0
+  },
+  "VERSION" => "0.103007",
   "test" => {
     "TESTS" => "t/*.t"
   }
 );
 
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
-  my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
-  my $pp = $WriteMakefileArgs{PREREQ_PM};
-  for my $mod ( keys %$br ) {
-    if ( exists $pp->{$mod} ) {
-      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
-    }
-    else {
-      $pp->{$mod} = $br->{$mod};
-    }
-  }
+my %FallbackPrereqs = (
+  "Carp" => 0,
+  "Data::Dumper" => 0,
+  "ExtUtils::MakeMaker" => 0,
+  "File::Basename" => 0,
+  "File::HomeDir" => 0,
+  "File::Spec" => 0,
+  "File::Spec::Functions" => 0,
+  "Getopt::Long::Descriptive" => "0.084",
+  "HTTP::Request::Common" => 0,
+  "HTTP::Status" => 0,
+  "LWP::Protocol::https" => 1,
+  "LWP::UserAgent" => 0,
+  "List::Util" => 0,
+  "Term::ReadKey" => 0,
+  "Test::More" => "0.96",
+  "strict" => 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}
@@ -1,13 +1,15 @@
 
 
 This archive contains the distribution CPAN-Uploader,
-version 0.103004:
+version 0.103007:
 
   upload things to the CPAN
 
-This software is copyright (c) 2013 by Ricardo SIGNES.
+This software is copyright (c) 2014 by Ricardo SIGNES.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 
+This README file was generated by Dist::Zilla::Plugin::Readme v5.015.
+
@@ -3,16 +3,54 @@ use strict;
 use warnings;
 package
   cpan_upload;
+# PODNAME: cpan-upload
 # ABSTRACT: upload a distribution to the CPAN
 
 use CPAN::Uploader;
 use Getopt::Long::Descriptive 0.084;
 
+#pod =head1 USAGE
+#pod
+#pod   usage: cpan-upload [options] file-to-upload-1 [ file-to-upload-2 ... ]
+#pod     -v --verbose       enable verbose logging
+#pod     -h --help          display this help message
+#pod     --dry-run          do not actually upload anything
+#pod                      
+#pod     -u --user          your PAUSE username
+#pod     -p --password      the password to your PAUSE account
+#pod     -d --directory     a dir in your CPAN space in which to put the file
+#pod     --http-proxy       URL of the http proxy to use in uploading
+#pod
+#pod =head1 CONFIGURATION
+#pod
+#pod If you have a C<.pause> file in your home directory, it will be checked for a
+#pod username and password.  It should look like this:
+#pod
+#pod   user EXAMPLE
+#pod   password your-secret-password
+#pod
+#pod You can GnuPG-encrypt this file if you wish:
+#pod
+#pod     # Follow the prompts, setting your key as the "recipient"
+#pod     # Use ^D once you've finished typing out your authentication information
+#pod     gpg -ea > $HOME/.pause
+#pod     # OR, encrypt a file you already created:
+#pod     gpg -ea $HOME/.pause && mv $HOME/.pause{.asc,}
+#pod
+#pod =head1 SEE ALSO
+#pod
+#pod =over 4
+#pod
+#pod =item L<CPAN::Uploader>
+#pod
+#pod =item L<Config::Identity>
+#pod
+#pod =back
+#pod
+#pod =cut
 
 my %arg;
 
-my $from_file = CPAN::Uploader->read_config_file;
-
 # This nonsensical hack is to cope with Module::Install wanting to call
 # cpan-upload -verbose; it should be made to use CPAN::Uploader instead.
 $ARGV[0] = '--verbose' if @ARGV == 2 and $ARGV[0] eq '-verbose';
@@ -29,6 +67,7 @@ my ($opt, $usage) = describe_options(
   [ "password|p=s"  => "the password to your PAUSE account" ],
   [ "directory|d=s" => "a dir in your CPAN space in which to put the files" ],
   [ "http-proxy=s"  => "URL of the http proxy to use in uploading" ],
+  [ "config|c=s"    => "config file to use; defaults to ~/.pause" ],
 );
 
 if ($opt->help) {
@@ -36,6 +75,8 @@ if ($opt->help) {
   exit;
 }
 
+my $from_file = CPAN::Uploader->read_config_file($opt->config);
+
 die "Please provide at least one file name.\n" . $usage unless @ARGV;
 
 $arg{user} = $opt->_specified('user') ? $opt->user : $from_file->{user};
@@ -80,13 +121,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
-cpan_upload - upload a distribution to the CPAN
+cpan-upload - upload a distribution to the CPAN
 
 =head1 VERSION
 
-version 0.103004
+version 0.103007
 
 =head1 USAGE
 
@@ -108,9 +151,23 @@ username and password.  It should look like this:
   user EXAMPLE
   password your-secret-password
 
+You can GnuPG-encrypt this file if you wish:
+
+    # Follow the prompts, setting your key as the "recipient"
+    # Use ^D once you've finished typing out your authentication information
+    gpg -ea > $HOME/.pause
+    # OR, encrypt a file you already created:
+    gpg -ea $HOME/.pause && mv $HOME/.pause{.asc,}
+
 =head1 SEE ALSO
 
-L<CPAN::Uploader>
+=over 4
+
+=item L<CPAN::Uploader>
+
+=item L<Config::Identity>
+
+=back
 
 =head1 AUTHOR
 
@@ -118,7 +175,7 @@ Ricardo SIGNES <rjbs@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Ricardo SIGNES.
+This software is copyright (c) 2014 by Ricardo SIGNES.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -8,3 +8,6 @@ github_issues = 1
 
 [Prereqs]
 LWP::Protocol::https = 1
+
+[RemovePrereqs]
+remove = Config::Identity
@@ -1,11 +1,16 @@
 use strict;
 use warnings;
 package CPAN::Uploader;
-{
-  $CPAN::Uploader::VERSION = '0.103004';
-}
 # ABSTRACT: upload things to the CPAN
-
+$CPAN::Uploader::VERSION = '0.103007';
+#pod =head1 ORIGIN
+#pod
+#pod This code is mostly derived from C<cpan-upload-http> by Brad Fitzpatrick, which
+#pod in turn was based on C<cpan-upload> by Neil Bowers.  I (I<rjbs>) didn't want to
+#pod have to use a C<system> call to run either of those, so I refactored the code
+#pod into this module.
+#pod
+#pod =cut
 
 use Carp ();
 use File::Basename ();
@@ -18,8 +23,26 @@ use File::HomeDir;
 my $UPLOAD_URI = $ENV{CPAN_UPLOADER_UPLOAD_URI}
               || 'https://pause.perl.org/pause/authenquery';
 
+#pod =method upload_file
+#pod
+#pod   CPAN::Uploader->upload_file($file, \%arg);
+#pod
+#pod   $uploader->upload_file($file);
+#pod
+#pod Valid arguments are:
+#pod
+#pod   user       - (required) your CPAN / PAUSE id
+#pod   password   - (required) your CPAN / PAUSE password
+#pod   subdir     - the directory (under your home directory) to upload to
+#pod   http_proxy - uri of the http proxy to use
+#pod   upload_uri - uri of the upload handler; usually the default (PAUSE) is right
+#pod   debug      - if set to true, spew lots more debugging output
+#pod
+#pod This method attempts to actually upload the named file to the CPAN.  It will
+#pod raise an exception on error.
+#pod
+#pod =cut
 
-use Data::Dumper;
 sub upload_file {
   my ($self, $file, $arg) = @_;
 
@@ -33,11 +56,12 @@ sub upload_file {
   $self = $self->new($arg) if $arg;
 
   if ($arg->{dry_run}) {
+    require Data::Dumper;
     $self->log("By request, cowardly refusing to do anything at all.");
     $self->log(
       "The following arguments would have been used to upload: \n"
-      . '$self: ' . Dumper($self)
-      . '$file: ' . Dumper($file)
+      . '$self: ' . Data::Dumper::Dumper($self)
+      . '$file: ' . Data::Dumper::Dumper($file)
     );
   } else {
     $self->_upload($file);
@@ -127,6 +151,16 @@ sub _upload {
 }
 
 
+#pod =method new
+#pod
+#pod   my $uploader = CPAN::Uploader->new(\%arg);
+#pod
+#pod This method returns a new uploader.  You probably don't need to worry about
+#pod this method.
+#pod
+#pod Valid arguments are the same as those to C<upload_file>.
+#pod
+#pod =cut
 
 sub new {
   my ($class, $arg) = @_;
@@ -135,40 +169,73 @@ sub new {
   bless $arg => $class;
 }
 
+#pod =method read_config_file
+#pod
+#pod   my $config = CPAN::Uploader->read_config_file( $filename );
+#pod
+#pod This reads the config file and returns a hashref of its contents that can be
+#pod used as configuration for CPAN::Uploader.
+#pod
+#pod If no filename is given, it looks for F<.pause> in the user's home directory
+#pod (from the env var C<HOME>, or the current directory if C<HOME> isn't set).
+#pod
+#pod See L<cpan_upload/CONFIGURATION> for the config format.
+#pod
+#pod =cut
 
 sub read_config_file {
   my ($class, $filename) = @_;
 
-  unless ($filename) {
+  unless (defined $filename) {
     my $home  = File::HomeDir->my_home || '.';
     $filename = File::Spec->catfile($home, '.pause');
 
     return {} unless -e $filename and -r _;
   }
 
-  # Process .pause
-  open my $pauserc, '<', $filename
-    or die "can't open $filename for reading: $!";
+  my %conf;
+  if ( eval { require Config::Identity } ) {
+    %conf = Config::Identity->load($filename);
+    $conf{user} = delete $conf{username} unless $conf{user};
+  }
+  else { # Process .pause manually
+    open my $pauserc, '<', $filename
+      or die "can't open $filename for reading: $!";
 
-  my %from_file;
-  while (<$pauserc>) {
-    chomp;
-    next unless $_ and $_ !~ /^\s*#/;
+    while (<$pauserc>) {
+      chomp;
+      next unless $_ and $_ !~ /^\s*#/;
 
-    my ($k, $v) = /^\s*(\w+)\s+(.+)$/;
-    Carp::croak "multiple enties for $k" if $from_file{$k};
-    $from_file{$k} = $v;
+      my ($k, $v) = /^\s*(\w+)\s+(.+)$/;
+      Carp::croak "multiple enties for $k" if $conf{$k};
+      $conf{$k} = $v;
+    }
   }
 
-  return \%from_file;
+  return \%conf;
 }
 
+#pod =method log
+#pod
+#pod   $uploader->log($message);
+#pod
+#pod This method logs the given string.  The default behavior is to print it to the
+#pod screen.  The message should not end in a newline, as one will be added as
+#pod needed.
+#pod
+#pod =cut
 
 sub log {
   shift;
   print "$_[0]\n"
 }
 
+#pod =method log_debug
+#pod
+#pod This method behaves like C<L</log>>, but only logs the message if the
+#pod CPAN::Uploader is in debug mode.
+#pod
+#pod =cut
 
 sub log_debug {
   my $self = shift;
@@ -182,13 +249,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 CPAN::Uploader - upload things to the CPAN
 
 =head1 VERSION
 
-version 0.103004
+version 0.103007
 
 =head1 METHODS
 
@@ -257,7 +326,7 @@ Ricardo SIGNES <rjbs@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Ricardo SIGNES.
+This software is copyright (c) 2014 by Ricardo SIGNES.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,73 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-
-
-use File::Find;
-use File::Temp qw{ tempdir };
-
-my @modules;
-find(
-  sub {
-    return if $File::Find::name !~ /\.pm\z/;
-    my $found = $File::Find::name;
-    $found =~ s{^lib/}{};
-    $found =~ s{[/\\]}{::}g;
-    $found =~ s/\.pm$//;
-    # nothing to skip
-    push @modules, $found;
-  },
-  'lib',
-);
-
-sub _find_scripts {
-    my $dir = shift @_;
-
-    my @found_scripts = ();
-    find(
-      sub {
-        return unless -f;
-        my $found = $File::Find::name;
-        # nothing to skip
-        open my $FH, '<', $_ or do {
-          note( "Unable to open $found in ( $! ), skipping" );
-          return;
-        };
-        my $shebang = <$FH>;
-        return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
-        push @found_scripts, $found;
-      },
-      $dir,
-    );
-
-    return @found_scripts;
-}
-
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
-    for qw{ bin script scripts };
-
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
-
-{
-    # fake home for cpan-testers
-    # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
-
-    like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
-        for sort @modules;
-
-    SKIP: {
-        eval "use Test::Script 1.05; 1;";
-        skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
-        foreach my $file ( @scripts ) {
-            my $script = $file;
-            $script =~ s!.*/!!;
-            script_compiles( $file, "$script script compiles" );
-        }
-    }
-}
@@ -0,0 +1,178 @@
+#!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' => {
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '6.30'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Test::Pod' => '1.41'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'Carp' => '0',
+                                      'Data::Dumper' => '0',
+                                      'File::Basename' => '0',
+                                      'File::HomeDir' => '0',
+                                      'File::Spec' => '0',
+                                      'Getopt::Long::Descriptive' => '0.084',
+                                      'HTTP::Request::Common' => '0',
+                                      'HTTP::Status' => '0',
+                                      'LWP::Protocol::https' => '1',
+                                      'LWP::UserAgent' => '0',
+                                      'Term::ReadKey' => '0',
+                                      'strict' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '0',
+                                     'CPAN::Meta::Requirements' => '2.120900'
+                                   },
+                   'requires' => {
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Spec::Functions' => '0',
+                                   'List::Util' => '0',
+                                   'Test::More' => '0.96',
+                                   'version' => '0'
+                                 }
+                 }
+     };
+  $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:
@@ -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.08\n";
-
-eval {                     # no excuses!
-    # report our Perl details
-    my $want = "any version";
-    $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('Data::Dumper','any version') };
-eval { $v .= pmver('ExtUtils::MakeMaker','6.30') };
-eval { $v .= pmver('File::Basename','any version') };
-eval { $v .= pmver('File::Find','any version') };
-eval { $v .= pmver('File::HomeDir','any version') };
-eval { $v .= pmver('File::Spec','any version') };
-eval { $v .= pmver('File::Temp','any version') };
-eval { $v .= pmver('Getopt::Long::Descriptive','0.084') };
-eval { $v .= pmver('HTTP::Request::Common','any version') };
-eval { $v .= pmver('HTTP::Status','any version') };
-eval { $v .= pmver('LWP::Protocol::https','1') };
-eval { $v .= pmver('LWP::UserAgent','any version') };
-eval { $v .= pmver('Term::ReadKey','any version') };
-eval { $v .= pmver('Test::More','0.96') };
-eval { $v .= pmver('Test::Pod','1.41') };
-eval { $v .= pmver('strict','any version') };
-eval { $v .= pmver('version','0.9901') };
-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;
@@ -4,7 +4,7 @@ use Test::More tests => 2;
 
 note 'Checking Changes';
 my $changes_file = 'Changes';
-my $newver = '0.103004';
+my $newver = '0.103007';
 my $trial_token = '-TRIAL';
 
 SKIP: {
@@ -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();