Avoid problem where insufficient dependency checking would fail to rebuild AutomationTool (and dependent projects) when needed.
#jira none
#rb ryan.durand
[CL 17505693 by jonathan adamczewski in ue5-main branch]
Rename -NoCompile as -NoCompileUAT, to work around problems with HordeAgent's use of the former.
#jira FORT-406905
[CL 17404240 by jonathan adamczewski in ue5-main branch]
Add a layer of caching to avoid running msbuild as much as possible.
#jira UE-109181
#rb ben.marsh
[CL 17102399 by jonathan adamczewski 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 CopyLocalLockFileAssemblies to some addins that added new dependencies (nuget packages) to make sure these gets added to the output folder.
UAT now have a dependency on WindowsForms (on Windows) to enable the WinForms usage in Gauntlet and Turnkey, but is still a console application so just making sure the right assemblies are referenced.
Fixed up shootergame csproj were I had accidentally removed EngineDir props which would have prevented it from working for installed builds as a foreign project.
#rb ben.marsh
[CL 14773885 by Joakim Lindqvist in ue5-main branch]
Also removed usages of automationtool launcher in netcore as we no longer need it.
#rb ben.marsh
#jira UE-102151
[CL 14663048 by Joakim Lindqvist in ue5-main branch]
Added a NET_CORE define to allow us to have changes side by side.
The AWS S3 changes are required due to us requiring to upgrade the S3 assembly version to get net core support (which made all methods async).
The ACL checks for files are not available in the system libraries of net core, as such the api is a bit different.
AutomationToolLauncher now just spawns a subprocess when used in netcore, as netcore does not support custom AppDomains and shadow copying. We will generally need to revisit this for netcore as this whole feature of building the source for UAT in UAT is not really possible.
To enable this set environment variable "UE_USE_DOTNET=1", note that with netcore all applications change their output path so this will likely break a bit of tooling when enabled.
#rb ben.marsh
[CL 14572339 by Joakim Lindqvist in ue5-main branch]
- There is a second Launch dropdown button for now, the original is still there for now (quick launch of previous device will not do Turnkey at this time)
- Various platform turnkey support updates
[CL 13653953 by Josh Adams in ue5-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]