dotnet / msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
https://docs.microsoft.com/visualstudio/msbuild/msbuild
MIT License
5.15k stars 1.34k forks source link

Add BuildRequestStarted event #10145

Open JanKrivanek opened 2 weeks ago

JanKrivanek commented 2 weeks ago

Context

We need to distinguish restore is happening for the BuildCheck feature (namely for https://github.com/dotnet/msbuild/issues/9747) This is not currently possible until receiving BuildEvaluationFinished. Team decided that it's more future wise to add the full event with all the relevant info, rather than reusing BuildEvaluationStarted event.

What should be done

Prerequisity: Verify that all the build requests go through BuildManager.PendBuildRequest and there are no other possible execution paths of build (through CLI or API) that can avoid this function

JanKrivanek commented 2 weeks ago

The addition to the binlog might be bundled with BuildCheckTracingEventArgs de/serialization - in order to minimize formats bumps