public static IEnumerable <KeyValuePair <string, HashSet <string> > > GetDoubleWrites(Build build) { var analyzer = new DoubleWritesAnalyzer(); build.VisitAllChildren <CopyTask>(copyTask => analyzer.AnalyzeFileCopies(copyTask)); return(analyzer.GetDoubleWrites()); }
private void AnalyzeTask(Task task) { if (!string.IsNullOrEmpty(task.CommandLineArguments)) { task.AddChildAtBeginning(new Property { Name = "CommandLineArguments", Value = task.CommandLineArguments }); } if (!string.IsNullOrEmpty(task.FromAssembly)) { task.AddChildAtBeginning(new Property { Name = "Assembly", Value = task.FromAssembly }); } if (task.Name == "ResolveAssemblyReference") { CopyLocalAnalyzer.AnalyzeResolveAssemblyReference(task); } else if (task is CopyTask copyTask) { doubleWritesAnalyzer.AnalyzeFileCopies(copyTask); } else if (task.Name == "Message") { MessageTaskAnalyzer.Analyze(task); } }
private void AnalyzeTask(Task task) { if (!string.IsNullOrEmpty(task.CommandLineArguments)) { task.AddChildAtBeginning(new Property { Name = "CommandLineArguments", Value = task.CommandLineArguments }); } if (!string.IsNullOrEmpty(task.FromAssembly)) { task.AddChildAtBeginning(new Property { Name = "Assembly", Value = task.FromAssembly }); } taskDurations.TryGetValue(task.Name, out var duration); duration += task.Duration; taskDurations[task.Name] = duration; if (task.Name == "ResolveAssemblyReference") { resolveAssemblyReferenceAnalyzer.AnalyzeResolveAssemblyReference(task); } else if (task is CopyTask copyTask) { doubleWritesAnalyzer.AnalyzeFileCopies(copyTask); } else if (task.Name == "Message") { MessageTaskAnalyzer.Analyze(task); } }