private ProcessArgumentBuilder GetArguments(string command, ProcessArgumentBuilder arguments, DotNetToolSettings settings) { var builder = CreateArgumentBuilder(settings); builder.Append(command); // Arguments if (!arguments.IsNullOrEmpty()) { arguments.CopyTo(builder); } return(builder); }
/// <summary> /// Execute an assembly using arguments and settings. /// </summary> /// <param name="projectPath">The target project path.</param> /// <param name="command">The command to execute.</param> /// <param name="arguments">The arguments.</param> /// <param name="settings">The settings.</param> public void Execute(FilePath projectPath, string command, ProcessArgumentBuilder arguments, DotNetToolSettings settings) { if (string.IsNullOrWhiteSpace(command)) { throw new ArgumentNullException(nameof(command)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } var processSettings = new ProcessSettings { WorkingDirectory = settings.WorkingDirectory ?? projectPath?.GetDirectory() }; RunCommand(settings, GetArguments(command, arguments, settings), processSettings); }