Files
UnrealEngineUWP/Engine/Source/Developer/Virtualization/Virtualization.Build.cs
paul chipchase 9d14a794ea Give improved error messages to the user if the source control asset virtualization backend fails to connect.
#rb PJ.Kack
#jira UE-136612
#rnx
#preflight 61e589b7904123989a1817cc

- If a perforce connection issue is encountered when starting up the editor we will now print an error to the message log and then on the first tick of the editor display a notification to get the users attention. It will no longer result in a fatal error.

- Add a new category "Asset Virtualization" to the message log so that we can start to improve the feedback we give to end users rather than only reporting problems via UE_LOG. This also introduces a new localization text name space.
-- I will need to go over a lot of the virtualization modules error handling and move it to use the message log instead.
- When the source control backend first starts up we now specifically check if the connection works and if not try to give the user feedback on how to fix it.
-- Ideally we'd provide a  login dialog for the user to fix the problem in place but due to how early in the start up process we need to be able to access the virtualization backends this is quite tricky.
- In the future we will build the concept of a backends connection into a formalized concept in the system along with better error handling. At this point FSourceControlBackend::OnConnectionError should be moved to general use for all backends. this will allow us to provide much better status info to the user.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18637036 in //UE5/Release-5.0/... via CL 18637043 via CL 18637054
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637614 by paul chipchase in ue5-main branch]
2022-01-18 04:50:38 -05:00

27 lines
792 B
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.IO;
public class Virtualization : ModuleRules
{
public Virtualization(ReadOnlyTargetRules Target) : base(Target)
{
PrivateDependencyModuleNames.Add("Core");
PrivateDependencyModuleNames.Add("CoreUObject");
PrivateDependencyModuleNames.Add("MessageLog");
// Dependency for DDC2
PrivateDependencyModuleNames.Add("DerivedDataCache");
// Dependency for source control backend
PrivateDependencyModuleNames.Add("SourceControl");
// Dependencies for the Horde Storage backend
PrivateDependencyModuleNames.AddRange(new string[] { "SSL", "Json" });
AddEngineThirdPartyPrivateStaticDependencies(Target, "libcurl");
AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenSSL");
}
}