in src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealProjectsRefresher.cs [205:232]
private static bool RegenerateProjectUsingUBT(Lifetime lifetime, UnrealHost unrealHost, VirtualFileSystemPath uprojectFile,
VirtualFileSystemPath pathToUnrealBuildToolBin, VirtualFileSystemPath engineRoot)
{
if (uprojectFile.IsNullOrEmpty()) return false;
bool isInstalledBuild = IsInstalledBuild(engineRoot);
var pipeStreams = CreatePipeStreams(unrealHost, "[UBT]:");
var startInfo = CmdUtils.GetProcessStartInfo(pipeStreams, pathToUnrealBuildToolBin,
pathToUnrealBuildToolBin.Directory, "-ProjectFiles",
$"-project=\"{uprojectFile.FullPath}\"", "-game", "-progress", isInstalledBuild ? "-rocket" : "-engine");
try
{
var result = CmdUtils.RunCommandWithLock(lifetime, startInfo, OurLogger) == 0;
if (!result)
{
OurLogger.Warn($"[UnrealLink]: Failed refresh project files: calling {startInfo.Arguments}");
}
return result;
}
catch (ErrorLevelException errorLevelException)
{
OurLogger.Error(errorLevelException,
$"[UnrealLink]: Failed refresh project files: calling {startInfo.Arguments}");
return false;
}
}