[libmetabase-fact-perl] 01/06: Imported Upstream version 0.022

Marius Gavrilescu marius-guest at alioth.debian.org
Wed Sep 18 16:24:32 UTC 2013


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

marius-guest pushed a commit to branch master
in repository libmetabase-fact-perl.

commit 44c74f746bae967da651c92a5b706c2bd178d028
Author: Marius Gavrilescu <marius at ieval.ro>
Date:   Wed Sep 18 19:13:56 2013 +0300

    Imported Upstream version 0.022
---
 README.PATCHING => CONTRIBUTING        |   46 +++++++---
 Changes                                |    9 ++
 LICENSE                                |    2 +-
 MANIFEST                               |    5 +-
 META.json                              |   90 ++++++++++++--------
 META.yml                               |   54 +++++++-----
 Makefile.PL                            |   38 +++++++--
 README                                 |   17 ++--
 bin/metabase-profile                   |   20 ++---
 cpanfile                               |   36 ++++++++
 dist.ini                               |   13 +--
 lib/Metabase/Fact.pm                   |   34 +++++---
 lib/Metabase/Fact/Hash.pm              |   14 ++--
 lib/Metabase/Fact/String.pm            |   14 ++--
 lib/Metabase/Report.pm                 |   15 ++--
 lib/Metabase/Resource.pm               |   15 ++--
 lib/Metabase/Resource/cpan.pm          |   15 ++--
 lib/Metabase/Resource/cpan/distfile.pm |   17 ++--
 lib/Metabase/Resource/metabase.pm      |   15 ++--
 lib/Metabase/Resource/metabase/fact.pm |   15 ++--
 lib/Metabase/Resource/metabase/user.pm |   16 ++--
 lib/Metabase/Resource/perl.pm          |   12 +--
 lib/Metabase/Resource/perl/commit.pm   |   18 ++--
 lib/Metabase/User/EmailAddress.pm      |   14 ++--
 lib/Metabase/User/FullName.pm          |   15 ++--
 lib/Metabase/User/Profile.pm           |   15 ++--
 lib/Metabase/User/Secret.pm            |   16 ++--
 t/00-compile.t                         |  144 +++++++++++++++++++-------------
 t/00-report-prereqs.t                  |   77 +++++++++++++++++
 xt/author/pod-spell.t                  |   54 ++++++++----
 xt/release/minimum-version.t           |    8 ++
 xt/release/portability.t               |    4 +
 xt/release/test-version.t              |   18 +++-
 33 files changed, 564 insertions(+), 331 deletions(-)

diff --git a/README.PATCHING b/CONTRIBUTING
similarity index 51%
rename from README.PATCHING
rename to CONTRIBUTING
index 59f4af8..bb3d23d 100644
--- a/README.PATCHING
+++ b/CONTRIBUTING
@@ -1,4 +1,4 @@
-README.PATCHING
+## HOW TO CONTRIBUTE
 
 Thank you for considering contributing to this distribution.  This file
 contains instructions that will help you work with the source code.
@@ -7,36 +7,56 @@ The distribution is managed with Dist::Zilla.  This means than many of the
 usual files you might expect are not in the repository, but are generated
 at release time (e.g. Makefile.PL).
 
-However, you can run tests directly using the 'prove' tool:
+### Getting dependencies
 
-  $ prove -l
-  $ prove -lv t/some_test_file.t
+See the included `cpanfile` file for a list of dependencies.  If you have
+App::cpanminus 1.6 or later installed, you can use `cpanm` to satisfy
+dependencies like this:
 
-For most distributions, 'prove' is entirely sufficent for you to test any
+    $ cpanm --installdeps .
+
+Otherwise, you can install Module::CPANfile 1.0002 or later and then satisfy
+dependencies with the regular `cpan` client and `cpanfile-dump`:
+
+    $ cpan `cpanfile-dump`
+
+### Running tests
+
+You can run tests directly using the `prove` tool:
+
+    $ prove -l
+    $ prove -lv t/some_test_file.t
+
+For most distributions, `prove` is entirely sufficent for you to test any
 patches you have.
 
+### Patching documentation
+
 Likewise, much of the documentation Pod is generated at release time.
 Depending on the distribution, some documentation may be written in a Pod
-dialect called WikiDoc. (See Pod::WikiDoc on CPAN.) If you would like to
-submit a documentation edit, please limit yourself to the documentation you
-see.
+dialect called WikiDoc. (See Pod::WikiDoc on CPAN.)
+
+If you would like to submit a documentation edit, please limit yourself to the
+documentation you see.
 
 If you see typos or documentation issues in the generated docs, please
 email or open a bug ticket instead of patching.
 
+### Learning Dist::Zilla
+
 Dist::Zilla is a very powerful authoring tool, but requires a number of
 author-specific plugins.  If you would like to use it for contributing,
 install it from CPAN, then run one of the following commands, depending on
 your CPAN client:
 
-  $ cpan `dzil authordeps`
-  $ dzil authordeps | cpanm
+    $ cpan `dzil authordeps`
+    $ dzil authordeps | cpanm
 
 Once installed, here are some dzil commands you might try:
 
