r37887 - in /branches/upstream/libclass-c3-adopt-next-perl/current: ./ inc/Module/ inc/Module/Install/ lib/Class/C3/Adopt/

nhandler-guest at users.alioth.debian.org nhandler-guest at users.alioth.debian.org
Tue Jun 9 00:18:41 UTC 2009


Author: nhandler-guest
Date: Tue Jun  9 00:17:28 2009
New Revision: 37887

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=37887
Log:
[svn-upgrade] Integrating new upstream version, libclass-c3-adopt-next-perl (0.12)

Added:
    branches/upstream/libclass-c3-adopt-next-perl/current/README
Modified:
    branches/upstream/libclass-c3-adopt-next-perl/current/Changes
    branches/upstream/libclass-c3-adopt-next-perl/current/MANIFEST
    branches/upstream/libclass-c3-adopt-next-perl/current/META.yml
    branches/upstream/libclass-c3-adopt-next-perl/current/Makefile.PL
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Base.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Can.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Fetch.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Makefile.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Metadata.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Win32.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/WriteAll.pm
    branches/upstream/libclass-c3-adopt-next-perl/current/lib/Class/C3/Adopt/NEXT.pm

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/Changes?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/Changes (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/Changes Tue Jun  9 00:17:28 2009
@@ -1,3 +1,7 @@
+0.12  Mon, 08 Jun 2009 14:16:34 +0200
+  * Update copyright notice.
+  * A couple of pod whitespace changes.
+
 0.11  Tue, 19 May 2009 18:34:17 +0100
   * Change wording of warning to be more clear.
 

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/MANIFEST?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/MANIFEST (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/MANIFEST Tue Jun  9 00:17:28 2009
@@ -12,6 +12,7 @@
 Makefile.PL
 MANIFEST			This list of files
 META.yml
+README
 t/basic.t
 t/disable.t
 t/disable_regex.t

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/META.yml?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/META.yml (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/META.yml Tue Jun  9 00:17:28 2009
@@ -8,7 +8,7 @@
 configure_requires:
   ExtUtils::MakeMaker: 6.42
 distribution_type: module
-generated_by: 'Module::Install version 0.87'
+generated_by: 'Module::Install version 0.91'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -24,5 +24,7 @@
   MRO::Compat: 0
   NEXT: 0
 resources:
+  bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Class-C3-Adopt-NEXT
   license: http://dev.perl.org/licenses/
-version: 0.11
+  repository: git://github.com/rafl/class-c3-adopt-next.git
+version: 0.12

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/Makefile.PL?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/Makefile.PL (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/Makefile.PL Tue Jun  9 00:17:28 2009
@@ -11,6 +11,9 @@
 
 test_requires 'Test::Exception' => '0.27';
 
+repository 'git://github.com/rafl/class-c3-adopt-next.git';
+bugtracker 'http://rt.cpan.org/Public/Dist/Display.html?Name=Class-C3-Adopt-NEXT';
+
 extra_tests;
 
 postamble(<<"EOM");

Added: branches/upstream/libclass-c3-adopt-next-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/README?rev=37887&op=file
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/README (added)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/README Tue Jun  9 00:17:28 2009
@@ -1,0 +1,146 @@
+NAME
+    Class::C3::Adopt::NEXT - make NEXT suck less
+
+SYNOPSIS
+        package MyApp::Plugin::FooBar;
+        #use NEXT;
+        use Class::C3::Adopt::NEXT;
+        # or 'use Class::C3::Adopt::NEXT -no_warn;' to suppress warnings
+
+        # Or use warnings::register
+        # no warnings 'Class::C3::Adopt::NEXT';
+
+        # Or suppress warnings in a set of modules from one place
+        # no Class::C3::Adopt::NEXT qw/ Module1 Module2 Module3 /;
+        # Or suppress using a regex
+        # no Class::C3::Adopt::NEXT qr/^Module\d$/;
+
+        sub a_method {
+            my ($self) = @_;
+            # Do some stuff
+
+            # Re-dispatch method
+            # Note that this will generate a warning the _first_ time the package
+            # uses NEXT unless you un comment the 'no warnings' line above.
+            $self->NEXT::method();
+        }
+
+DESCRIPTION
+    NEXT was a good solution a few years ago, but isn't any more. It's slow,
+    and the order in which it re-dispatches methods appears random at times.
+    It also encourages bad programming practices, as you end up with code to
+    re-dispatch methods when all you really wanted to do was run some code
+    before or after a method fired.
+
+    However, if you have a large application, then weaning yourself off
+    "NEXT" isn't easy.
+
+    This module is intended as a drop-in replacement for NEXT, supporting
+    the same interface, but using Class::C3 to do the hard work. You can
+    then write new code without "NEXT", and migrate individual source files
+    to use "Class::C3" or method modifiers as appropriate, at whatever pace
+    you're comfortable with.
+
+WARNINGS
+    This module will warn once for each package using NEXT. It uses
+    warnings::register, and so can be disabled like by adding "no warnings
+    'Class::C3::Adopt::NEXT';" to each package which generates a warning, or
+    adding "use Class::C3::Adopt::NEXT -no_warn;", or disable multiple
+    modules at once by saying:
+
+        no Class::C3::Adopt::NEXT qw/ Module1 Module2 Module3 /;
+
+    somewhere before the warnings are first triggered. You can also setup
+    entire name spaces of modules which will not warn using a regex, e.g.
+
+        no Class::C3::Adopt::NEXT qr/^Module\d$/;
+
+MIGRATING
+  Current code using NEXT
+    You add "use MRO::Compat" to the top of a package as you start
+    converting it, and gradually replace your calls to "NEXT::method()" with
+    "maybe::next::method()", and calls to "NEXT::ACTUAL::method()" with
+    "next::method()".
+
+    Example:
+
+        sub yourmethod {
+            my $self = shift;
+
+            # $self->NEXT::yourmethod(@_); becomes
+            $self->maybe::next::method();
+        }
+
+        sub othermethod {
+            my $self = shift;
+
+            # $self->NEXT::ACTUAL::yourmethodname(); becomes
+            $self->next::method();
+        }
+
+    On systems with Class::C3::XS present, this will automatically be used
+    to speed up method re-dispatch. If you are running perl version 5.9.5 or
+    greater then the C3 method resolution algorithm is included in perl.
+    Correct use of MRO::Compat as shown above allows your code to be
+    seamlessly forward and backwards compatible, taking advantage of native
+    versions if available, but falling back to using pure perl "Class::C3".
+
+  Writing new code
+    Use Moose and make all of your plugins Moose::Roles, then use method
+    modifiers to wrap methods.
+
+    Example:
+
+        package MyApp::Role::FooBar;
+        use Moose::Role;
+
+        before 'a_method' => sub {
+            my ($self) = @_;
+            # Do some stuff
+        };
+
+        around 'a_method' => sub {
+            my $orig = shift;
+            my $self = shift;
+            # Do some stuff before
+            my $ret = $self->$orig(@_); # Run wrapped method (or not!)
+            # Do some stuff after
+            return $ret;
+        };
+
+        package MyApp;
+        use Moose;
+
+        with 'MyApp::Role::FooBar';
+
+CAVEATS
+    There are some inheritance hierarchies that it is possible to create
+    which cannot be resolved to a simple C3 hierarchy. In that case, this
+    module will fall back to using "NEXT". In this case a warning will be
+    emitted.
+
+    Because calculating the MRO of every class every time "->NEXT::foo" is
+    used from within it is too expensive, runtime manipulations of @ISA are
+    prohibited.
+
+FUNCTIONS
+    This module replaces "NEXT::AUTOLOAD" with it's own version. If warnings
+    are enabled then a warning will be emitted on the first use of "NEXT" by
+    each package.
+
+SEE ALSO
+    MRO::Compat and Class::C3 for method re-dispatch and Moose for method
+    modifiers and roles.
+
+    NEXT for documentation on the functionality you'll be removing.
+
+AUTHORS
+    Florian Ragwitz "rafl at debian.org"
+
+    Tomas Doran "bobtfish at bobtfish.net"
+
+COPYRIGHT AND LICENSE
+    Copyright (c) 2008, 2009 Florian Ragwitz
+
+    You may distribute this code under the same terms as Perl itself.
+

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install.pm Tue Jun  9 00:17:28 2009
@@ -28,7 +28,7 @@
 	# This is not enforced yet, but will be some time in the next few
 	# releases once we can make sure it won't clash with custom
 	# Module::Install extensions.
-	$VERSION = '0.87';
+	$VERSION = '0.91';
 
 	# Storage for the pseudo-singleton
 	$MAIN    = undef;
@@ -353,7 +353,7 @@
 	if ( $] >= 5.006 ) {
 		open( FH, '<', $_[0] ) or die "open($_[0]): $!";
 	} else {
-		open( FH, "< $_[0]"  ) or die "open($_[0]): $!";	
+		open( FH, "< $_[0]"  ) or die "open($_[0]): $!";
 	}
 	my $string = do { local $/; <FH> };
 	close FH or die "close($_[0]): $!";
@@ -384,7 +384,7 @@
 	if ( $] >= 5.006 ) {
 		open( FH, '>', $_[0] ) or die "open($_[0]): $!";
 	} else {
-		open( FH, "> $_[0]"  ) or die "open($_[0]): $!";	
+		open( FH, "> $_[0]"  ) or die "open($_[0]): $!";
 	}
 	foreach ( 1 .. $#_ ) {
 		print FH $_[$_] or die "print($_[0]): $!";

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Base.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Base.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Base.pm Tue Jun  9 00:17:28 2009
@@ -4,7 +4,7 @@
 use strict 'vars';
 use vars qw{$VERSION};
 BEGIN {
-	$VERSION = '0.87';
+	$VERSION = '0.91';
 }
 
 # Suspend handler for "redefined" warnings
@@ -13,42 +13,34 @@
 	$SIG{__WARN__} = sub { $w };
 }
 
-### This is the ONLY module that shouldn't have strict on
-# use strict;
-
-#line 45
+#line 42
 
 sub new {
-	my ($class, %args) = @_;
-
-	foreach my $method ( qw(call load) ) {
-		next if defined &{"$class\::$method"};
-		*{"$class\::$method"} = sub {
-			shift()->_top->$method(@_);
-		};
+	my $class = shift;
+	unless ( defined &{"${class}::call"} ) {
+		*{"${class}::call"} = sub { shift->_top->call(@_) };
 	}
-
-	bless( \%args, $class );
+	unless ( defined &{"${class}::load"} ) {
+		*{"${class}::load"} = sub { shift->_top->load(@_) };
+	}
+	bless { @_ }, $class;
 }
 
-#line 66
+#line 61
 
 sub AUTOLOAD {
-	my $self = shift;
 	local $@;
-	my $autoload = eval {
-		$self->_top->autoload
-	} or return;
-	goto &$autoload;
+	my $func = eval { shift->_top->autoload } or return;
+	goto &$func;
 }
 
-#line 83
+#line 75
 
 sub _top {
 	$_[0]->{_top};
 }
 
-#line 98
+#line 90
 
 sub admin {
 	$_[0]->_top->{admin}
@@ -56,7 +48,7 @@
 	Module::Install::Base::FakeAdmin->new;
 }
 
-#line 114
+#line 106
 
 sub is_admin {
 	$_[0]->admin->VERSION;
@@ -83,4 +75,4 @@
 
 1;
 
-#line 162
+#line 154

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Can.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Can.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Can.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Can.pm Tue Jun  9 00:17:28 2009
@@ -2,16 +2,16 @@
 package Module::Install::Can;
 
 use strict;
-use Module::Install::Base;
-use Config              ();
-use File::Spec          ();
-use ExtUtils::MakeMaker ();
+use Config                ();
+use File::Spec            ();
+use ExtUtils::MakeMaker   ();
+use Module::Install::Base ();
 
-use vars qw{$VERSION $ISCORE @ISA};
+use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.87';
+	$VERSION = '0.91';
+	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
-	@ISA     = qw{Module::Install::Base};
 }
 
 # check if we can load some module

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Fetch.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Fetch.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Fetch.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Fetch.pm Tue Jun  9 00:17:28 2009
@@ -2,13 +2,13 @@
 package Module::Install::Fetch;
 
 use strict;
-use Module::Install::Base;
+use Module::Install::Base ();
 
-use vars qw{$VERSION $ISCORE @ISA};
+use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.87';
+	$VERSION = '0.91';
+	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
-	@ISA     = qw{Module::Install::Base};
 }
 
 sub get_file {

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Makefile.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Makefile.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Makefile.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Makefile.pm Tue Jun  9 00:17:28 2009
@@ -2,14 +2,14 @@
 package Module::Install::Makefile;
 
 use strict 'vars';
-use Module::Install::Base;
-use ExtUtils::MakeMaker ();
-
-use vars qw{$VERSION $ISCORE @ISA};
+use ExtUtils::MakeMaker   ();
+use Module::Install::Base ();
+
+use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.87';
+	$VERSION = '0.91';
+	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
-	@ISA     = qw{Module::Install::Base};
 }
 
 sub Makefile { $_[0] }

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Metadata.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Metadata.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Metadata.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Metadata.pm Tue Jun  9 00:17:28 2009
@@ -2,18 +2,17 @@
 package Module::Install::Metadata;
 
 use strict 'vars';
-use Module::Install::Base;
+use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.87';
-	@ISA     = qw{Module::Install::Base};
+	$VERSION = '0.91';
+	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
 
 my @boolean_keys = qw{
 	sign
-	mymeta
 };
 
 my @scalar_keys = qw{
@@ -440,21 +439,21 @@
 	/ixms ) {
 		my $license_text = $1;
 		my @phrases      = (
-			'under the same (?:terms|license) as perl itself' => 'perl',        1,
-			'GNU general public license'                      => 'gpl',         1,
-			'GNU public license'                              => 'gpl',         1,
-			'GNU lesser general public license'               => 'lgpl',        1,
-			'GNU lesser public license'                       => 'lgpl',        1,
-			'GNU library general public license'              => 'lgpl',        1,
-			'GNU library public license'                      => 'lgpl',        1,
-			'BSD license'                                     => 'bsd',         1,
-			'Artistic license'                                => 'artistic',    1,
-			'GPL'                                             => 'gpl',         1,
-			'LGPL'                                            => 'lgpl',        1,
-			'BSD'                                             => 'bsd',         1,
-			'Artistic'                                        => 'artistic',    1,
-			'MIT'                                             => 'mit',         1,
-			'proprietary'                                     => 'proprietary', 0,
+			'under the same (?:terms|license) as (?:perl|the perl programming language) itself' => 'perl', 1,
+			'GNU general public license'         => 'gpl',         1,
+			'GNU public license'                 => 'gpl',         1,
+			'GNU lesser general public license'  => 'lgpl',        1,
+			'GNU lesser public license'          => 'lgpl',        1,
+			'GNU library general public license' => 'lgpl',        1,
+			'GNU library public license'         => 'lgpl',        1,
+			'BSD license'                        => 'bsd',         1,
+			'Artistic license'                   => 'artistic',    1,
+			'GPL'                                => 'gpl',         1,
+			'LGPL'                               => 'lgpl',        1,
+			'BSD'                                => 'bsd',         1,
+			'Artistic'                           => 'artistic',    1,
+			'MIT'                                => 'mit',         1,
+			'proprietary'                        => 'proprietary', 0,
 		);
 		while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
 			$pattern =~ s{\s+}{\\s+}g;
@@ -506,17 +505,29 @@
 	}
 }
 
+sub test_requires_from {
+	my $self     = shift;
+	my $content  = Module::Install::_readperl($_[0]);
+	my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
+	while ( @requires ) {
+		my $module  = shift @requires;
+		my $version = shift @requires;
+		$self->test_requires( $module => $version );
+	}
+}
+
 # Convert triple-part versions (eg, 5.6.1 or 5.8.9) to
 # numbers (eg, 5.006001 or 5.008009).
 # Also, convert double-part versions (eg, 5.8)
 sub _perl_version {
 	my $v = $_[-1];
-	$v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e;	
+	$v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e;
 	$v =~ s/^([1-9])\.([1-9]\d?\d?)\.(0|[1-9]\d?\d?)$/sprintf("%d.%03d%03d",$1,$2,$3 || 0)/e;
 	$v =~ s/(\.\d\d\d)000$/$1/;
 	$v =~ s/_.+$//;
 	if ( ref($v) ) {
-		$v = $v + 0; # Numify
+		# Numify
+		$v = $v + 0;
 	}
 	return $v;
 }
@@ -526,21 +537,56 @@
 
 
 ######################################################################
-# MYMETA.yml Support
+# MYMETA Support
 
 sub WriteMyMeta {
 	die "WriteMyMeta has been deprecated";
 }
 
-sub write_mymeta {
-	my $self = shift;
-	
-	# If there's no existing META.yml there is nothing we can do
-	return unless -f 'META.yml';
+sub write_mymeta_yaml {
+	my $self = shift;
 
 	# We need YAML::Tiny to write the MYMETA.yml file
 	unless ( eval { require YAML::Tiny; 1; } ) {
 		return 1;
+	}
+
+	# Generate the data
+	my $meta = $self->_write_mymeta_data or return 1;
+
+	# Save as the MYMETA.yml file
+	print "Writing MYMETA.yml\n";
+	YAML::Tiny::DumpFile('MYMETA.yml', $meta);
+}
+
+sub write_mymeta_json {
+	my $self = shift;
+
+	# We need JSON to write the MYMETA.json file
+	unless ( eval { require JSON; 1; } ) {
+		return 1;
+	}
+
+	# Generate the data
+	my $meta = $self->_write_mymeta_data or return 1;
+
+	# Save as the MYMETA.yml file
+	print "Writing MYMETA.json\n";
+	Module::Install::_write(
+		'MYMETA.json',
+		JSON->new->pretty(1)->canonical->encode($meta),
+	);
+}
+
+sub _write_mymeta_data {
+	my $self = shift;
+
+	# If there's no existing META.yml there is nothing we can do
+	return undef unless -f 'META.yml';
+
+	# We need Parse::CPAN::Meta to load the file
+	unless ( eval { require Parse::CPAN::Meta; 1; } ) {
+		return undef;
 	}
 
 	# Merge the perl version into the dependencies
@@ -558,7 +604,7 @@
 	}
 
 	# Load the advisory META.yml file
-	my @yaml = YAML::Tiny::LoadFile('META.yml');
+	my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
 	my $meta = $yaml[0];
 
 	# Overwrite the non-configure dependency hashs
@@ -572,9 +618,7 @@
 		$meta->{build_requires} = { map { @$_ } @{ $val->{build_requires} } };
 	}
 
-	# Save as the MYMETA.yml file
-	print "Writing MYMETA.yml\n";
-	YAML::Tiny::DumpFile('MYMETA.yml', $meta);	
+	return $meta;
 }
 
 1;

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Win32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Win32.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Win32.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/Win32.pm Tue Jun  9 00:17:28 2009
@@ -2,12 +2,12 @@
 package Module::Install::Win32;
 
 use strict;
