예제 #1
0
 public Launcher(Server server, StartTask task)
 {
     Task              = task;
     Task.SourcePath   = SourcePath?.TrimEnd('/', '\\');
     Server.RemotePath = RemotePath?.TrimEnd('/', '\\');
     Server            = server;
 }
예제 #2
0
        public void Launcher(StartTask app)
        {
            switch (Type)
            {
            case ServerTypes.LocalMono: return(new LocalLauncher(this, app));

            case ServerTypes.RemoteSsh: return(new RemoteSshLauncher(this, app));

            case ServerTypes.WSLBash: return(new LocalBashLauncher(this, app));

            case ServerTypes.Cygwin: return(new LocalCygwinLauncher(this, app));
            }
        }
예제 #3
0
        public static Launcher New(Server server, StartTask app)
        {
            switch (server.Type)
            {
            case ServerTypes.LocalMono: return(new LocalLauncher(server, app));

            case ServerTypes.RemoteSsh: return(new RemoteSshLauncher(server, app));

            case ServerTypes.WSLBash: return(new LocalBashLauncher(server, app));

            case ServerTypes.Cygwin: return(new LocalCygwinLauncher(server, app));

            default: throw new NotSupportedException();
            }
        }
예제 #4
0
 public LocalHost(Server server, StartTask task) : base(server, task)
 {
     OutputPath = task.SourcePath.TrimEnd('/', '\\');
 }
예제 #5
0
 public static void Start(Server server, StartTask app) => New(server, app).Launch();
예제 #6
0
 public void Start(StartTask app)
 {
     Launcher(app).Launch();
 }
예제 #7
0
 public LocalBashLauncher(Server server, StartTask task) : base(server, task)
 {
 }
예제 #8
0
 public Host(Launcher launcher)
 {
     Server = launcher.Server; Task = launcher.Task;
 }
예제 #9
0
 public LocalCygwinHost(Server server, StartTask task) : base(server, task)
 {
 }
예제 #10
0
 public RemoteSshLauncher(Server server, StartTask task) : base(server, task)
 {
 }
예제 #11
0
 public LocalCygwinLauncher(Server server, StartTask task) : base(server, task)
 {
 }