r35998 - in /branches/upstream/libmodule-extract-use-perl/current: Changes MANIFEST META.yml Makefile.PL examples/extract_modules examples/placeholder.pl lib/Use.pm
jawnsy-guest at users.alioth.debian.org
jawnsy-guest at users.alioth.debian.org
Wed May 20 22:32:38 UTC 2009
Author: jawnsy-guest
Date: Wed May 20 22:32:32 2009
New Revision: 35998
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=35998
Log:
[svn-upgrade] Integrating new upstream version, libmodule-extract-use-perl (0.14)
Added:
branches/upstream/libmodule-extract-use-perl/current/examples/extract_modules
Removed:
branches/upstream/libmodule-extract-use-perl/current/examples/placeholder.pl
Modified:
branches/upstream/libmodule-extract-use-perl/current/Changes
branches/upstream/libmodule-extract-use-perl/current/MANIFEST
branches/upstream/libmodule-extract-use-perl/current/META.yml
branches/upstream/libmodule-extract-use-perl/current/Makefile.PL
branches/upstream/libmodule-extract-use-perl/current/lib/Use.pm
Modified: branches/upstream/libmodule-extract-use-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmodule-extract-use-perl/current/Changes?rev=35998&op=diff
==============================================================================
--- branches/upstream/libmodule-extract-use-perl/current/Changes (original)
+++ branches/upstream/libmodule-extract-use-perl/current/Changes Wed May 20 22:32:32 2009
@@ -1,4 +1,8 @@
# Changes for Module::Extract::Use
+
+0.14 - Wed May 20 07:07:56 2009
+ * Adjust PPI bits to look for 'require' bits too
+ * Add extract_modules example from Jonathan Yu
0.13 - Wed Oct 29 14:15:51 2008
* Only return unique elements, so remove the duplicates
Modified: branches/upstream/libmodule-extract-use-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmodule-extract-use-perl/current/MANIFEST?rev=35998&op=diff
==============================================================================
--- branches/upstream/libmodule-extract-use-perl/current/MANIFEST (original)
+++ branches/upstream/libmodule-extract-use-perl/current/MANIFEST Wed May 20 22:32:32 2009
@@ -1,6 +1,6 @@
Changes
corpus/Repeated.pm
-examples/placeholder.pl
+examples/extract_modules
lib/Use.pm
LICENSE
Makefile.PL
Modified: branches/upstream/libmodule-extract-use-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmodule-extract-use-perl/current/META.yml?rev=35998&op=diff
==============================================================================
--- branches/upstream/libmodule-extract-use-perl/current/META.yml (original)
+++ branches/upstream/libmodule-extract-use-perl/current/META.yml Wed May 20 22:32:32 2009
@@ -1,12 +1,14 @@
--- #YAML:1.0
name: Module-Extract-Use
-version: 0.13
+version: 0.14
abstract: Extract the modules that a modules uses
author:
- brian d foy <bdfoy at cpan.org>
license: perl
distribution_type: module
configure_requires:
+ ExtUtils::MakeMaker: 0
+build_requires:
ExtUtils::MakeMaker: 0
requires:
PPI: 0
@@ -16,7 +18,7 @@
directory:
- t
- inc
-generated_by: ExtUtils::MakeMaker version 6.48
+generated_by: ExtUtils::MakeMaker version 6.50
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
Modified: branches/upstream/libmodule-extract-use-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmodule-extract-use-perl/current/Makefile.PL?rev=35998&op=diff
==============================================================================
--- branches/upstream/libmodule-extract-use-perl/current/Makefile.PL (original)
+++ branches/upstream/libmodule-extract-use-perl/current/Makefile.PL Wed May 20 22:32:32 2009
@@ -3,7 +3,7 @@
require 5.006;
-eval "use Test::Manifest 1.14";
+eval "use Test::Manifest 1.21";
WriteMakefile(
'NAME' => 'Module::Extract::Use',
@@ -22,10 +22,6 @@
'lib/Use.pm' => '$(INST_LIBDIR)/Use.pm',
},
- 'MAN3PODS' => {
- 'lib/Use.pm' => '$(INST_MAN3DIR)/Module::Extract::Use.3',
- },
-
clean => { FILES => q|Module-Extract-Use-*| },
);
Added: branches/upstream/libmodule-extract-use-perl/current/examples/extract_modules
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmodule-extract-use-perl/current/examples/extract_modules?rev=35998&op=file
==============================================================================
--- branches/upstream/libmodule-extract-use-perl/current/examples/extract_modules (added)
+++ branches/upstream/libmodule-extract-use-perl/current/examples/extract_modules Wed May 20 22:32:32 2009
@@ -1,0 +1,121 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Pod::Usage;
+
+=head1 NAME
+
+extract_modules - determine which Perl modules a given file uses
+
+=head1 VERSION
+
+Version 1.10
+
+=cut
+
+our $VERSION = '1.10';
+
+=head1 SYNOPSIS
+
+Use: extract_modules filename [...]
+
+Given Perl files, extract and report the Perl modules included
+with C<use> or C<require>.
+
+=head1 DESCRIPTION
+
+This script does not execute the code in the files it examines. It
+uses the C<Module::Extract::Use> or C<Module::ExtractUse> modules
+which statically analyze the source without compiling or running it.
+These modules cannot discover modules loaded dynamically through a a
+string eval.
+
+=cut
+
+# if no parameters are passed, give usage information
+unless( @ARGV )
+ {
+ pod2usage( msg => 'Please supply at least one filename to analyze' );
+ exit;
+ }
+
+my( $object, $method );
+my @classes = qw( Module::Extract::Use Module::ExtractUse );
+my %methods = qw(
+ Module::Extract::Use get_modules
+ Module::ExtractUse extract_use
+ );
+
+foreach my $module ( @classes )
+ {
+ eval "require $module";
+ next if $@;
+ ( $object, $method ) = ( $module->new, $methods{$module} );
+ }
+
+die "No usable file scanner module found; exiting...\n" unless defined $object;
+
+
+foreach my $file ( @ARGV )
+ {
+ unless ( -r $file )
+ {
+ printf STDERR "Could not read $file\n";
+ next;
+ }
+
+ dump_list( $file, sort $object->$method( $file ) );
+ }
+
+
+BEGIN {
+my $corelist = eval { require Module::CoreList };
+
+sub dump_list
+ {
+ my( $file, @modules ) = @_;
+
+ printf "Modules required by %s:\n", $file;
+
+ my( $core, $extern ) = ( 0, 0 );
+
+ foreach my $module ( @modules )
+ {
+ printf " - $module%s\n",
+ $corelist
+ ?
+ do {
+ my $v = Module::CoreList->first_release( $module );
+ $core++ if $v;
+ $v ? " (first released with Perl $v)" : '';
+ }
+ :
+ do { $extern++; '' }
+ }
+
+ printf "%d module(s) in core, %d external module(s)\n\n", $core, $extern;
+ }
+
+}
+
+=head1 AUTHORS
+
+Jonathan Yu C<< <frequency at cpan.org> >>
+
+brian d foy C<< <bdfoy at cpan.org> >>
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009 by Jonathan Yu <frequency at cpan.org>
+
+You can use this script under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<Module::Extract::Use>,
+L<Module::ExtractUse>,
+L<Module::ScanDeps>,
+
+=cut
Modified: branches/upstream/libmodule-extract-use-perl/current/lib/Use.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmodule-extract-use-perl/current/lib/Use.pm?rev=35998&op=diff
==============================================================================
--- branches/upstream/libmodule-extract-use-perl/current/lib/Use.pm (original)
+++ branches/upstream/libmodule-extract-use-perl/current/lib/Use.pm Wed May 20 22:32:32 2009
@@ -8,7 +8,7 @@
use subs qw();
use vars qw($VERSION);
-$VERSION = '0.13';
+$VERSION = '0.14';
=head1 NAME
@@ -96,7 +96,8 @@
my $modules = $Document->find(
sub {
- $_[1]->isa( 'PPI::Statement::Include' ) && $_[1]->type eq 'use'
+ $_[1]->isa( 'PPI::Statement::Include' ) &&
+ ( $_[1]->type eq 'use' || $_[1]->type eq 'require' )
}
);
More information about the Pkg-perl-cvs-commits
mailing list