-  $ dzil build
-  $ dzil test
-  $ dzil xtest
+    $ dzil build
+    $ dzil test
+    $ dzil xtest
 
 You can learn more about Dist::Zilla at http://dzil.org/
 
diff --git a/Changes b/Changes
index 5793f7e..61a0a6f 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,12 @@
 Revision history for Metabase-Fact
 
+0.022     2013-09-11 09:30:13 America/New_York
+
+  [FIXED]
+
+  - metabase-profile now prompts with IO::Prompt::Tiny to fix
+    some hanging bug on Win32
+
 0.021     2012-02-14 14:47:54 EST5EDT
 
   - Fixed generated NAME Pod section for metabase-profile
@@ -120,3 +127,5 @@ Revision history for Metabase-Fact
 
 0.001 2009-06-24
   - "YAPC::NA::2009, Pittsburgh" Release
+
+# vim: ts=2 sts=2 sw=2 et:
diff --git a/LICENSE b/LICENSE
index eaea7db..1306a66 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
diff --git a/MANIFEST b/MANIFEST
index 350d33b..3973923 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,3 +1,4 @@
+CONTRIBUTING
 Changes
 LICENSE
 MANIFEST
@@ -5,9 +6,9 @@ META.json
 META.yml
 Makefile.PL
 README
-README.PATCHING
 README.hacking
 bin/metabase-profile
+cpanfile
 dist.ini
 lib/Metabase/Fact.pm
 lib/Metabase/Fact/Hash.pm
@@ -26,6 +27,7 @@ lib/Metabase/User/FullName.pm
 lib/Metabase/User/Profile.pm
 lib/Metabase/User/Secret.pm
 t/00-compile.t
+t/00-report-prereqs.t
 t/base.t
 t/fact/hash.t
 t/fact/string.t
@@ -42,6 +44,7 @@ t/user/profile.t
 xt/author/critic.t
 xt/author/pod-spell.t
 xt/release/distmeta.t
+xt/release/minimum-version.t
 xt/release/pod-coverage.t
 xt/release/pod-syntax.t
 xt/release/portability.t
diff --git a/META.json b/META.json
index 860d26c..f58dee7 100644
--- a/META.json
+++ b/META.json
@@ -6,7 +6,7 @@
       "H.Merijn Brand <hmbrand at cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300005, CPAN::Meta::Converter version 2.112621",
+   "generated_by" : "Dist::Zilla version 4.300038, CPAN::Meta::Converter version 2.132510",
    "license" : [
       "apache_2_0"
    ],
@@ -32,110 +32,128 @@
             "ExtUtils::MakeMaker" : "6.30"
          }
       },