-use Module::Install::Base;
+use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.87';
-	@ISA     = qw{Module::Install::Base};
+	$VERSION = '0.91';
+	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
 

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/WriteAll.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/WriteAll.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/WriteAll.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/inc/Module/Install/WriteAll.pm Tue Jun  9 00:17:28 2009
@@ -2,11 +2,11 @@
 package Module::Install::WriteAll;
 
 use strict;
-use Module::Install::Base;
+use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.87';
+	$VERSION = '0.91';;
 	@ISA     = qw{Module::Install::Base};
 	$ISCORE  = 1;
 }
@@ -41,8 +41,18 @@
 
 	# The Makefile write process adds a couple of dependencies,
 	# so write the META.yml files after the Makefile.
-	$self->Meta->write        if $args{meta};
-	$self->Meta->write_mymeta if $self->mymeta;
+	if ( $args{meta} ) {
+		$self->Meta->write;
+	}
+
+	# Experimental support for MYMETA
+	if ( $ENV{X_MYMETA} ) {
+		if ( $ENV{X_MYMETA} eq 'JSON' ) {
+			$self->Meta->write_mymeta_json;
+		} else {
+			$self->Meta->write_mymeta_yaml;
+		}
+	}
 
 	return 1;
 }

Modified: branches/upstream/libclass-c3-adopt-next-perl/current/lib/Class/C3/Adopt/NEXT.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-c3-adopt-next-perl/current/lib/Class/C3/Adopt/NEXT.pm?rev=37887&op=diff
==============================================================================
--- branches/upstream/libclass-c3-adopt-next-perl/current/lib/Class/C3/Adopt/NEXT.pm (original)
+++ branches/upstream/libclass-c3-adopt-next-perl/current/lib/Class/C3/Adopt/NEXT.pm Tue Jun  9 00:17:28 2009
@@ -8,7 +8,7 @@
 use List::MoreUtils qw/none/;
 use warnings::register;
 
