示例#1
0
        async Task <MSBuildResult> SendRun(ProjectConfigurationInfo [] configurations, int loggerId, MSBuildEvent enabledLogEvents, MSBuildVerbosity verbosity, string [] runTargets, string [] evaluateItems, string [] evaluateProperties, Dictionary <string, string> globalProperties, int taskId)
        {
            var msg = new RunProjectRequest {
                ProjectId          = projectId,
                Configurations     = configurations,
                LogWriterId        = loggerId,
                EnabledLogEvents   = enabledLogEvents,
                Verbosity          = verbosity,
                RunTargets         = runTargets,
                EvaluateItems      = evaluateItems,
                EvaluateProperties = evaluateProperties,
                GlobalProperties   = globalProperties,
                TaskId             = taskId
            };

            var res = await connection.SendMessage(msg);

            // Make sure we get all log messages
            await connection.ProcessPendingMessages();

            return(res.Result);
        }
示例#2
0
 public TargetLogger(MSBuildEvent eventFilter, Action <LogEvent> logger)
 {
     this.eventFilter = eventFilter;
     this.logger      = logger;
 }
示例#3
0
 public LogWriter(int loggerId, MSBuildEvent eventFilter)
 {
     this.id        = loggerId;
     RequiredEvents = eventFilter;
 }
示例#4
0
 void Log(MSBuildEvent ev, string message)
 {
     logger(new LogEvent {
         Event = ev, Message = message
     });
 }