X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FScriptRunner.pm;h=b9a60f860f96c92d8595893564249a7b71184f67;hp=1b52e1337b0f47d2b181bf148c1160d67d247859;hb=HEAD;hpb=0607947fb5fe1e9da141f2392c98cf3d6f40ef8b diff --git a/lib/Catalyst/ScriptRunner.pm b/lib/Catalyst/ScriptRunner.pm index 1b52e13..b9a60f8 100644 --- a/lib/Catalyst/ScriptRunner.pm +++ b/lib/Catalyst/ScriptRunner.pm @@ -5,8 +5,8 @@ use lib; use File::Spec; use Class::Load qw/ load_first_existing_class load_optional_class /; use Catalyst::Utils; -use namespace::autoclean -also => 'subclass_with_traits'; use Try::Tiny; +use namespace::clean -except => [ 'meta' ]; sub find_script_class { my ($self, $app, $script) = @_; @@ -19,6 +19,7 @@ sub find_script_traits { return grep { load_optional_class($_) } @try; } +no namespace::clean; sub subclass_with_traits { my ($base, @traits) = @_; @@ -31,12 +32,13 @@ sub subclass_with_traits { return $meta->name; } +use namespace::clean; sub run { my ($self, $appclass, $scriptclass) = @_; - if (my $home = Catalyst::Utils::home($appclass)) { - lib->import(File::Spec->catdir($home, 'lib')); + if (grep { -f File::Spec->catfile($FindBin::Bin, '..', $_) } Catalyst::Utils::dist_indicator_file_list()) { + lib->import(File::Spec->catdir($FindBin::Bin, '..', 'lib')); } my $class = $self->find_script_class($appclass, $scriptclass);