/// <summary> /// Executes the specified process info. /// </summary> /// <param name="processInfo">The process info.</param> /// <returns></returns> /// <remarks></remarks> public virtual ProcessResult Execute(ProcessInfo processInfo) { string projectName = Thread.CurrentThread.Name; using (RunnableProcess p = new RunnableProcess(processInfo, projectName, processInfo == null ? null : processInfo.PublicArguments)) { p.ProcessOutput += ((sender, e) => OnProcessOutput(e)); ProcessMonitor.MonitorProcessForProject(p.Process, projectName); ProcessResult run = p.Run(); ProcessMonitor.RemoveMonitorForProject(projectName); return run; } }
/// <summary> /// Executes the specified process info. /// </summary> /// <param name="processInfo">The process info.</param> /// <returns></returns> /// <remarks></remarks> public virtual ProcessResult Execute(ProcessInfo processInfo) { string projectName = Thread.CurrentThread.Name; using (RunnableProcess p = new RunnableProcess(processInfo, projectName, processInfo == null ? null : processInfo.PublicArguments)) { p.ProcessOutput += ((sender, e) => OnProcessOutput(e)); ProcessMonitor.MonitorProcessForProject(p.Process, projectName); ProcessResult run = p.Run(); ProcessMonitor.RemoveMonitorForProject(projectName); return(run); } }
/// <summary> /// Executes the specified process info. /// </summary> /// <param name="processInfo">The process info.</param> /// <param name="projectName">Name of the project.</param> /// <param name="itemId">The item id.</param> /// <param name="outputFile">The output file.</param> /// <returns> /// The result of the execution. /// </returns> public virtual ProcessResult Execute(ProcessInfo processInfo, string projectName, string itemId, string outputFile) { using (var p = new RunnableProcess( this.FileSystem, processInfo, projectName, itemId)) { p.ProcessOutput += ((sender, e) => OnProcessOutput(e)); ProcessMonitor.MonitorProcessForProject(projectName, itemId, p.Process); var run = p.Run(outputFile); ProcessMonitor.RemoveMonitorForProject(projectName, itemId); return(run); } }
/// <summary> /// Executes the specified process info. /// </summary> /// <param name="processInfo">The process info.</param> /// <param name="projectName">Name of the project.</param> /// <param name="itemId">The item id.</param> /// <param name="outputFile">The output file.</param> /// <returns> /// The result of the execution. /// </returns> public virtual ProcessResult Execute(ProcessInfo processInfo, string projectName, string itemId, string outputFile) { using (var p = new RunnableProcess( this.FileSystem, processInfo, projectName, itemId)) { p.ProcessOutput += ((sender, e) => OnProcessOutput(e)); ProcessMonitor.MonitorProcessForProject(projectName, itemId, p.Process); var run = p.Run(outputFile); ProcessMonitor.RemoveMonitorForProject(projectName, itemId); return run; } }