+      "develop" : {
+         "requires" : {
+            "Pod::Coverage::TrustPod" : "0",
+            "Test::CPAN::Meta" : "0",
+            "Test::Pod" : "1.41",
+            "Test::Pod::Coverage" : "1.08"
+         }
+      },
       "runtime" : {
          "requires" : {
-            "CPAN::DistnameInfo" : 0,
-            "Carp" : 0,
-            "Data::GUID" : 0,
-            "Getopt::Long" : 0,
+            "CPAN::DistnameInfo" : "0",
+            "Carp" : "0",
+            "Data::GUID" : "0",
+            "Getopt::Long" : "0",
+            "IO::Prompt::Tiny" : "0",
             "JSON" : "2",
-            "Pod::Usage" : 0,
-            "overload" : 0,
+            "Pod::Usage" : "0",
+            "overload" : "0",
             "perl" : "5.006",
-            "strict" : 0,
-            "warnings" : 0
+            "strict" : "0",
+            "warnings" : "0"
          }
       },
       "test" : {
          "requires" : {
-            "Cwd" : 0,
-            "File::Find" : 0,
-            "File::Spec" : 0,
+            "Cwd" : "0",
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec" : "0",
+            "File::Spec::Functions" : "0",
             "File::Temp" : "0.20",
-            "Test::Exception" : 0,
-            "Test::More" : "0.88"
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
+            "List::Util" : "0",
+            "Test::Exception" : "0",
+            "Test::More" : "0.88",
+            "lib" : "0"
          }
       }
    },
    "provides" : {
       "Metabase::Fact" : {
          "file" : "lib/Metabase/Fact.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Fact::Hash" : {
          "file" : "lib/Metabase/Fact/Hash.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Fact::String" : {
          "file" : "lib/Metabase/Fact/String.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Report" : {
          "file" : "lib/Metabase/Report.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource" : {
          "file" : "lib/Metabase/Resource.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource::cpan" : {
          "file" : "lib/Metabase/Resource/cpan.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource::cpan::distfile" : {
          "file" : "lib/Metabase/Resource/cpan/distfile.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource::metabase" : {
          "file" : "lib/Metabase/Resource/metabase.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource::metabase::fact" : {
          "file" : "lib/Metabase/Resource/metabase/fact.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource::metabase::user" : {
          "file" : "lib/Metabase/Resource/metabase/user.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource::perl" : {
          "file" : "lib/Metabase/Resource/perl.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::Resource::perl::commit" : {
          "file" : "lib/Metabase/Resource/perl/commit.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::User::EmailAddress" : {
          "file" : "lib/Metabase/User/EmailAddress.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::User::FullName" : {
          "file" : "lib/Metabase/User/FullName.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::User::Profile" : {
          "file" : "lib/Metabase/User/Profile.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       },
       "Metabase::User::Secret" : {
          "file" : "lib/Metabase/User/Secret.pm",
-         "version" : "0.021"
+         "version" : "0.022"
       }
    },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
-         "mailto" : "bug-metabase-fact at rt.cpan.org",
-         "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Metabase-Fact"
+         "web" : "https://github.com/dagolden/Metabase-Fact/issues"
       },
-      "homepage" : "https://github.com/dagolden/metabase-fact",
+      "homepage" : "https://github.com/dagolden/Metabase-Fact",
       "repository" : {
          "type" : "git",
-         "url" : "https://github.com/dagolden/metabase-fact.git",
-         "web" : "https://github.com/dagolden/metabase-fact"
+         "url" : "https://github.com/dagolden/Metabase-Fact.git",
+         "web" : "https://github.com/dagolden/Metabase-Fact"
       }
    },
-   "version" : "0.021"
+   "version" : "0.022",
+   "x_authority" : "cpan:DAGOLDEN",
+   "x_contributors" : [
+      "Nathan Gary Glenn <nglenn at cpan.org>",
+      "Randy Stauner <rwstauner at cpan.org>"
+   ]
 }
 
diff --git a/META.yml b/META.yml
index 6c09845..f59f392 100644
--- a/META.yml
+++ b/META.yml
@@ -6,15 +6,20 @@ author:
   - 'H.Merijn Brand <hmbrand at cpan.org>'
 build_requires:
   Cwd: 0
-  File::Find: 0
+  ExtUtils::MakeMaker: 0
   File::Spec: 0
+  File::Spec::Functions: 0
   File::Temp: 0.20
+  IO::Handle: 0
+  IPC::Open3: 0
+  List::Util: 0
   Test::Exception: 0
   Test::More: 0.88
+  lib: 0
 configure_requires:
   ExtUtils::MakeMaker: 6.30
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300005, CPAN::Meta::Converter version 2.112621'
+generated_by: 'Dist::Zilla version 4.300038, CPAN::Meta::Converter version 2.132510'
 license: apache
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -31,57 +36,58 @@ no_index:
 provides:
   Metabase::Fact:
     file: lib/Metabase/Fact.pm
-    version: 0.021
+    version: 0.022
   Metabase::Fact::Hash:
     file: lib/Metabase/Fact/Hash.pm
-    version: 0.021
+    version: 0.022
   Metabase::Fact::String:
     file: lib/Metabase/Fact/String.pm
-    version: 0.021
+    version: 0.022
   Metabase::Report:
     file: lib/Metabase/Report.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource:
     file: lib/Metabase/Resource.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource::cpan:
     file: lib/Metabase/Resource/cpan.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource::cpan::distfile:
     file: lib/Metabase/Resource/cpan/distfile.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource::metabase:
     file: lib/Metabase/Resource/metabase.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource::metabase::fact:
     file: lib/Metabase/Resource/metabase/fact.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource::metabase::user:
     file: lib/Metabase/Resource/metabase/user.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource::perl:
     file: lib/Metabase/Resource/perl.pm
-    version: 0.021
+    version: 0.022
   Metabase::Resource::perl::commit:
     file: lib/Metabase/Resource/perl/commit.pm
-    version: 0.021
+    version: 0.022
   Metabase::User::EmailAddress:
     file: lib/Metabase/User/EmailAddress.pm
-    version: 0.021
+    version: 0.022
   Metabase::User::FullName:
     file: lib/Metabase/User/FullName.pm
-    version: 0.021
+    version: 0.022
   Metabase::User::Profile:
     file: lib/Metabase/User/Profile.pm
-    version: 0.021
+    version: 0.022
   Metabase::User::Secret:
     file: lib/Metabase/User/Secret.pm
-    version: 0.021
+    version: 0.022
 requires:
   CPAN::DistnameInfo: 0
   Carp: 0
   Data::GUID: 0
   Getopt::Long: 0
+  IO::Prompt::Tiny: 0
   JSON: 2
   Pod::Usage: 0
   overload: 0
@@ -89,7 +95,11 @@ requires:
   strict: 0
   warnings: 0
 resources:
-  bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Metabase-Fact
-  homepage: https://github.com/dagolden/metabase-fact
-  repository: https://github.com/dagolden/metabase-fact.git
-version: 0.021
+  bugtracker: https://github.com/dagolden/Metabase-Fact/issues
+  homepage: https://github.com/dagolden/Metabase-Fact
+  repository: https://github.com/dagolden/Metabase-Fact.git
+version: 0.022
+x_authority: cpan:DAGOLDEN
+x_contributors:
+  - 'Nathan Gary Glenn <nglenn at cpan.org>'
+  - 'Randy Stauner <rwstauner at cpan.org>'
diff --git a/Makefile.PL b/Makefile.PL
index cc925b9..cc2f892 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -11,14 +11,7 @@ use ExtUtils::MakeMaker 6.30;
 my %WriteMakefileArgs = (
   "ABSTRACT" => "base class for Metabase Facts",
   "AUTHOR" => "David Golden <dagolden\@cpan.org>, Ricardo Signes <rjbs\@cpan.org>, H.Merijn Brand <hmbrand\@cpan.org>",
-  "BUILD_REQUIRES" => {
-    "Cwd" => 0,
-    "File::Find" => 0,
-    "File::Spec" => 0,
-    "File::Temp" => "0.20",
-    "Test::Exception" => 0,
-    "Test::More" => "0.88"
-  },
+  "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
     "ExtUtils::MakeMaker" => "6.30"
   },
@@ -33,19 +26,46 @@ my %WriteMakefileArgs = (
     "Carp" => 0,
     "Data::GUID" => 0,
     "Getopt::Long" => 0,
+    "IO::Prompt::Tiny" => 0,
     "JSON" => 2,
     "Pod::Usage" => 0,
     "overload" => 0,
     "strict" => 0,
     "warnings" => 0
   },
-  "VERSION" => "0.021",
+  "TEST_REQUIRES" => {
+    "Cwd" => 0,
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec" => 0,
+    "File::Spec::Functions" => 0,
+    "File::Temp" => "0.20",
+    "IO::Handle" => 0,
+    "IPC::Open3" => 0,
+    "List::Util" => 0,
+    "Test::Exception" => 0,
+    "Test::More" => "0.88",
+    "lib" => 0
+  },
+  "VERSION" => "0.022",
   "test" => {
     "TESTS" => "t/*.t t/fact/*.t t/report/*.t t/resource/*.t t/user/*.t"
   }
 );
 
 
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  my $tr = delete $WriteMakefileArgs{TEST_REQUIRES};
+  my $br = $WriteMakefileArgs{BUILD_REQUIRES};
+  for my $mod ( keys %$tr ) {
+    if ( exists $br->{$mod} ) {
+      $br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
+    }
+    else {
+      $br->{$mod} = $tr->{$mod};
+    }
+  }
+}
+
 unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
   my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
   my $pp = $WriteMakefileArgs{PREREQ_PM};
diff --git a/README b/README
index 2daaa39..b196592 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
     Metabase::Fact - base class for Metabase Facts
 
 VERSION
-    version 0.021
+    version 0.022
 
 SYNOPSIS
       # defining the fact class
@@ -400,16 +400,16 @@ BUGS
 SUPPORT
   Bugs / Feature Requests
     Please report any bugs or feature requests through the issue tracker at
-    <http://rt.cpan.org/Public/Dist/Display.html?Name=Metabase-Fact>. You
-    will be notified automatically of any progress on your issue.
+    <https://github.com/dagolden/Metabase-Fact/issues>. You will be notified
+    automatically of any progress on your issue.
 
   Source Code
     This is open source software. The code repository is available for
     public review and contribution under the terms of the license.
 
-    <https://github.com/dagolden/metabase-fact>
+    <https://github.com/dagolden/Metabase-Fact>
 
-      git clone https://github.com/dagolden/metabase-fact.git
+      git clone https://github.com/dagolden/Metabase-Fact.git
 
 AUTHORS
     *   David Golden <dagolden at cpan.org>
@@ -418,8 +418,13 @@ AUTHORS
 
     *   H.Merijn Brand <hmbrand at cpan.org>
 
+CONTRIBUTORS
+    *   Nathan Gary Glenn <nglenn at cpan.org>
+
+    *   Randy Stauner <rwstauner at cpan.org>
+
 COPYRIGHT AND LICENSE
-    This software is Copyright (c) 2012 by David Golden.
+    This software is Copyright (c) 2013 by David Golden.
 
     This is free software, licensed under:
 
diff --git a/bin/metabase-profile b/bin/metabase-profile
index ce6178f..b1afb3c 100644
--- a/bin/metabase-profile
+++ b/bin/metabase-profile
@@ -5,13 +5,14 @@ use warnings;
 package metabase_profile; # dzil needs this
 # PODNAME: metabase-profile
 # ABSTRACT: create a metabase profile
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Getopt::Long;
 use JSON 2;
 use Metabase::User::Profile;
 use Metabase::User::Secret;
 use Pod::Usage;
+use IO::Prompt::Tiny qw(prompt);
 
 my (%profile, $help, $output, $full_name, $email_address, $password);
 my $result = GetOptions(
@@ -43,12 +44,10 @@ my @prompts = (
   password      => 'password/secret',
 );
 
-$|++; # autoflush prompts
 while (@prompts) {
   my ($key, $phrase) = splice(@prompts,0,2);
   next if $profile{$key};
-  print "Enter $phrase\: ";
-  chomp( my $answer = <STDIN> );
+  chomp( my $answer = prompt("Enter $phrase\: ") );
   $profile{$key} = $answer;
 }
 
@@ -70,17 +69,19 @@ print {$fh} JSON->new->ascii->pretty->encode([
 close $fh;
 chmod 0600, $output;
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 metabase-profile - create a metabase profile
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -138,15 +139,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/cpanfile b/cpanfile
new file mode 100644
index 0000000..8fb488d
--- /dev/null
+++ b/cpanfile
@@ -0,0 +1,36 @@
+requires "CPAN::DistnameInfo" => "0";
+requires "Carp" => "0";
+requires "Data::GUID" => "0";
+requires "Getopt::Long" => "0";
+requires "IO::Prompt::Tiny" => "0";
+requires "JSON" => "2";
+requires "Pod::Usage" => "0";
+requires "overload" => "0";
+requires "perl" => "5.006";
+requires "strict" => "0";
+requires "warnings" => "0";
+
+on 'test' => sub {
+  requires "Cwd" => "0";
+  requires "ExtUtils::MakeMaker" => "0";
+  requires "File::Spec" => "0";
+  requires "File::Spec::Functions" => "0";
+  requires "File::Temp" => "0.20";
+  requires "IO::Handle" => "0";
+  requires "IPC::Open3" => "0";
+  requires "List::Util" => "0";
+  requires "Test::Exception" => "0";
+  requires "Test::More" => "0.88";
+  requires "lib" => "0";
+};
+
+on 'configure' => sub {
+  requires "ExtUtils::MakeMaker" => "6.30";
+};
+
+on 'develop' => sub {
+  requires "Pod::Coverage::TrustPod" => "0";
+  requires "Test::CPAN::Meta" => "0";
+  requires "Test::Pod" => "1.41";
+  requires "Test::Pod::Coverage" => "1.08";
+};
diff --git a/dist.ini b/dist.ini
index 62b711b..01fcf0d 100644
--- a/dist.ini
+++ b/dist.ini
@@ -6,15 +6,16 @@ license           = Apache_2_0
 copyright_holder  = David Golden
 
 [@DAGOLDEN]
-:version = 0.026
-stopwords = GUID
-stopwords = IDentifier
-stopwords = JSON
-stopwords = URI's
-stopwords = UTC
+:version = 0.053
 stopwords = analyses
 stopwords = cpan
 stopwords = datatype
 stopwords = distfile
 stopwords = guid
+stopwords = guid
+stopwords = identifier
+stopwords = json
 stopwords = metabase
+stopwords = subtype
+stopwords = uri's
+stopwords = utc
diff --git a/lib/Metabase/Fact.pm b/lib/Metabase/Fact.pm
index 978de1d..de3330a 100644
--- a/lib/Metabase/Fact.pm
+++ b/lib/Metabase/Fact.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Fact;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 use Data::GUID guid_string => { -as => '_guid' };
@@ -405,18 +405,19 @@ sub validate_content {
 
 # ABSTRACT: base class for Metabase Facts
 
-
-
 __END__
+
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Fact - base class for Metabase Facts
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -848,14 +849,14 @@ L<http://rt.cpan.org/Dist/Display.html?Queue=Metabase-Fact>
 When submitting a bug or request, please include a test-file or a patch to an
 existing test-file that illustrates the bug or desired feature.
 
-=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
 
 =head1 SUPPORT
 
 =head2 Bugs / Feature Requests
 
 Please report any bugs or feature requests through the issue tracker
-at L<http://rt.cpan.org/Public/Dist/Display.html?Name=Metabase-Fact>.
+at L<https://github.com/dagolden/Metabase-Fact/issues>.
 You will be notified automatically of any progress on your issue.
 
 =head2 Source Code
@@ -863,9 +864,9 @@ You will be notified automatically of any progress on your issue.
 This is open source software.  The code repository is available for
 public review and contribution under the terms of the license.
 
-L<https://github.com/dagolden/metabase-fact>
+L<https://github.com/dagolden/Metabase-Fact>
 
-  git clone https://github.com/dagolden/metabase-fact.git
+  git clone https://github.com/dagolden/Metabase-Fact.git
 
 =head1 AUTHORS
 
@@ -885,13 +886,26 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =back
 
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Nathan Gary Glenn <nglenn at cpan.org>
+
+=item *
+
+Randy Stauner <rwstauner at cpan.org>
+
+=back
+
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
diff --git a/lib/Metabase/Fact/Hash.pm b/lib/Metabase/Fact/Hash.pm
index 8f0d212..a5e93d7 100644
--- a/lib/Metabase/Fact/Hash.pm
+++ b/lib/Metabase/Fact/Hash.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Fact::Hash;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 use JSON 2 ();
@@ -42,17 +42,19 @@ sub content_from_bytes {
 
 # ABSTRACT: fact subtype for simple hashes
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Fact::Hash - fact subtype for simple hashes
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -160,14 +162,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
diff --git a/lib/Metabase/Fact/String.pm b/lib/Metabase/Fact/String.pm
index a46f552..cfe264e 100644
--- a/lib/Metabase/Fact/String.pm
+++ b/lib/Metabase/Fact/String.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Fact::String;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 
@@ -34,17 +34,19 @@ sub content_from_bytes {
 
 # ABSTRACT: fact subtype for simple strings
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Fact::String - fact subtype for simple strings
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -117,14 +119,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
diff --git a/lib/Metabase/Report.pm b/lib/Metabase/Report.pm
index 4953b2d..cb149fe 100644
--- a/lib/Metabase/Report.pm
+++ b/lib/Metabase/Report.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Report;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 use JSON 2 ();
@@ -209,17 +209,19 @@ sub load_fact_classes {
 
 # ABSTRACT: a base class for collections of Metabase facts
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Report - a base class for collections of Metabase facts
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -361,15 +363,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/lib/Metabase/Resource.pm b/lib/Metabase/Resource.pm
index e253173..94a0fac 100644
--- a/lib/Metabase/Resource.pm
+++ b/lib/Metabase/Resource.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 
@@ -120,17 +120,19 @@ sub validate {
 
 # ABSTRACT: factory class for Metabase resource descriptors
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource - factory class for Metabase resource descriptors
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -319,15 +321,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/lib/Metabase/Resource/cpan.pm b/lib/Metabase/Resource/cpan.pm
index ea25358..547c376 100644
--- a/lib/Metabase/Resource/cpan.pm
+++ b/lib/Metabase/Resource/cpan.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource::cpan;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 
@@ -21,17 +21,19 @@ sub _extract_type {
 
 # ABSTRACT: class for Metabase resources
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource::cpan - class for Metabase resources
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -93,15 +95,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/lib/Metabase/Resource/cpan/distfile.pm b/lib/Metabase/Resource/cpan/distfile.pm
index 3e8f196..34801e3 100644
--- a/lib/Metabase/Resource/cpan/distfile.pm
+++ b/lib/Metabase/Resource/cpan/distfile.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource::cpan::distfile;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 use CPAN::DistnameInfo ();
@@ -78,17 +78,19 @@ sub _validate_distfile {
 
 # ABSTRACT: class for Metabase resources
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource::cpan::distfile - class for Metabase resources
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -146,17 +148,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
-
-
diff --git a/lib/Metabase/Resource/metabase.pm b/lib/Metabase/Resource/metabase.pm
index cb0c788..2f52c00 100644
--- a/lib/Metabase/Resource/metabase.pm
+++ b/lib/Metabase/Resource/metabase.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource::metabase;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 
@@ -34,17 +34,19 @@ sub _extract_type {
 
 # ABSTRACT: class for Metabase resources
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource::metabase - class for Metabase resources
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -118,15 +120,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/lib/Metabase/Resource/metabase/fact.pm b/lib/Metabase/Resource/metabase/fact.pm
index 4711b4a..8a23332 100644
--- a/lib/Metabase/Resource/metabase/fact.pm
+++ b/lib/Metabase/Resource/metabase/fact.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource::metabase::fact;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 
@@ -34,17 +34,19 @@ sub validate {
 
 # ABSTRACT: class for Metabase facts
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource::metabase::fact - class for Metabase facts
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -96,15 +98,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/lib/Metabase/Resource/metabase/user.pm b/lib/Metabase/Resource/metabase/user.pm
index 22ba839..94c4c62 100644
--- a/lib/Metabase/Resource/metabase/user.pm
+++ b/lib/Metabase/Resource/metabase/user.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource::metabase::user;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 
 use Metabase::Resource::metabase::fact;
@@ -12,17 +12,19 @@ our @ISA = qw/Metabase::Resource::metabase::fact/;
 
 # ABSTRACT: class for Metabase user profiles
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource::metabase::user - class for Metabase user profiles
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -74,16 +76,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
-
diff --git a/lib/Metabase/Resource/perl.pm b/lib/Metabase/Resource/perl.pm
index 9a5d3b7..fc5b156 100644
--- a/lib/Metabase/Resource/perl.pm
+++ b/lib/Metabase/Resource/perl.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource::perl;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 
@@ -27,18 +27,19 @@ sub _extract_type {
 
 # ABSTRACT: class for Metabase resources under the perl scheme
 
-
-
 __END__
+
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource::perl - class for Metabase resources under the perl scheme
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -97,11 +98,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
diff --git a/lib/Metabase/Resource/perl/commit.pm b/lib/Metabase/Resource/perl/commit.pm
index 1fb8693..4c69e43 100644
--- a/lib/Metabase/Resource/perl/commit.pm
+++ b/lib/Metabase/Resource/perl/commit.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::Resource::perl::commit;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 
@@ -46,17 +46,19 @@ sub validate { 1 }
 
 # ABSTRACT: class for Metabase resources about perl commits
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::Resource::perl::commit - class for Metabase resources about perl commits
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -122,18 +124,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
-
-
-
diff --git a/lib/Metabase/User/EmailAddress.pm b/lib/Metabase/User/EmailAddress.pm
index 8bd2b4d..5fa3bc5 100644
--- a/lib/Metabase/User/EmailAddress.pm
+++ b/lib/Metabase/User/EmailAddress.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::User::EmailAddress;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Metabase::Fact::String;
 our @ISA = qw/Metabase::Fact::String/;
@@ -11,17 +11,19 @@ our @ISA = qw/Metabase::Fact::String/;
 
 # ABSTRACT: Metabase fact for user email address
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::User::EmailAddress - Metabase fact for user email address
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -67,14 +69,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
diff --git a/lib/Metabase/User/FullName.pm b/lib/Metabase/User/FullName.pm
index 36cc095..7665623 100644
--- a/lib/Metabase/User/FullName.pm
+++ b/lib/Metabase/User/FullName.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::User::FullName;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Metabase::Fact::String;
 our @ISA = qw/Metabase::Fact::String/;
@@ -11,17 +11,19 @@ our @ISA = qw/Metabase::Fact::String/;
 
 # ABSTRACT: Metabase fact for user full name
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::User::FullName - Metabase fact for user full name
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -64,15 +66,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/lib/Metabase/User/Profile.pm b/lib/Metabase/User/Profile.pm
index a290575..cd935af 100644
--- a/lib/Metabase/User/Profile.pm
+++ b/lib/Metabase/User/Profile.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::User::Profile;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Carp ();
 use Data::GUID guid_string => { -as => '_guid' };
@@ -66,17 +66,19 @@ sub report_spec {
 
 # ABSTRACT: Metabase report class for user-related facts
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::User::Profile - Metabase report class for user-related facts
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -167,15 +169,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
diff --git a/lib/Metabase/User/Secret.pm b/lib/Metabase/User/Secret.pm
index 43d2280..da1ac77 100644
--- a/lib/Metabase/User/Secret.pm
+++ b/lib/Metabase/User/Secret.pm
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package Metabase::User::Secret;
-our $VERSION = '0.021'; # VERSION
+our $VERSION = '0.022'; # VERSION
 
 use Metabase::Fact::String;
 our @ISA = qw/Metabase::Fact::String/;
@@ -18,17 +18,19 @@ sub new {
 
 # ABSTRACT: Metabase fact for user shared authentication secret
 
-
+__END__
 
 =pod
 
+=encoding utf-8
+
 =head1 NAME
 
 Metabase::User::Secret - Metabase fact for user shared authentication secret
 
 =head1 VERSION
 
-version 0.021
+version 0.022
 
 =head1 SYNOPSIS
 
@@ -71,16 +73,10 @@ H.Merijn Brand <hmbrand at cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2012 by David Golden.
+This software is Copyright (c) 2013 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
-
-
diff --git a/t/00-compile.t b/t/00-compile.t
index 6987686..6e5f472 100644
--- a/t/00-compile.t
+++ b/t/00-compile.t
@@ -1,73 +1,101 @@
-#!perl
-
 use strict;
 use warnings;
 
-use Test::More;
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.026
 
+use Test::More  tests => 17 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
 
 
-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',
+my @module_files = (
+    'Metabase/Fact.pm',
+    'Metabase/Fact/Hash.pm',
+    'Metabase/Fact/String.pm',
+    'Metabase/Report.pm',
+    'Metabase/Resource.pm',
+    'Metabase/Resource/cpan.pm',
+    'Metabase/Resource/cpan/distfile.pm',
+    'Metabase/Resource/metabase.pm',
+    'Metabase/Resource/metabase/fact.pm',
+    'Metabase/Resource/metabase/user.pm',
+    'Metabase/Resource/perl.pm',
+    'Metabase/Resource/perl/commit.pm',
+    'Metabase/User/EmailAddress.pm',
+    'Metabase/User/FullName.pm',
+    'Metabase/User/Profile.pm',
+    'Metabase/User/Secret.pm'
 );
 
-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 = (
+    'bin/metabase-profile'
+);
 
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
-    for qw{ bin script scripts };
+# fake home for cpan-testers
+use File::Temp;
+local $ENV{HOME} = File::Temp::tempdir( CLEANUP => 1 );
 
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
 
+use IPC::Open3;
+use IO::Handle;
+
+my @warnings;
+for my $lib (@module_files)
 {
-    # fake home for cpan-testers
-     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" );
-        }
+    # see L<perlfaq8/How can I capture STDERR from an external command?>
+    my $stdin = '';     # converted to a gensym by open3
+    my $stderr = IO::Handle->new;
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, qq{$^X -Mblib -e"require q[$lib]"});
+    waitpid($pid, 0);
+    is($? >> 8, 0, "$lib loaded ok");
+
+    if (my @_warnings = <$stderr>)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
+    }
+}
+
+use File::Spec;
+foreach my $file (@scripts)
+{ SKIP: {
+    open my $fh, '<', $file or warn("Unable to open $file: $!"), next;
+    my $line = <$fh>;
+    close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!.*?\bperl\b\s*(.*)$/;
+
+    my $flags = $1;
+
+    my $stdin = '';     # converted to a gensym by open3
+    my $stderr = IO::Handle->new;
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, qq{$^X -Mblib $flags -c $file});
+    waitpid($pid, 0);
+    is($? >> 8, 0, "$file compiled ok");
+
+   # in older perls, -c output is simply the file portion of the path being tested
+    if (my @_warnings = grep { !/\bsyntax OK$/ }
+        grep { chomp; $_ ne (File::Spec->splitpath($file))[2] } <$stderr>)
+    {
+        # temporary measure - win32 newline issues?
+        warn map { _show_whitespace($_) } @_warnings;
+        push @warnings, @_warnings;
     }
+} }
+
+sub _show_whitespace
+{
+    my $string = shift;
+    $string =~ s/\012/[\\012]/g;
+    $string =~ s/\015/[\\015]/g;
+    $string =~ s/\t/[\\t]/g;
+    $string =~ s/ /[\\s]/g;
+    return $string;
 }
+
+
+
+is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
+
+
diff --git a/t/00-report-prereqs.t b/t/00-report-prereqs.t
new file mode 100644
index 0000000..fe09f58
--- /dev/null
+++ b/t/00-report-prereqs.t
@@ -0,0 +1,77 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec::Functions;
+use List::Util qw/max/;
+
+my @modules = qw(
+  CPAN::DistnameInfo
+  Carp
+  Cwd
+  Data::GUID
+  ExtUtils::MakeMaker
+  File::Spec
+  File::Spec::Functions
+  File::Temp
+  Getopt::Long
+  IO::Handle
+  IO::Prompt::Tiny
+  IPC::Open3
+  JSON
+  List::Util
+  Pod::Usage
+  Test::Exception
+  Test::More
+  lib
+  overload
+  perl
+  strict
+  warnings
+);
+
+# replace modules with dynamic results from MYMETA.json if we can
+# (hide CPAN::Meta from prereq scanner)
+my $cpan_meta = "CPAN::Meta";
+if ( -f "MYMETA.json" && eval "require $cpan_meta" ) { ## no critic
+  if ( my $meta = eval { CPAN::Meta->load_file("MYMETA.json") } ) {
+    my $prereqs = $meta->prereqs;
+    delete $prereqs->{develop};
+    my %uniq = map {$_ => 1} map { keys %$_ } map { values %$_ } values %$prereqs;
+    $uniq{$_} = 1 for @modules; # don't lose any static ones
+    @modules = sort keys %uniq;
+  }
+}
+
+my @reports = [qw/Version Module/];
+
+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];
+  }
+  else {
+    push @reports, ["missing", $mod];
+  }
+}
+
+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 "Prerequisite Report:\n", map {sprintf("  %*s %*s\n",$vl,$_->[0],-$ml,$_->[1])} @reports;
+}
+
+pass;
+
+# vim: ts=2 sts=2 sw=2 et:
diff --git a/xt/author/pod-spell.t b/xt/author/pod-spell.t
index e8746ea..9ced76f 100644
--- a/xt/author/pod-spell.t
+++ b/xt/author/pod-spell.t
@@ -1,35 +1,55 @@
-#!perl
-# This test is generated by Dist::Zilla::Plugin::Test::PodSpelling
-
+use strict;
+use warnings;
 use Test::More;
 
-eval "use Pod::Wordlist::hanekomu";
-plan skip_all => "Pod::Wordlist::hanekomu required for testing POD spelling"
-  if $@;
-
-eval "use Test::Spelling 0.12";
-plan skip_all => "Test::Spelling 0.12 required for testing POD spelling"
-  if $@;
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006001
+use Test::Spelling 0.12;
+use Pod::Wordlist;
 
 
 add_stopwords(<DATA>);
-all_pod_files_spelling_ok('bin', 'lib');
+all_pod_files_spelling_ok( qw( bin lib  ) );
 __DATA__
-GUID
-IDentifier
-JSON
-URI's
-UTC
 analyses
 cpan
 datatype
 distfile
 guid
+identifier
+json
 metabase
+subtype
+uri's
+utc
 David
 Golden
+dagolden
 Ricardo
 Signes
+rjbs
 Merijn
 Brand
-
+hmbrand
+Nathan
+Gary
+Glenn
+nglenn
+Randy
+Stauner
+rwstauner
+lib
+Metabase
+Resource
+fact
+User
+FullName
+EmailAddress
+perl
+commit
+Report
+Profile
+Fact
+String
+Secret
+user
+Hash
diff --git a/xt/release/minimum-version.t b/xt/release/minimum-version.t
new file mode 100644
index 0000000..708ba15
--- /dev/null
+++ b/xt/release/minimum-version.t
@@ -0,0 +1,8 @@
+#!perl
+
+use Test::More;
+
+eval "use Test::MinimumVersion";
+plan skip_all => "Test::MinimumVersion required for testing minimum versions"
+  if $@;
+all_minimum_version_ok( qq{5.010} );
diff --git a/xt/release/portability.t b/xt/release/portability.t
index 963834a..58dbc20 100644
--- a/xt/release/portability.t
+++ b/xt/release/portability.t
@@ -1,8 +1,12 @@
 #!perl
 
+use strict;
+use warnings;
+
 use Test::More;
 
 eval 'use Test::Portability::Files';
 plan skip_all => 'Test::Portability::Files required for testing portability'
     if $@;
+options(test_one_dot => 0);
 run_tests();
diff --git a/xt/release/test-version.t b/xt/release/test-version.t
index ef689d9..b7a0f17 100644
--- a/xt/release/test-version.t
+++ b/xt/release/test-version.t
@@ -1,12 +1,22 @@
-#!/usr/bin/perl
-use 5.006;
 use strict;
 use warnings;
 use Test::More;
 
-use Test::Requires {
-    'Test::Version' => 0.04,
+# generated by Dist::Zilla::Plugin::Test::Version 0.002004
+BEGIN { eval "use Test::Version; 1;" or die $@; }
+
+my @imports = ( 'version_all_ok' );
+
+my $params = {
+    is_strict   => 0,
+    has_version => 1,
 };
 
+push @imports, $params
+    if version->parse( $Test::Version::VERSION ) >= version->parse('1.002');
+
+
+Test::Version->import(@imports);
+
 version_all_ok;
 done_testing;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmetabase-fact-perl.git



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