public abstract void Execute(IProgressMonitor monitor, ExecutionContext context);
public override void Execute(IProgressMonitor monitor, ExecutionContext context) { }
public override void Execute(IProgressMonitor monitor, ExecutionContext context) { if (Runtime.TaskService.Errors != 0) return; AbstractProjectConfiguration configuration = (AbstractProjectConfiguration) ActiveConfiguration; if (Runtime.TaskService.Warnings != 0 && configuration != null && !configuration.RunWithWarnings) return; string args = configuration.CommandLineParameters; if (configuration.ExecuteScript != null && configuration.ExecuteScript.Length > 0) { IConsole console; if (configuration.ExternalConsole) console = context.ExternalConsoleFactory.CreateConsole (!configuration.PauseConsoleOutput); else console = context.ConsoleFactory.CreateConsole (!configuration.PauseConsoleOutput); ProcessWrapper p = Runtime.ProcessService.StartConsoleProcess (configuration.ExecuteScript, args, BaseDirectory, console, null); p.WaitForOutput (); } else { DoExecute (monitor, context); } }
protected virtual void DoExecute(IProgressMonitor monitor, ExecutionContext context) { }
public override void Execute(IProgressMonitor monitor, ExecutionContext context) { if (singleStartup) { if (StartupEntry != null) StartupEntry.Execute (monitor, context); } else { ArrayList list = new ArrayList (); monitor.BeginTask ("Executing projects", 1); SynchronizedProgressMonitor syncMonitor = new SynchronizedProgressMonitor (monitor); foreach (CombineExecuteDefinition ced in combineExecuteDefinitions) { if (ced.Type != EntryExecuteType.Execute) continue; AggregatedProgressMonitor mon = new AggregatedProgressMonitor (); mon.AddSlaveMonitor (syncMonitor, MonitorAction.ReportError | MonitorAction.ReportWarning | MonitorAction.SlaveCancel); EntryStartData sd = new EntryStartData (); sd.Monitor = mon; sd.Context = context; sd.Entry = ced.Entry; Runtime.DispatchService.ThreadDispatch (new StatefulMessageHandler (ExecuteEntryAsync), sd); list.Add (sd.Monitor.AsyncOperation); } foreach (IAsyncOperation op in list) op.WaitForCompleted (); monitor.EndTask (); } }