Skip to content

Commit

Permalink
Added additional diagnostics for .NET mgcb version
Browse files Browse the repository at this point in the history
fixes #1330
  • Loading branch information
vchelaru committed Jan 24, 2024
1 parent 90688bf commit eb01736
Showing 1 changed file with 38 additions and 2 deletions.
40 changes: 38 additions & 2 deletions FRBDK/Glue/OfficialPlugins/ContentPipelinePlugin/BuildLogic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -430,10 +430,10 @@ await TaskManager.Self.AddAsync(() =>

private void InstallBuilderIfNecessary(VisualStudioProject visualStudioProject)
{
var needsBuilder = visualStudioProject.DotNetVersion.Major >= 6;
var needs3_8_1_Builder = visualStudioProject.DotNetVersion.Major >= 6;

///////////Early Out//////////////////
if(!needsBuilder)
if(!needs3_8_1_Builder)
{
return;
}
Expand All @@ -453,6 +453,7 @@ private void InstallBuilderIfNecessary(VisualStudioProject visualStudioProject)

var hasMgcb = output?.Contains("dotnet-mgcb ") == true;


if(!hasMgcb)
{
var exe = "dotnet";
Expand All @@ -471,6 +472,41 @@ private void InstallBuilderIfNecessary(VisualStudioProject visualStudioProject)
GlueCommands.PrintOutput(output);

}
else
{
// verify the version is right:
var lines = output.Split('\n');
var mgcbLines = lines.Where(item => item.Contains("dotnet-mgcb"));
var found3_8_1 = false;
Version versionFound = null;

foreach(var line in mgcbLines)
{
var parts = line.Split(' ', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);

if(parts.Length > 1 && parts[0] == "dotnet-mgcb" && Version.TryParse(parts[1], out Version version))
{
versionFound = version;
found3_8_1 = version.Major == 3 && version.Minor == 8 && version.Build == 1;
if(found3_8_1)
{
break;
}
}
}

if(!found3_8_1)
{
if(versionFound == null)
{
GlueCommands.PrintError("Could not find a version of MGCB, but dotnet reported that dotnet-mgcb is installed.");
}
else
{
GlueCommands.PrintError($"dotnet-mgcb (the content pipeline) is already installed, but using version {versionFound}.");
}
}
}
}

private static void PerformBuild(ContentItem contentItem, VisualStudioProject project, bool rebuild = false)
Expand Down

0 comments on commit eb01736

Please sign in to comment.