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) { }
public ProgramRunnerFactory(IExecutableResolver resolver, ISafeConsole safeConsole, IDirectory directory) { _resolver = resolver; _safeConsole = safeConsole; _directory = directory; }
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); } }
public UnixLinkResolver(IExecutableResolver resolver, IProgramRunnerFactory runnerFactory) { _resolver = resolver; _runnerFactory = runnerFactory; }