Description

As of 5.5.2; appears present in main head as well.

We have a asymmetry between how Include JSONs are resolved between Linux and Windows. This boils down to our URI construction in ParseIncludesAsync.

Windows:

  • Base context {perforce://default//UE5/Main/Engine/Source/Programs/Horde/HordeServer/Defaults/globals.json}
  • Our expand macros results in a "directory" path -** D:\PATH_TO_MY_SYNC\Engine\Source\Programs\Horde\HordeServer\bin\Debug\net8.0/Defaults/default.global.json as an example
  • The resulting URI is {[file:///D:/PATH_TO_MY_SYNC/Engine/Source/Programs/Horde/HordeServer/bin/Debug/net8.0/Defaults/default.global.json]}

Linux:

  • Base context {perforce://default//UE5/Main/Engine/Source/Programs/Horde/HordeServer/Defaults/globals.json}
  • Our expand macros results in a "directory" path - "/app/Defaults/default.global.json" as an example
  • The resulting URI is {perforce://default/app/Defaults/default.global.json}
  • This is wrong.

 

It appears that we must have "perforce source configs all the way down" (which aligns with our internal setup), but the moment you interleave include config source (global being perforce, defaults.global local file) on linux, you encounter this asymmetry with respect to windows (it's supported). This results in a lack of portability across the two.

Steps to Reproduce
  1. Have the global.json referenced from perforce; use the default one as it will reference to the local default.global.json via "path": "$(HordeDir)/Defaults/default.global.json"
  2. Have the app directory be 'linux' like (you can hardcode this in ConfigService.cs for  context.MacroScopes.Add(new Dictionary<string, string> { ["HordeDir"] = ServerApp.AppDir.FullName }); to be  context.MacroScopes.Add(new Dictionary<string, string> { ["HordeDir"] = "/app" });
  3. Notice that it attempts to treat this as a PerforceConfigSource due to how URI construction occurs
     

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-254494 in the post.

0
Login to Vote

Unresolved
ComponentUE - Foundation - Horde - Server
Affects Versions5.5.3
CreatedMar 7, 2025
UpdatedMar 11, 2025
View Jira Issue