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