private void ResolveArtifacts(string taskName, string title, Task.ResolveHandler finished) { m_CurrentTask?.Cancel(); var resolveTask = new Task(taskName, title, finished, 1, this); m_CurrentTask = resolveTask; List <string> paths = null; resolveTask.RunThread(() => { resolveTask.Report("Resolving GUIDs..."); paths = index.GetDependencies(); }, () => { if (resolveTask?.Canceled() ?? false) { return; } resolveTask.Report("Producing artifacts..."); resolveTask.total = paths.Count; var artifacts = ProduceArtifacts(paths); if (resolveTask?.Canceled() ?? false) { return; } ResolveArtifacts(artifacts, null, resolveTask); }); }
private Task ResolveArtifacts(string taskName, string title, Task.ResolveHandler finished) { var resolveTask = new Task(taskName, title, finished, 1, this); List <string> paths = null; resolveTask.RunThread(() => { resolveTask.Report("Scanning dependencies..."); paths = index.GetDependencies(); }, () => ProduceArtifacts(resolveTask, paths)); return(resolveTask); }