Skip to content

Commit ca8e656

Browse files
authored
Better MSBuild log messages in DevOps (#30281)
* Use a better logger for Azure DevOps * Update dotnet.cake * Update IMauiContext.cs
1 parent af302b6 commit ca8e656

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

eng/cake/dotnet.cake

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,12 @@ void RunMSBuildWithDotNet(
759759
// .SetVerbosity(Verbosity.Diagnostic)
760760
;
761761

762+
var loggerArg = GetMSBuildForwardingLoggerPath();
763+
if (loggerArg != null)
764+
{
765+
msbuildSettings.WithArgumentCustomization(args => args.Append(loggerArg));
766+
}
767+
762768
if (warningsAsError)
763769
{
764770
msbuildSettings.TreatAllWarningsAs(MSBuildTreatAllWarningsAs.Error);
@@ -847,6 +853,12 @@ void RunTestWithLocalDotNet(string csproj, string config, string pathDotnet = nu
847853
// Verbosity = Cake.Common.Tools.DotNetCore.DotNetCoreVerbosity.Diagnostic,
848854
ArgumentCustomization = args =>
849855
{
856+
var loggerArg = GetMSBuildForwardingLoggerPath();
857+
if (loggerArg != null)
858+
{
859+
args.Append(loggerArg);
860+
}
861+
850862
args.Append($"-bl:{binlog}");
851863
if(maxCpuCount > 0)
852864
{
@@ -948,3 +960,25 @@ void ProcessTFMSwitches()
948960
DeleteFile("Directory.Build.Override.props");
949961
}
950962
}
963+
964+
string GetMSBuildForwardingLoggerPath()
965+
{
966+
if (!IsCIBuild())
967+
return null;
968+
969+
// Download and extract MSBuild logger
970+
var loggerUrl = "https://vstsagenttools.blob.core.windows.net/tools/msbuildlogger/3/msbuildlogger.zip";
971+
var loggerDir = MakeAbsolute(Directory("./artifacts/msbuildlogger"));
972+
EnsureDirectoryExists(loggerDir);
973+
var loggerZip = loggerDir.CombineWithFilePath("msbuildlogger.zip");
974+
975+
if (!FileExists(loggerZip))
976+
{
977+
DownloadFile(loggerUrl, loggerZip.FullPath);
978+
Unzip(loggerZip.FullPath, loggerDir.FullPath);
979+
}
980+
981+
var loggerArg = $"-dl:CentralLogger,\"{loggerDir}/Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll\"*ForwardingLogger,\"{loggerDir}/Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll\"";
982+
983+
return loggerArg;
984+
}

src/Core/src/IMauiContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ public interface IMauiContext
1212
Android.Content.Context? Context { get; }
1313
#endif
1414
}
15-
}
15+
}

0 commit comments

Comments
 (0)