Add new commandline option: -AlwaysRulesCompile, ensures that rules assemblies will be compiled during the run.
#jira none
#ROBOMERGE-SOURCE: CL 17428445 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17428452 by jonathan adamczewski in ue5-release-engine-test branch]
Group Automation projects in the same folder with their Game or Sample project.
#jira none
#ROBOMERGE-SOURCE: CL 17401839 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17401858 by jonathan adamczewski in ue5-release-engine-test branch]
Make ConfigValueTracker immutable.
Propagate some nullability in and around TargetRules.
#jira none
#rb none
#ROBOMERGE-SOURCE: CL 17377821 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17377828 by jonathan adamczewski in ue5-release-engine-test branch]
Also moves DotNETCommon/Metadata.cs to Shared/Metadata.cs
#jira none
#rb tim.smith
#ROBOMERGE-SOURCE: CL 17116964 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17116977 by jonathan adamczewski in ue5-release-engine-test branch]
Add a layer of caching to avoid running msbuild as much as possible.
#jira UE-109181
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
Use StringBuilders to significantly reduce runtime. More could be done, but this seems to address the slowest part.
#jira none
#trivial
#ROBOMERGE-SOURCE: CL 17015466 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v839-17012307)
[CL 17015468 by jonathan adamczewski in ue5-release-engine-test branch]
Support "Internal" include directory that will only be added to a Referencing module if the referenced module has the same scope. Intent is to to "hide" APIs from external modules that do not need to include headers that are intended for internal module use only.
#jira UE-112188
#rb Ben.Marsh
#preflight 610085314cd79300016e7269
#ROBOMERGE-SOURCE: CL 16976401 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16976411 by joe kirchoff in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16894546 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16894553 by ben marsh in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16883248 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16883253 by ben marsh in ue5-release-engine-test branch]
Per-project rules assembly csprojen.
Previously: all .build.cs and .target.cs were being grouped into a single project, which resulted in duplicate symbols when trying to build the project.
Now: multiple assemblies csprojs are generated, one for each Engine & Game project. Also, includes preprocessor defines.
#jira none
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 16658600 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)
[CL 16658608 by jonathan adamczewski in ue5-release-engine-test branch]
Adding "using UnrealBuildBase" to some files (submitted separately to make subsequent CLs smaller)
#jira none
#trivial
#ROBOMERGE-SOURCE: CL 16657799 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)
[CL 16657806 by jonathan adamczewski in ue5-release-engine-test branch]
Create project in its own directory to avoid confusing other builds with UnrealBuildFiles' intermediate files
#jira none
#ROBOMERGE-SOURCE: CL 16646776 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)
[CL 16646811 by jonathan adamczewski in ue5-release-engine-test branch]
Generate UnrealBuildFiles.csproj, a project that contains references to all of the Build.cs and Target.cs files in the solution, and add it to the generated solution.
With this project in the solution, Intellisense is available when editing these files, and the project may be compiled in Visual Studio, providing representative results of what UBT will do with the files (UBT will re-compile the files when it needs to)
Using Visual Studio 2019 16.9.6, adding this project increased memory usage by ~20MB after load (from 540MB to 560MB) for a workspace containing Engine, and two sample games.
#jira none
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 16642908 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)
[CL 16642914 by jonathan adamczewski in ue5-release-engine-test branch]