Example #1
0
        public void BuildFinished(object sender, BuildFinishedEventArgs args)
        {
            try
            {
                lock (syncLock)
                {
                    Build.EndTime   = args.Timestamp;
                    Build.Succeeded = args.Succeeded;

                    if (messageProcessor.DetailedSummary.Length > 0)
                    {
                        var summary = Build.GetOrCreateNodeWithName <Message>(stringTable.Intern(Strings.DetailedSummary));
                        if (messageProcessor.DetailedSummary[0] == '\n')
                        {
                            messageProcessor.DetailedSummary.Remove(0, 1);
                        }

                        summary.Text = messageProcessor.DetailedSummary.ToString();
                    }

                    Build.VisitAllChildren <Project>(p => CalculateTargetGraph(p));
                }
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }
        public static IEnumerable <KeyValuePair <string, HashSet <string> > > GetDoubleWrites(Build build)
        {
            var analyzer = new DoubleWritesAnalyzer();

            build.VisitAllChildren <Task>(task => analyzer.AnalyzeTask(task));
            return(analyzer.GetDoubleWrites());
        }
Example #3
0
        private static IEnumerable <StLogger.Error> FindAllErrors(StLogger.Build build)
        {
            var lst = new List <StLogger.Error>();

            build.VisitAllChildren <StLogger.Error>(er => lst.Add(er));
            return(lst);
        }
        private void Analyze()
        {
            build.VisitAllChildren <Task>(t => AnalyzeTask(t));

            build.VisitAllChildren <Target>(t => AnalyzeTarget(t));
            if (!build.Succeeded)
            {
                build.AddChild(new Error {
                    Text = "Build failed."
                });
            }
            else
            {
                build.AddChild(new Item {
                    Text = "Build succeeded."
                });
            }

            build.VisitAllChildren <CopyTask>(c => AnalyzeFileCopies(c));
            AnalyzeDoubleWrites();
        }
Example #5
0
        public IEnumerable <CompilerInvocation> Read(Build build)
        {
            var invocations = new List <CompilerInvocation>();

            build.VisitAllChildren <Task>(t =>
            {
                var invocation = TryGetInvocationFromTask(t);
                if (invocation != null)
                {
                    invocations.Add(invocation);
                }
            });

            return(invocations);
        }
Example #6
0
 private static void Seal(Build build)
 {
     build.VisitAllChildren <TreeNode>(t => t.Seal());
 }