X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=lib%2FObject%2FRemote%2FModuleSender.pm;h=ae1f72ca6d3864fb5ae12a6d53242767aaa3cc2d;hp=6fe0927e58ab5f46c0c0a8f5329b3831f0d281a7;hb=4a9fa1a5a329754549f998536e0e68f19d42d7ab;hpb=f7ea4120db80a6feb33053e6bcb0f983b71f7394 diff --git a/lib/Object/Remote/ModuleSender.pm b/lib/Object/Remote/ModuleSender.pm index 6fe0927..ae1f72c 100644 --- a/lib/Object/Remote/ModuleSender.pm +++ b/lib/Object/Remote/ModuleSender.pm @@ -1,5 +1,6 @@ package Object::Remote::ModuleSender; +use Object::Remote::Logging qw( :log :dlog ); use Config; use File::Spec; use List::Util qw(first); @@ -11,22 +12,25 @@ sub _build_dir_list { my %core = map +($_ => 1), grep $_, @Config{ qw(privlibexp archlibexp vendorarchexp sitearchexp) }; - [ grep !$core{$_}, @INC ]; + DlogS_trace { "dir list built in ModuleSender: $_" } [ grep !$core{$_}, @INC ]; } sub source_for { my ($self, $module) = @_; + log_debug { "locating source for module '$module'" }; if (my $find = Object::Remote::FromData->can('find_module')) { if (my $source = $find->($module)) { - return $source; + return Dlog_trace { "Object::Remote::FromData->find_module('$module') returned '$_'" } $source; } } + log_trace { "Searching for module in library directories" }; my ($found) = first { -f $_ } map File::Spec->catfile($_, $module), @{$self->dir_list}; die "Couldn't find ${module} in remote \@INC. dir_list contains:\n" .join("\n", @{$self->dir_list}) unless $found; + log_debug { "found '$module' at '$found'" }; open my $fh, '<', $found or die "Couldn't open ${found} for ${module}: $!"; return do { local $/; <$fh> }; }