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]
Allows for using alternative but compatible Docker implementations.
#rb Ben.Marsh
#jira none
#preflight none
[CL 22332338 by carl bystrom in ue5-main branch]
Turns on automatically if CommandUtils.IsBuildMachine is true or the CompileTask sets AllowAllCores to true
#rnx
#jira none
#rb none
#preflight 633b3aaf3629a1a4f92f3ef1
[CL 22323425 by ryan hummer in ue5-main branch]
Extended ParamHelp attribute for BuildCommand to better describe the metadata of parameters for UAT scripts.
Update BuildGraph with ParamHelp attributes.
#rb: Eric.Knapik
#preflight: 6303e331c00af5e294fbb7e9
[CL 21525146 by gary yuan in ue5-main branch]
Build - updating the tempstorage build graph script to ignore additonal pdb build products for tbb.
#jira UE-159742
#preflight 62d5e73ec0180d80715a8b8d
[CL 21161802 by Nick Darnell in ue5-main branch]
improves platform reliability, m1 macs struggle to update file attributes when copying to an smb share. rsync ensures the attributes are correctly copied.
#rnx
#jira none
#rb none
#preflight 62d170c93b057e72748b9aa8
#author ryan.durand
[CL 21110668 by Ryan Hummer in ue5-main branch]
* Added support for deserializing BgObject types directly into native classes.
* Removed opcodes for creating graph structures. These are now created in user code from BgObject types.
* Removed BgNodeSpecBuilder. BgNode objects can now be modified directly (returning a modified copy).
* Added concrete types for option parameters. The VM now keeps track of any parameters for evaluated options, allowing them to be added into the graph definition.
* Order dependencies now take nodes rather than outputs.
* Added explicit support for native thunks, whose bindings are saved to a sideband channel during compilation and referenced in bytecode as an index. This generalizes code that was previously specific to node definitions.
* Added a name table to bytecode, to optimize situations where we reference the same string mulitple times.
#preflight 62bf3c583f0d6beee2e8f4a6
[CL 20918762 by Ben Marsh in ue5-main branch]
* Expression classes (nodes, aggregates, graphs, etc...) are now called BgNode, BgAggregate, etc...
* Evaluated and instantiated objects used by BuildGraph internals are now called BgNodeDef, BgAggregateDef, etc...
#preflight 62b6374161016695a6545b08
[CL 20818158 by Ben Marsh in ue5-main branch]