Esempio n. 1
0
        public static IEnumerable <KeyValuePair <string, HashSet <string> > > GetDoubleWrites(Build build)
        {
            var analyzer = new DoubleWritesAnalyzer();

            build.VisitAllChildren <CopyTask>(copyTask => analyzer.AnalyzeFileCopies(copyTask));
            return(analyzer.GetDoubleWrites());
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
            }
        }