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