Ejemplo n.º 1
0
        private void PassEventToHandler(LogEvent evt, IBuildListener bl)
        {
            switch (evt.EventType) {
            case LogEventType.TargetFinished:
                bl.TargetFinished(evt.Sender, evt.Args);
                break;

            case LogEventType.MessageLogged:
                bl.MessageLogged(evt.Sender, evt.Args);
                break;

            case LogEventType.BuildStarted:
                bl.BuildStarted(evt.Sender, evt.Args);
                break;

            case LogEventType.BuildFinished:
                bl.BuildFinished(evt.Sender, evt.Args);
                break;

            case LogEventType.TaskFinished:
                bl.TaskFinished(evt.Sender, evt.Args);
                break;

            case LogEventType.TargetStarted:
                bl.TargetStarted(evt.Sender, evt.Args);
                break;

            case LogEventType.TaskStarted:
                bl.TaskStarted(evt.Sender, evt.Args);
                break;

            case LogEventType.Exception:
                //If this is the first exception, save it
                if (_firstException == null) {
                    _firstException = evt.Exception;
                }

                //Report this in the form of a message
                BuildEventArgs e = new BuildEventArgs(evt.Project);
                e.Exception = evt.Exception;
                e.MessageLevel = Level.Error;
                e.Message = String.Format("Error running async task: {0}", evt.Exception.Message);
                bl.MessageLogged(evt.Project, e);
                break;
            }
        }