Beispiel #1
0
        public void Initialize(IEventSource eventSource)
        {
            eventSource.ErrorRaised += (s, e) =>
            {
                CompilerError ce = new CompilerError(building)
                {
                    Cause = new CompilerException(e.Message),
                    FilePath = e.File,
                    IsWarning = false,
                    LocationInFile = new Point(e.ColumnNumber, e.LineNumber),
                    Message = e.Code + ": " + e.Message + " (in project " + e.ProjectFile + ")"
                        + (!String.IsNullOrEmpty(e.HelpKeyword) ? ": " + e.HelpKeyword : String.Empty)
                };

                errors.Add(ce);
                log.Add(ce);
            };
            eventSource.WarningRaised += (s, e) =>
            {
                if (Verbosity >= LoggerVerbosity.Minimal)
                {
                    CompilerError ce = new CompilerError(building)
                    {
                        Cause = new CompilerWarning(e.Message),
                        FilePath = e.File,
                        IsWarning = true,
                        LocationInFile = new Point(e.ColumnNumber, e.LineNumber),
                        Message = e.Code + ": " + e.Message + " (in project " + e.ProjectFile + ")"
                        + (!String.IsNullOrEmpty(e.HelpKeyword) ? ": " + e.HelpKeyword : String.Empty)
                    };

                    errors.Add(ce);
                    log.Add(ce);
                }
            };
            #region commented event hooking (except checking if succeeded)
            eventSource.BuildFinished += (s, e) =>
            {
                //if (Verbosity >= LoggerVerbosity.Normal)
                //    log.Add("Build finished.");
                succeeded &= e.Succeeded;
            };
            //eventSource.BuildStarted += (s, e) =>
            //{
            //    if (Verbosity >= LoggerVerbosity.Normal)
            //        log.Add("Build started.");
            //};
            eventSource.ProjectFinished += (s, e) =>
            {
                //if (Verbosity >= LoggerVerbosity.Normal)
                //    log.Add("Project " + e.ProjectFile + " finished.");
                succeeded &= e.Succeeded;
            };
            //eventSource.ProjectStarted += (s, e) =>
            //{
            //    if (Verbosity >= LoggerVerbosity.Normal)
            //    log.Add("Project " + e.ProjectFile + " started.");
            //};
            eventSource.TargetFinished += (s, e) =>
            {
                //if (Verbosity >= LoggerVerbosity.Detailed)
                //    log.Add("Target " + e.TargetFile + " (" + e.TargetName + ") finished.");
                succeeded &= e.Succeeded;
            };
            //eventSource.TargetStarted += (s, e) =>
            //{
            //    if (Verbosity >= LoggerVerbosity.Detailed)
            //        log.Add("Target " + e.TargetFile + " (" + e.TargetName + ") started.");
            //};
            eventSource.TaskFinished += (s, e) =>
            {
                //if (Verbosity >= LoggerVerbosity.Diagnostic)
                //    log.Add("Task " + e.TaskFile + " (" + e.TaskName + ") finished.");
                succeeded &= e.Succeeded;
            };
            //eventSource.TaskStarted += (s, e) =>
            //{
            //    if (Verbosity >= LoggerVerbosity.Diagnostic)
            //        log.Add("Task " + e.TaskFile + " (" + e.TaskName + ") started.");
            //};
            eventSource.MessageRaised += (s, e) =>
            {
                if (e.Importance == MessageImportance.Low && Verbosity >= LoggerVerbosity.Diagnostic ||
                    e.Importance == MessageImportance.Normal && Verbosity >= LoggerVerbosity.Detailed ||
                    e.Importance == MessageImportance.High && Verbosity >= LoggerVerbosity.Normal)
                    log.Add(e.Message);
            };
            eventSource.StatusEventRaised += (s, e) =>
            {
                if (Verbosity >= LoggerVerbosity.Detailed)
                    log.Add(e.Message);
            };
            #endregion
        }
Beispiel #2
0
 static void AddIfNotNull(CompilerError err, List<CompilerError> list)
 {
     if (err != null)
         list.Add(err);
 }