-our $VERSION = '0.11';
+our $VERSION = '0.12';
 
 {
     my %c3_mro_ok;
@@ -115,27 +115,27 @@
 
 =head1 DESCRIPTION
 
-L<NEXT> was a good solution a few
-years ago, but isn't any more.  It's slow, and the order in which it
-re-dispatches methods appears random at times. It also encourages bad
-programming practices, as you end up with code to re-dispatch methods when all
-you really wanted to do was run some code before or after a method fired.
-
-However, if you have a large application, then weaning yourself off C<NEXT> isn't
-easy.
+L<NEXT> was a good solution a few years ago, but isn't any more.  It's slow,
+and the order in which it re-dispatches methods appears random at times. It
+also encourages bad programming practices, as you end up with code to
+re-dispatch methods when all you really wanted to do was run some code before
+or after a method fired.
+
+However, if you have a large application, then weaning yourself off C<NEXT>
+isn't easy.
 
 This module is intended as a drop-in replacement for NEXT, supporting the same
 interface, but using L<Class::C3> to do the hard work. You can then write new
-code without C<NEXT>, and migrate individual source files to use C<Class::C3> or
-method modifiers as appropriate, at whatever pace you're comfortable with.
+code without C<NEXT>, and migrate individual source files to use C<Class::C3>
+or method modifiers as appropriate, at whatever pace you're comfortable with.
 
 =head1 WARNINGS
 
 This module will warn once for each package using NEXT. It uses
 L<warnings::register>, and so can be disabled like by adding C<no warnings
-'Class::C3::Adopt::NEXT';> to each package which generates a warning, or
-adding C<use Class::C3::Adopt::NEXT -no_warn;>, or disable multiple modules at
-once by saying:
+'Class::C3::Adopt::NEXT';> to each package which generates a warning, or adding
+C<use Class::C3::Adopt::NEXT -no_warn;>, or disable multiple modules at once by
+saying:
 
     no Class::C3::Adopt::NEXT qw/ Module1 Module2 Module3 /;
 
@@ -157,7 +157,7 @@
 
     sub yourmethod {
         my $self = shift;
-        
+
         # $self->NEXT::yourmethod(@_); becomes
         $self->maybe::next::method();
     }
@@ -171,10 +171,10 @@
 
 On systems with L<Class::C3::XS> present, this will automatically be used to
 speed up method re-dispatch. If you are running perl version 5.9.5 or greater
-then the C3 method resolution algorithm is included in perl. Correct use
-of L<MRO::Compat> as shown above allows your code to be seamlessly forward
-and backwards compatible, taking advantage of native versions if available,
-but falling back to using pure perl C<Class::C3>.
+then the C3 method resolution algorithm is included in perl. Correct use of
+L<MRO::Compat> as shown above allows your code to be seamlessly forward and
+backwards compatible, taking advantage of native versions if available, but
+falling back to using pure perl C<Class::C3>.
 
 =head2 Writing new code
 
@@ -211,20 +211,20 @@
 cannot be resolved to a simple C3 hierarchy. In that case, this module will
 fall back to using C<NEXT>. In this case a warning will be emitted.
 
-Because calculating the MRO of every class every time C<< ->NEXT::foo >> is used
-from within it is too expensive, runtime manipulations of C<@ISA> are
+Because calculating the MRO of every class every time C<< ->NEXT::foo >> is
+used from within it is too expensive, runtime manipulations of C<@ISA> are
 prohibited.
 
 =head1 FUNCTIONS
 
-This module replaces C<NEXT::AUTOLOAD> with it's own version. If warnings
-are enabled then a warning will be emitted on the first use of C<NEXT> by
-each package.
+This module replaces C<NEXT::AUTOLOAD> with it's own version. If warnings are
+enabled then a warning will be emitted on the first use of C<NEXT> by each
+package.
 
 =head1 SEE ALSO
 
-L<MRO::Compat> and L<Class::C3> for method re-dispatch and L<Moose> for
-method modifiers and L<roles|Moose::Role>.
+L<MRO::Compat> and L<Class::C3> for method re-dispatch and L<Moose> for method
+modifiers and L<roles|Moose::Role>.
 
 L<NEXT> for documentation on the functionality you'll be removing.
 
@@ -236,7 +236,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2008  Florian Ragwitz
+Copyright (c) 2008, 2009  Florian Ragwitz
 
 You may distribute this code under the same terms as Perl itself.
 




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