PdbStr.exe tool that is used to add source information to .pdb can't handle large (> 4 BG) symbol files and there isn't much we can do about it. Some of our builds produce such symbols which leads to whole build tasks being failed (and symbols not being stored at all).
I tried to predice such cases by checking the size of .pdb before trying to invoke PdbStr.exe and it works in some cases, but apparently it's not precise enough because we have cases in our build farm which pass my check but fail later on when PdbStr.exe is started.
#preflight 63756b4832484253059d8856
#rb none
#rnx
[CL 23164999 by Wojciech Krywult in ue5-main branch]
Source code indexing allows Visual Studio to automatically fetch the right source code files from Perforce when debugging builds/crashdumps.
Previously, we had this functionality available only on Windows in the form of SrcSrv build task (build graph). This task takes generated pdbs and embeds information about the source code used into them. However, this functionality doesn't translate well into similar features on other platforms.
Resolved by extending SymStore task to handle source indexing in additional to uploading symbols to the symbol store. SrcSrv remains functional, but it still works only on Windows. For this reason, SymStore becomes the preferred solution as it's more general.
Fixed a few additional problems, both in the task itself and our game's build graph.
#preflight 63727a48ee4d25f90ace140b
#rb Robert.Millar
#jira UE-70463
[CL 23123619 by Wojciech Krywult in ue5-main branch]
- Added support for copying remote debugging files to SteamDeck when deploying
- Username is now pulled out of the Device info, or put on the commandline via -deviceuser to override
#rb brandon.schaefer
#jira none
#p4v-preflight-copy 19392535
#preflight 6233ac4af101b8d0afa9abf4
[CL 19428566 by josh adams in ue5-main branch]
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal
#jira none
[CL 16648181 by jonathan adamczewski in ue5-main branch]
- Retooled some turnkey device management (DeviceInfo now knows its platform, so we don't need to associate a platform externally)
- Changed Control command to use Gauntlet devices to do the PowerOn etc type stuff since there is already support for device control in Gauntlet. Now Turnkey is more of an interactive/scriptable frontend to Gauntlet
- Allow for a platform to do a manual Sdk installation, which doesn't depend on finding a Turnkey file source
- Allow for a platform SDK to return custom versions. This is solely used by platform-specific code
#rb brandon.schaefer
[CL 15201829 by Josh Adams in ue5-main branch]
- Windows allows for any SDK to be used without updating Env vars, etc, so we don't really need a strict single "InstalledVersion" - we dynamically choose a version every run of UBT, and now Turnkey will match this logic
- Added device detection to Turnkey for Windows
#rb david.harvey,chris.waters
[CL 14995008 by Josh Adams in ue5-main branch]
- Formalizing all TargetPlatforms to have a Client version, rename WindowsNoEditor to Windows, and removing DDPI specification of TargetPlatforms, and generate them programmatically
- Updated names DeviceProfiles and Build scripts, as above
- Some PlatformInfo class cleanup
- Added a TNonDesktopTargetPlatformBase class to make most TargetPlatforms simpler
- Added "No Compiled Support" to the Turnkey LaunchOn menu when the TargetPlatforms aren't compiled in (to show that even if you install an SDK, you will need to compile before you can LaunchOn)\
- Starting the transition away from PlatformInfo::FPlatformInfo to FDDPI
[CL 13966487 by Josh Adams in ue5-main branch]