From: Matt S Trout Date: Thu, 25 May 2006 17:01:41 +0000 (+0000) Subject: removed UNIVERSAL::require from core X-Git-Tag: 5.7099_04~566 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=1e514a515b9b9a740962392fb280cdb11737ff02 removed UNIVERSAL::require from core --- diff --git a/Changes b/Changes index 08816f6..395e539 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,6 @@ This file documents the revision history for Perl extension Catalyst. + - Removed dependency on UNIVERSAL::require - Split out Catalyst::Helper into a new distribution - un-bundled the plugins as they are now pre-reqs for Catalyst::Helper - nuked each() out of core with prejudice (due to lurking buglets) diff --git a/Makefile.PL b/Makefile.PL index 3c18118..7b9a439 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -6,7 +6,6 @@ name 'Catalyst'; all_from 'lib/Catalyst.pm'; requires 'perl' => '5.8.1'; -requires 'UNIVERSAL::require' => "0.10"; requires 'Carp'; requires 'Class::Accessor::Fast'; requires 'Class::Data::Inheritable'; @@ -15,23 +14,23 @@ requires 'CGI::Cookie'; requires 'Data::Dump'; requires 'File::Modified'; requires 'HTML::Entities'; -requires 'HTTP::Body' => 0.5; -requires 'HTTP::Headers' => 1.64; +requires 'HTTP::Body' => '0.5'; +requires 'HTTP::Headers' => '1.64'; requires 'HTTP::Request'; requires 'HTTP::Response'; requires 'HTTP::Request::AsCGI' => '0.5'; requires 'LWP::UserAgent'; requires 'Module::Pluggable::Fast' => 0.16; requires 'NEXT'; -requires 'Path::Class' => 0.09; +requires 'Path::Class' => '0.09'; requires 'Scalar::Util'; -requires 'Text::SimpleTable' => 0.03; +requires 'Text::SimpleTable' => '0.03'; requires 'Test::MockObject'; -requires 'Test::NoWarnings' => 0.082; +requires 'Test::NoWarnings' => '0.082'; requires 'Time::HiRes'; -requires 'Tree::Simple' => 1.15; +requires 'Tree::Simple' => '1.15'; requires 'Tree::Simple::Visitor::FindByPath'; -requires 'URI' => 1.35; +requires 'URI' => '1.35'; feature 'Apache/mod_perl Support', -default => 0, diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 99a8767..8359312 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -3,7 +3,6 @@ package Catalyst; use strict; use base 'Catalyst::Component'; use bytes; -use UNIVERSAL::require; use Catalyst::Exception; use Catalyst::Log; use Catalyst::Request; @@ -1873,11 +1872,8 @@ sub setup_dispatcher { $dispatcher = $class->dispatcher_class; } - $dispatcher->require; - - if ($@) { - Catalyst::Exception->throw( - message => qq/Couldn't load dispatcher "$dispatcher", "$@"/ ); + unless (Class::Inspector->loaded($dispatcher)) { + require Class::Inspector->filename($dispatcher); } # dispatcher instance @@ -1968,12 +1964,8 @@ sub setup_engine { $engine = $class->engine_class; } - $engine->require; - - if ($@) { - Catalyst::Exception->throw( message => -qq/Couldn't load engine "$engine" (maybe you forgot to install it?), "$@"/ - ); + unless (Class::Inspector->loaded($engine)) { + require Class::Inspector->filename($engine); } # check for old engines that are no longer compatible @@ -2101,12 +2093,8 @@ the plugin name does not begin with C. my ( $proto, $plugin, $instant ) = @_; my $class = ref $proto || $proto; - $plugin->require; - - if ( my $error = $@ ) { - my $type = $instant ? "instant " : ''; - Catalyst::Exception->throw( - message => qq/Couldn't load ${type}plugin "$plugin", $error/ ); + unless (Class::Inspector->loaded($plugin)) { + require Class::Inspector->filename($plugin); } $proto->_plugins->{$plugin} = 1; diff --git a/lib/Catalyst/Base.pm b/lib/Catalyst/Base.pm index eb1adeb..c4a6dc7 100644 --- a/lib/Catalyst/Base.pm +++ b/lib/Catalyst/Base.pm @@ -158,8 +158,7 @@ sub create_action { : $self->_action_class); unless ( Class::Inspector->loaded($class) ) { - $class->require; - die "Couldn't load action class ${class}: $@" if $@; + require Class::Inspector->filename($class); } return $class->new( \%args ); diff --git a/lib/Catalyst/Exception.pm b/lib/Catalyst/Exception.pm index fc43cd8..ee85e1e 100644 --- a/lib/Catalyst/Exception.pm +++ b/lib/Catalyst/Exception.pm @@ -2,7 +2,6 @@ package Catalyst::Exception; use strict; use vars qw[@ISA $CATALYST_EXCEPTION_CLASS]; -use UNIVERSAL::require; BEGIN { push( @ISA, $CATALYST_EXCEPTION_CLASS || 'Catalyst::Exception::Base' ); diff --git a/lib/Catalyst/Test.pm b/lib/Catalyst/Test.pm index 349e80a..b46742d 100644 --- a/lib/Catalyst/Test.pm +++ b/lib/Catalyst/Test.pm @@ -6,7 +6,6 @@ use warnings; use Catalyst::Exception; use Catalyst::Utils; use Class::Inspector; -use UNIVERSAL::require; =head1 NAME @@ -77,8 +76,7 @@ sub import { else { unless( Class::Inspector->loaded( $class ) ) { - $class->require; - die $@ if $@; + require Class::Inspector->filename( $class ); } $class->import;