Ejemplo n.º 1
0
        protected BaseProgramRunner(
            IExecutableResolver resolver,
            ISafeConsole safeConsole,
            IDirectory directory,
            string commandLine)
        {
            _safeConsole = safeConsole;
            var argumentList = GetArgumentList(commandLine);

            _processName = argumentList[0];
            var startInfo = new ProcessStartInfo(resolver.Resolve(_processName));

            argumentList.RemoveAt(0);
            _arguments = string.Empty;
            if (Enumerable.Any <string>(argumentList))
            {
                _arguments          = AggregateArguments(argumentList);
                startInfo.Arguments = _arguments;
            }
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                // Not Supported on Unix
                //_startInfo.LoadUserProfile = true;
            }
            //_startInfo.CreateNoWindow = true;
            startInfo.WindowStyle      = ProcessWindowStyle.Hidden;
            startInfo.UseShellExecute  = false;
            startInfo.WorkingDirectory = directory.GetCurrentDirectory();
            _process           = new Process();
            _process.StartInfo = startInfo;
        }
 public InteractiveProgramRunner(
     IExecutableResolver resolver,
     ISafeConsole safeConsole,
     IDirectory directory,
     string commandLine) : base(resolver, safeConsole, directory, commandLine)
 {
 }
Ejemplo n.º 3
0
 public ProgramRunnerFactory(IExecutableResolver resolver,
                             ISafeConsole safeConsole,
                             IDirectory directory)
 {
     _resolver    = resolver;
     _safeConsole = safeConsole;
     _directory   = directory;
 }
Ejemplo n.º 4
0
 public CommandExecutor(
     IConsole console,
     IExecutableResolver resolver,
     IProgramRunnerFactory runnerFactory,
     IBuiltin[] builtins)
 {
     _console       = console;
     _resolver      = resolver;
     _runnerFactory = runnerFactory;
     foreach (var builtin in builtins)
     {
         _builtins.Add(builtin.Command, builtin);
     }
 }
Ejemplo n.º 5
0
 public UnixLinkResolver(IExecutableResolver resolver, IProgramRunnerFactory runnerFactory)
 {
     _resolver      = resolver;
     _runnerFactory = runnerFactory;
 }