[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
BatchFiles: Add output directory when caling dotnet build as running the scripts via a visual studio environment requires this, and for consistency. Via UDN
#rnx
#rb Josh.Adams
#preflight 636ae35c7c2b505190d92839
[CL 23069893 by joe kirchoff in ue5-main branch]
* If invoked from VS2022, use visual studio to build UnrealBuildTool to prevent unnecessary rebuilds
* If invoked from VS2019 or on the command line without visual studio, use bundled dotnet to build
* Deduplicate all logic into Build.bat, and have Clean.bat and Rebuild.bat call Build.bat with either -Clean or -Rebuild
* Print entire dotnet version
* Replace various calls to dotnet msbuild with dotnet build
* Update old UE4 comments
#jira UE-165754
#rb ?
[CL 22387871 by joe kirchoff in ue5-main branch]
This has less verbose output when a build is successful (nothing) but still outputs errors when something is wrong, which means we can remove the redirection of stdout so we actually can see compile errors from UBT when running GenerateProjects.
#rb none
[CL 14842937 by Joakim Lindqvist in ue5-main branch]
Some behavior changes:
Output paths - Both tools are now output to a subdirectory of Binaries/Dotnet, I believe most hardcoded paths have been fixed up but there may be tools that will fail because of this.
UAT Plugin Building - As .NET Core does not support AppDomain unloading, how we build the plugins has changed quite a bit, these are now built before UAT is started rather then by UAT itself. If you just start UAT via RunUAT.bat/sh this should just continue to work.
#rb ben.marsh
[CL 14834347 by Joakim Lindqvist in ue5-main branch]
Added a set of netcore csprojs to BuildUtilities and DotnetUtilities that build to a seperate output folder. This allows other tools to still target .net framework (like UAT for instance).
UBT is still by default targeted as .net framework.
Note that UBT built for net core has a different output directory Engine/Binaries/DotNet/UnrealBuildTool/UnrealBuildTool.exe - this is due to how a netcore project output looks with signficantly more files that are related to that application (that would be overwritten if using a shared directory).
To opt in to this set UE_USE_DOTNET=1 environment variable.
Please note that due to the changed output directory a lot of tooling will likely break at this point.
#rb ben.marsh
[CL 14419918 by Joakim Lindqvist in ue5-main branch]
#jira
#ROBOMERGE-SOURCE: CL 12690087 via CL 12690254 via CL 12690282
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v676-12543919)
[CL 12690314 by ben marsh in Main branch]
#rb josh.adams, ben.marsh
(ushell-p4-cherrypick of 7973988 by Martin.Ridgers)
(ushell-p4-cherrypick of 8124246 by Martin.Ridgers)
[CL 10889764 by Martin Ridgers in Dev-Core branch]
#rb josh.adams, ben.marsh
(ushell-p4-cherrypick of 7973988 by Martin.Ridgers)
(ushell-p4-cherrypick of 8124246 by Martin.Ridgers)
[CL 8124316 by Martin Ridgers in Dev-Core branch]
#rb none
#jira UE-74162
#ROBOMERGE-SOURCE: CL 6316167 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 6317365 by ben marsh in Main branch]
#rb none
#rnx
#jira
#ROBOMERGE-SOURCE: CL 5343248 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5343253 by ben marsh in Main branch]
#rb none
#jira UE-71058
#ROBOMERGE-SOURCE: CL 5305673 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5314625 by ben marsh in Main branch]
#rb none
#jira UE-70509
[FYI] Peter.Sauerbrei
#ROBOMERGE-SOURCE: CL 5174514 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5207569 by ben marsh in Main branch]