working remote module loading
[scpubgit/Tak.git] / takd
diff --git a/takd b/takd
index 4dea863..e29e164 100644 (file)
--- a/takd
+++ b/takd
@@ -2,11 +2,16 @@ use strictures 1;
 use Tak::JSONChannel;
 use Tak::ServiceManager;
 use Tak::EvalService;
+use Tak::ModuleLoader;
 use Tak::Router;
+use Tak::Remote;
+
+open my $stdin, '<&', \*STDIN;
+open my $stdout, '>&', \*STDOUT;
 
 my $channel = Tak::JSONChannel->new(
-  read_fh => \*STDIN,
-  write_fh => \*STDOUT
+  read_fh => $stdin,
+  write_fh => $stdout,
 );
 
 my $eval = Tak::ServiceManager->new(
@@ -20,4 +25,18 @@ my $router = Tak::Router->new(
   }
 );
 
+my $remote = Tak::Remote->new(
+  router => $router,
+  name => 'MODULE_SENDER'
+);
+
+my $loader = Tak::ModuleLoader->new(
+  remote => $remote
+);
+
+shift @INC;
+shift @INC while $INC[0] =~ /^\Q$ENV{HOME}/;
+
+unshift @INC, $loader->inc_callback;
+
 $router->run;