r57553 - in /branches/upstream/libperl-prereqscanner-perl/current: ./ lib/Perl/ lib/Perl/PrereqScanner/ lib/Perl/PrereqScanner/Scanner/ t/

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Thu May 6 03:30:30 UTC 2010


Author: jawnsy-guest
Date: Thu May  6 03:30:18 2010
New Revision: 57553

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=57553
Log:
[svn-upgrade] Integrating new upstream version, libperl-prereqscanner-perl (0.101250)

Added:
    branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/
    branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/
    branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner.pm
    branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Moose.pm
    branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Perl5.pm
Modified:
    branches/upstream/libperl-prereqscanner-perl/current/Changes
    branches/upstream/libperl-prereqscanner-perl/current/MANIFEST
    branches/upstream/libperl-prereqscanner-perl/current/META.json
    branches/upstream/libperl-prereqscanner-perl/current/META.yml
    branches/upstream/libperl-prereqscanner-perl/current/Makefile.PL
    branches/upstream/libperl-prereqscanner-perl/current/README
    branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner.pm
    branches/upstream/libperl-prereqscanner-perl/current/t/release-pod-syntax.t

Modified: branches/upstream/libperl-prereqscanner-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/Changes?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/Changes (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/Changes Thu May  6 03:30:18 2010
@@ -1,4 +1,8 @@
 Revision history for Perl-PrereqScanner
+
+0.101250  2010-05-05 09:32:19 America/New_York
+ - convert to Moose object system
+ - add the Scanner role and pluggable scanners
 
 0.100960  2010-04-06 17:03:46 Europe/Paris
  - add 'feature' pragma to skip list (mark gardner)

Modified: branches/upstream/libperl-prereqscanner-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/MANIFEST?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/MANIFEST (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/MANIFEST Thu May  6 03:30:18 2010
@@ -8,5 +8,8 @@
 bin/scan_prereqs
 dist.ini
 lib/Perl/PrereqScanner.pm
+lib/Perl/PrereqScanner/Scanner.pm
+lib/Perl/PrereqScanner/Scanner/Moose.pm
+lib/Perl/PrereqScanner/Scanner/Perl5.pm
 t/autoprereq.t
 t/release-pod-syntax.t

Modified: branches/upstream/libperl-prereqscanner-perl/current/META.json
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/META.json?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/META.json (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/META.json Thu May  6 03:30:18 2010
@@ -13,134 +13,148 @@
    "configure_requires" : {
       "ExtUtils::MakeMaker" : "6.31"
    },
-   "generated_by" : "Dist::Zilla version 2.100880",
+   "generated_by" : "Dist::Zilla version 2.101240",
    "license" : "perl",
    "meta-spec" : {
       "url" : "http://module-build.sourceforge.net/META-spec-v1.4.html",
       "version" : 1.4
    },
    "name" : "Perl-PrereqScanner",
+   "recommends" : {},
    "requires" : {
       "File::Spec::Functions" : "0",
       "FindBin" : "0",
       "List::Util" : "0",
+      "Moose" : "0",
+      "Moose::Role" : "0",
       "PPI" : "1.205",
-      "Scalar::Util" : "0",
+      "Params::Util" : "0",
+      "String::RewritePrefix" : "0",
       "Version::Requirements" : "0.100630",
       "namespace::autoclean" : "0",
       "perl" : "5.008"
    },
    "resources" : {
       "MailingList" : "http://www.listbox.com/subscribe/?list_id=139292",
-      "repository" : "http://github.com/jquelin/perl-prereqscanner"
-   },
-   "version" : "0.100960",
+      "repository" : "git://git.codesimply.com/Perl-PrereqScanner.git"
+   },
+   "version" : "0.101250",
    "x_Dist_Zilla" : {
       "plugins" : [
          {
             "class" : "Dist::Zilla::Plugin::MetaResources",
             "name" : "MetaResources",
-            "version" : "2.100880"
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::GatherDir",
-            "name" : "@RJBS/@Classic/GatherDir",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/GatherDir",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
-            "name" : "@RJBS/@Classic/PruneCruft",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/PruneCruft",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
-            "name" : "@RJBS/@Classic/ManifestSkip",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/ManifestSkip",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
-            "name" : "@RJBS/@Classic/MetaYAML",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/MetaYAML",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
-            "name" : "@RJBS/@Classic/License",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/License",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
-            "name" : "@RJBS/@Classic/Readme",
-            "version" : "2.100880"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::PkgVersion",
-            "name" : "@RJBS/@Classic/PkgVersion",
-            "version" : "2.100880"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
-            "name" : "@RJBS/@Classic/PodSyntaxTests",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/Readme",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExtraTests",
-            "name" : "@RJBS/@Classic/ExtraTests",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/ExtraTests",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
-            "name" : "@RJBS/@Classic/ExecDir",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/ExecDir",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
-            "name" : "@RJBS/@Classic/ShareDir",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/ShareDir",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
-            "name" : "@RJBS/@Classic/MakeMaker",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/MakeMaker",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
-            "name" : "@RJBS/@Classic/Manifest",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/Manifest",
+            "version" : "2.101240"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::TestRelease",
+            "name" : "@RJBS/@Basic/TestRelease",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
-            "name" : "@RJBS/@Classic/ConfirmRelease",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/ConfirmRelease",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
-            "name" : "@RJBS/@Classic/UploadToCPAN",
-            "version" : "2.100880"
+            "name" : "@RJBS/@Basic/UploadToCPAN",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereq",
             "name" : "@RJBS/AutoPrereq",
-            "version" : "2.100880"
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoVersion",
             "name" : "@RJBS/AutoVersion",
-            "version" : "2.100880"
+            "version" : "2.101240"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PkgVersion",
+            "name" : "@RJBS/PkgVersion",
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@RJBS/MetaConfig",
-            "version" : "2.100880"
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@RJBS/MetaJSON",
-            "version" : "2.100880"
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@RJBS/NextRelease",
-            "version" : "2.100880"
+            "version" : "2.101240"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+            "name" : "@RJBS/PodSyntaxTests",
+            "version" : "2.101240"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Repository",
+            "name" : "@RJBS/Repository",
+            "version" : "0.11"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -148,49 +162,44 @@
             "version" : "3.100710"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Repository",
-            "name" : "@RJBS/Repository",
-            "version" : "0.11"
-         },
-         {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@RJBS/@Git/Check",
-            "version" : "1.100900"
+            "version" : "1.100970"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "name" : "@RJBS/@Git/Commit",
-            "version" : "1.100900"
+            "version" : "1.100970"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
             "name" : "@RJBS/@Git/Tag",
-            "version" : "1.100900"
+            "version" : "1.100970"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
             "name" : "@RJBS/@Git/Push",
-            "version" : "1.100900"
+            "version" : "1.100970"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "2.100880"
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "2.100880"
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "2.100880"
+            "version" : "2.101240"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "2.100880"
+            "version" : "2.101240"
          }
       ],
       "zilla" : {
@@ -198,7 +207,7 @@
          "config" : {
             "is_trial" : 0
          },
-         "version" : "2.100880"
+         "version" : "2.101240"
       }
    }
 }

Modified: branches/upstream/libperl-prereqscanner-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/META.yml?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/META.yml (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/META.yml Thu May  6 03:30:18 2010
@@ -10,153 +10,161 @@
   Try::Tiny: 0
 configure_requires:
   ExtUtils::MakeMaker: 6.31
-generated_by: 'Dist::Zilla version 2.100880'
+generated_by: 'Dist::Zilla version 2.101240'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: 1.4
 name: Perl-PrereqScanner
+recommends: {}
 requires:
   File::Spec::Functions: 0
   FindBin: 0
   List::Util: 0
+  Moose: 0
+  Moose::Role: 0
   PPI: 1.205
-  Scalar::Util: 0
+  Params::Util: 0
+  String::RewritePrefix: 0
   Version::Requirements: 0.100630
   namespace::autoclean: 0
   perl: 5.008
 resources:
   MailingList: http://www.listbox.com/subscribe/?list_id=139292
-  repository: http://github.com/jquelin/perl-prereqscanner
-version: 0.100960
+  repository: git://git.codesimply.com/Perl-PrereqScanner.git
+version: 0.101250
 x_Dist_Zilla:
   plugins:
     -
       class: Dist::Zilla::Plugin::MetaResources
       name: MetaResources
-      version: 2.100880
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::GatherDir
-      name: '@RJBS/@Classic/GatherDir'
-      version: 2.100880
+      name: '@RJBS/@Basic/GatherDir'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::PruneCruft
-      name: '@RJBS/@Classic/PruneCruft'
-      version: 2.100880
+      name: '@RJBS/@Basic/PruneCruft'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::ManifestSkip
-      name: '@RJBS/@Classic/ManifestSkip'
-      version: 2.100880
+      name: '@RJBS/@Basic/ManifestSkip'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::MetaYAML
-      name: '@RJBS/@Classic/MetaYAML'
-      version: 2.100880
+      name: '@RJBS/@Basic/MetaYAML'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::License
-      name: '@RJBS/@Classic/License'
-      version: 2.100880
+      name: '@RJBS/@Basic/License'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::Readme
-      name: '@RJBS/@Classic/Readme'
-      version: 2.100880
-    -
-      class: Dist::Zilla::Plugin::PkgVersion
-      name: '@RJBS/@Classic/PkgVersion'
-      version: 2.100880
-    -
-      class: Dist::Zilla::Plugin::PodSyntaxTests
-      name: '@RJBS/@Classic/PodSyntaxTests'
-      version: 2.100880
+      name: '@RJBS/@Basic/Readme'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::ExtraTests
-      name: '@RJBS/@Classic/ExtraTests'
-      version: 2.100880
+      name: '@RJBS/@Basic/ExtraTests'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::ExecDir
-      name: '@RJBS/@Classic/ExecDir'
-      version: 2.100880
+      name: '@RJBS/@Basic/ExecDir'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::ShareDir
-      name: '@RJBS/@Classic/ShareDir'
-      version: 2.100880
+      name: '@RJBS/@Basic/ShareDir'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::MakeMaker
-      name: '@RJBS/@Classic/MakeMaker'
-      version: 2.100880
+      name: '@RJBS/@Basic/MakeMaker'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::Manifest
-      name: '@RJBS/@Classic/Manifest'
-      version: 2.100880
+      name: '@RJBS/@Basic/Manifest'
+      version: 2.101240
+    -
+      class: Dist::Zilla::Plugin::TestRelease
+      name: '@RJBS/@Basic/TestRelease'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
-      name: '@RJBS/@Classic/ConfirmRelease'
-      version: 2.100880
+      name: '@RJBS/@Basic/ConfirmRelease'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
-      name: '@RJBS/@Classic/UploadToCPAN'
-      version: 2.100880
+      name: '@RJBS/@Basic/UploadToCPAN'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::AutoPrereq
       name: '@RJBS/AutoPrereq'
-      version: 2.100880
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::AutoVersion
       name: '@RJBS/AutoVersion'
-      version: 2.100880
+      version: 2.101240
+    -
+      class: Dist::Zilla::Plugin::PkgVersion
+      name: '@RJBS/PkgVersion'
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@RJBS/MetaConfig'
-      version: 2.100880
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@RJBS/MetaJSON'
-      version: 2.100880
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@RJBS/NextRelease'
-      version: 2.100880
+      version: 2.101240
+    -
+      class: Dist::Zilla::Plugin::PodSyntaxTests
+      name: '@RJBS/PodSyntaxTests'
+      version: 2.101240
+    -
+      class: Dist::Zilla::Plugin::Repository
+      name: '@RJBS/Repository'
+      version: 0.11
     -
       class: Dist::Zilla::Plugin::PodWeaver
       name: '@RJBS/PodWeaver'
       version: 3.100710
     -
-      class: Dist::Zilla::Plugin::Repository
-      name: '@RJBS/Repository'
-      version: 0.11
-    -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@RJBS/@Git/Check'
-      version: 1.100900
+      version: 1.100970
     -
       class: Dist::Zilla::Plugin::Git::Commit
       name: '@RJBS/@Git/Commit'
-      version: 1.100900
+      version: 1.100970
     -
       class: Dist::Zilla::Plugin::Git::Tag
       name: '@RJBS/@Git/Tag'
-      version: 1.100900
+      version: 1.100970
     -
       class: Dist::Zilla::Plugin::Git::Push
       name: '@RJBS/@Git/Push'
-      version: 1.100900
+      version: 1.100970
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 2.100880
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 2.100880
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 2.100880
+      version: 2.101240
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 2.100880
+      version: 2.101240
   zilla:
     class: Dist::Zilla
     config:
       is_trial: 0
-    version: 2.100880
+    version: 2.101240

Modified: branches/upstream/libperl-prereqscanner-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/Makefile.PL?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/Makefile.PL (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/Makefile.PL Thu May  6 03:30:18 2010
@@ -9,41 +9,54 @@
 
 
 my %WriteMakefileArgs = (
-                       'test' => {
-                                   'TESTS' => 't/*.t'
-                                 },
-                       'NAME' => 'Perl::PrereqScanner',
-                       'DISTNAME' => 'Perl-PrereqScanner',
+                       'ABSTRACT' => 'a tool to scan your Perl code for its prerequisites',
+                       'AUTHOR' => 'Jerome Quelin, Ricardo Signes <rjbs at cpan.org>',
+                       'BUILD_REQUIRES' => {
+                                             'File::Temp' => '0',
+                                             'PPI::Document' => '0',
+                                             'Test::More' => '0',
+                                             'Try::Tiny' => '0'
+                                           },
                        'CONFIGURE_REQUIRES' => {
                                                  'ExtUtils::MakeMaker' => '6.31'
                                                },
-                       'AUTHOR' => 'Jerome Quelin, Ricardo Signes <rjbs at cpan.org>',
-                       'BUILD_REQUIRES' => {
-                                             'Test::More' => '0',
-                                             'Try::Tiny' => '0',
-                                             'PPI::Document' => '0',
-                                             'File::Temp' => '0'
-                                           },
-                       'ABSTRACT' => 'a tool to scan your Perl code for its prerequisites',
+                       'DISTNAME' => 'Perl-PrereqScanner',
                        'EXE_FILES' => [
                                         'bin/scan_prereqs'
                                       ],
-                       'VERSION' => '0.100960',
+                       'LICENSE' => 'perl',
+                       'NAME' => 'Perl::PrereqScanner',
                        'PREREQ_PM' => {
-                                        'Scalar::Util' => '0',
+                                        'File::Spec::Functions' => '0',
+                                        'FindBin' => '0',
                                         'List::Util' => '0',
+                                        'Moose' => '0',
+                                        'Moose::Role' => '0',
                                         'PPI' => '1.205',
-                                        'namespace::autoclean' => '0',
+                                        'Params::Util' => '0',
+                                        'String::RewritePrefix' => '0',
                                         'Version::Requirements' => '0.100630',
-                                        'FindBin' => '0',
-                                        'File::Spec::Functions' => '0'
+                                        'namespace::autoclean' => '0'
                                       },
-                       'LICENSE' => 'perl'
+                       'VERSION' => '0.101250',
+                       'test' => {
+                                   'TESTS' => 't/*.t'
+                                 }
                      );
 
 
-delete $WriteMakefileArgs{BUILD_REQUIRES}
-  unless eval { ExtUtils::MakeMaker->VERSION(6.56) };
+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};
+    }
+  }
+}
 
 delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
   unless eval { ExtUtils::MakeMaker->VERSION(6.52) };

