private static bool RegenerateProjectUsingUBT()

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;
            }
        }