Modified: branches/upstream/libperl-prereqscanner-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/README?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/README (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/README Thu May  6 03:30:18 2010
@@ -1,7 +1,7 @@
 
 
 This archive contains the distribution Perl-PrereqScanner,
-version 0.100960:
+version 0.101250:
 
   a tool to scan your Perl code for its prerequisites
 

Modified: branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner.pm?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner.pm (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner.pm Thu May  6 03:30:18 2010
@@ -1,30 +1,54 @@
 use 5.008;
-use strict;
-use warnings;
-
 package Perl::PrereqScanner;
-$Perl::PrereqScanner::VERSION = '0.100960';
+BEGIN {
+  $Perl::PrereqScanner::VERSION = '0.101250';
+}
+use Moose;
 # ABSTRACT: a tool to scan your Perl code for its prerequisites
 
+use List::Util qw(max);
+use Params::Util qw(_CLASS);
+use Perl::PrereqScanner::Scanner;
 use PPI 1.205; # module_version
-use List::Util qw(max);
-use Scalar::Util qw(blessed);
+use String::RewritePrefix rewrite => {
+  -as => '__rewrite_scanner',
+  prefixes => { '' => 'Perl::PrereqScanner::Scanner::', '=' => '' },
+};
+
 use Version::Requirements 0.100630; # merge with 0-min bug fixed
 
 use namespace::autoclean;
 
-sub _q_contents {
-  my ($self, $token) = @_;
-  my @contents = $token->isa('PPI::Token::QuoteLike::Words')
-    ? ( $token->literal )
-    : ( $token->string  );
+has scanners => (
+  is  => 'ro',
+  isa => 'ArrayRef[Perl::PrereqScanner::Scanner]',
+  init_arg => undef,
+  writer   => '_set_scanners',
+);
 
-  return @contents;
+sub __scanner_from_str {
+  my $class = __rewrite_scanner($_[0]);
+  confess "illegal class name: $class" unless _CLASS($class);
+  eval "require $class; 1" or die $@;
+  return $class->new;
 }
 
-sub new {
-  my ($class) = @_;
-  bless {} => $class;
+sub __prepare_scanners {
+  my ($self, $specs) = @_;
+  my @scanners = map {; ref $_ ? $_ : __scanner_from_str($_) } @$specs;
+
+  return \@scanners;
+}
+
+sub BUILD {
+  my ($self, $arg) = @_;
+
+  my @scanners = @{ $arg->{scanners} || [ qw(Perl5 Moose) ] };
+  my @extra_scanners = @{ $arg->{extra_scanners} || [] };
+
+  my $scanners = $self->__prepare_scanners([ @scanners, @extra_scanners ]);
+
+  $self->_set_scanners($scanners);
 }
 
 
@@ -49,50 +73,9 @@
 
   my $req = Version::Requirements->new;
 
-  # regular use and require
-  my $includes = $ppi_doc->find('Statement::Include') || [];
-  for my $node ( @$includes ) {
-    # minimum perl version
-    if ( $node->version ) {
-      $req->add_minimum(perl => $node->version);
-      next;
-    }
-
-    # skipping pragmata
-    next if grep { $_ eq $node->module } qw{ strict warnings lib feature };
-
-    # inheritance
-    if (grep { $_ eq $node->module } qw{ base parent }) {
-      # rt#55713: skip arguments to base or parent, focus only on inheritance
-      my @meat = grep {
-           $_->isa('PPI::Token::QuoteLike::Words')
-        || $_->isa('PPI::Token::Quote')
-        } $node->arguments;
-
-      my @parents = map { $self->_q_contents($_) } @meat;
-      $req->add_minimum($_ => 0) for @parents;
-    }
-
-    # regular modules
-    my $version = $node->module_version ? $node->module_version->content : 0;
-
-    # base has been core since perl 5.0
-    next if $node->module eq 'base' and not $version;
-
-    # rt#55851: 'require $foo;' shouldn't add any prereq
-    $req->add_minimum($node->module, $version) if $node->module;
+  for my $scanner (@{ $self->{scanners} }) {
+    $scanner->scan_for_prereqs($ppi_doc, $req);
   }
-
-  # Moose-based roles / inheritance
-  my @bases =
-    map  { $self->_q_contents( $_ ) }
-    grep { $_->isa('PPI::Token::Quote') || $_->isa('PPI::Token::QuoteLike') }
-    map  { $_->children }
-    grep { $_->child(0)->literal =~ m{\Awith|extends\z} }
-    grep { $_->child(0)->isa('PPI::Token::Word') }
-    @{ $ppi_doc->find('PPI::Statement') || [] };
-
-  $req->add_minimum($_ => 0) for @bases;
 
   return $req;
 }
@@ -108,15 +91,15 @@
 
 =head1 VERSION
 
-version 0.100960
+version 0.101250
 
 =head1 SYNOPSIS
 
   use Perl::PrereqScanner;
-  my $scan    = Perl::PrereqScanner->new;
-  my $prereqs = $scan->scan_ppi_document( $ppi_doc );
-  my $prereqs = $scan->scan_file( $file_path );
-  my $prereqs = $scan->scan_string( $perl_code );
+  my $scanner = Perl::PrereqScanner->new;
+  my $prereqs = $scanner->scan_ppi_document( $ppi_doc );
+  my $prereqs = $scanner->scan_file( $file_path );
+  my $prereqs = $scanner->scan_string( $perl_code );
 
 =head1 DESCRIPTION
 
@@ -149,6 +132,19 @@
 It will trim the following pragamata: C<strict>, C<warnings>, and C<lib>.
 C<base> is trimmed unless a specific version is required.  C<parent> is kept,
 since it's only recently become a core library.
+
+=head2 Scanner Plugins
+
+Perl::PrereqScanner works by running a series of scanners over a PPI::Document
+representing the code to scan.  By default the "Perl5" and "Moose" scanners
+are run.  You can supply your own scanners when constructing your
+PrereqScanner:
+
+  # Do not use the Moose scanner, only Perl5:
+  my $scanner = Perl::PrereqScanner->new({ plugins => [ qw(Perl5) ] });
+
+  # Use any stock plugins, plus Example:
+  my $scanner = Perl::PrereqScanner->new({ extra_plugins => [ qw(Example) ] });
 
 =head1 METHODS
 

Added: branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner.pm?rev=57553&op=file
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner.pm (added)
+++ branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner.pm Thu May  6 03:30:18 2010
@@ -1,0 +1,62 @@
+package Perl::PrereqScanner::Scanner;
+BEGIN {
+  $Perl::PrereqScanner::Scanner::VERSION = '0.101250';
+}
+use Moose::Role;
+# ABSTRACT: something that scans for prereqs in a Perl document
+
+
+requires 'scan_for_prereqs';
+
+# DO NOT RELY ON THIS EXISTING OUTSIDE OF CORE!
+# THIS MIGHT GO AWAY WITHOUT NOTICE!
+# -- rjbs, 2010-04-06
+sub _q_contents {
+  my ($self, $token) = @_;
+  my @contents = $token->isa('PPI::Token::QuoteLike::Words')
+    ? ( $token->literal )
+    : ( $token->string  );
+
+  return @contents;
+}
+
+1;
+
+__END__
+=pod
+
+=head1 NAME
+
+Perl::PrereqScanner::Scanner - something that scans for prereqs in a Perl document
+
+=head1 VERSION
+
+version 0.101250
+
+=head1 DESCRIPTION
+
+This is a role to be composed into classes that will act as scanners plugged
+into a Perl::PrereqScanner object.
+
+These classes must provide a C<scan_for_prereqs> method, which will be called
+like this:
+
+  $scanner->scan_for_prereqs($ppi_doc, $version_requirements);
+
+The scanner should alter alter the L<Version::Requirements> object to reflect
+its findings about the PPI document.
+
+=head1 AUTHORS
+
+  Jerome Quelin
+  Ricardo Signes <rjbs at cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2009 by Jerome Quelin.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+

Added: branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Moose.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Moose.pm?rev=57553&op=file
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Moose.pm (added)
+++ branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Moose.pm Thu May  6 03:30:18 2010
@@ -1,0 +1,67 @@
+package Perl::PrereqScanner::Scanner::Moose;
+BEGIN {
+  $Perl::PrereqScanner::Scanner::Moose::VERSION = '0.101250';
+}
+use Moose;
+with 'Perl::PrereqScanner::Scanner';
+# ABSTRACT: scan for Moose sugar indicators of required modules
+
+
+sub scan_for_prereqs {
+  my ($self, $ppi_doc, $req) = @_;
+
+  # Moose-based roles / inheritance
+  my @bases =
+    map  { $self->_q_contents( $_ ) }
+    grep { $_->isa('PPI::Token::Quote') || $_->isa('PPI::Token::QuoteLike') }
+    map  { $_->children }
+    grep { $_->child(0)->literal =~ m{\Awith|extends\z} }
+    grep { $_->child(0)->isa('PPI::Token::Word') }
+    @{ $ppi_doc->find('PPI::Statement') || [] };
+
+  $req->add_minimum($_ => 0) for @bases;
+}
+
+1;
+
+__END__
+=pod
+
+=head1 NAME
+
+Perl::PrereqScanner::Scanner::Moose - scan for Moose sugar indicators of required modules
+
+=head1 VERSION
+
+version 0.101250
+
+=head1 DESCRIPTION
+
+This scanner will look for the following indicators:
+
+=over 4
+
+=item *
+
+L<Moose> inheritance declared with the C<extends> keyword
+
+=item *
+
+L<Moose> roles included with the C<with> keyword
+
+=back
+
+=head1 AUTHORS
+
+  Jerome Quelin
+  Ricardo Signes <rjbs at cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2009 by Jerome Quelin.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+

Added: branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Perl5.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Perl5.pm?rev=57553&op=file
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Perl5.pm (added)
+++ branches/upstream/libperl-prereqscanner-perl/current/lib/Perl/PrereqScanner/Scanner/Perl5.pm Thu May  6 03:30:18 2010
@@ -1,0 +1,90 @@
+package Perl::PrereqScanner::Scanner::Perl5;
+BEGIN {
+  $Perl::PrereqScanner::Scanner::Perl5::VERSION = '0.101250';
+}
+use Moose;
+with 'Perl::PrereqScanner::Scanner';
+# ABSTRACT: scan for core Perl 5 language indicators of required modules
+
+
+sub scan_for_prereqs {
+  my ($self, $ppi_doc, $req) = @_;
+
+  # regular use and require
+  my $includes = $ppi_doc->find('Statement::Include') || [];
+  for my $node ( @$includes ) {
+    # minimum perl version
+    if ( $node->version ) {
+      $req->add_minimum(perl => $node->version);
+      next;
+    }
+
+    # skipping pragmata
+    next if grep { $_ eq $node->module } qw{ strict warnings lib feature };
+
+    # inheritance
+    if (grep { $_ eq $node->module } qw{ base parent }) {
+      # rt#55713: skip arguments to base or parent, focus only on inheritance
+      my @meat = grep {
+           $_->isa('PPI::Token::QuoteLike::Words')
+        || $_->isa('PPI::Token::Quote')
+        } $node->arguments;
+
+      my @parents = map { $self->_q_contents($_) } @meat;
+      $req->add_minimum($_ => 0) for @parents;
+    }
+
+    # regular modules
+    my $version = $node->module_version ? $node->module_version->content : 0;
+
+    # base has been core since perl 5.0
+    next if $node->module eq 'base' and not $version;
+
+    # rt#55851: 'require $foo;' shouldn't add any prereq
+    $req->add_minimum($node->module, $version) if $node->module;
+  }
+}
+
+1;
+
+__END__
+=pod
+
+=head1 NAME
+
+Perl::PrereqScanner::Scanner::Perl5 - scan for core Perl 5 language indicators of required modules
+
+=head1 VERSION
+
+version 0.101250
+
+=head1 DESCRIPTION
+
+This scanner will look for the following indicators:
+
+=over 4
+
+=item *
+
+plain lines beginning with C<use> or C<require> in your perl modules and scripts, including minimum perl version
+
+=item *
+
+regular inheritance declared with the C<base> and C<parent> pragmata
+
+=back
+
+=head1 AUTHORS
+
+  Jerome Quelin
+  Ricardo Signes <rjbs at cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2009 by Jerome Quelin.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+

Modified: branches/upstream/libperl-prereqscanner-perl/current/t/release-pod-syntax.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-prereqscanner-perl/current/t/release-pod-syntax.t?rev=57553&op=diff
==============================================================================
--- branches/upstream/libperl-prereqscanner-perl/current/t/release-pod-syntax.t (original)
+++ branches/upstream/libperl-prereqscanner-perl/current/t/release-pod-syntax.t Thu May  6 03:30:18 2010
@@ -9,7 +9,7 @@
 
 use Test::More;
 
-eval "use Test::Pod 1.00";
-plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+eval "use Test::Pod 1.41";
+plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
 
 all_pod_files_ok();




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