We now always load by identity and hint to our assembly resolver were to expect to find assemblies that are not in our Engine.
#rb ben.marsh
[CL 14689002 by Joakim Lindqvist in ue5-main branch]
Changed so that automation projects are loaded from their file path (LoadFrom rules) in net core as this is in practise what happened in net fw. Fixes issue were UAT projects not under Engine/Binaries couldnt be loaded.
#rb ben.marsh
[CL 14675418 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]
Also reduces footprint on disk and speedsup builds slightly.
Also took a pass over all projects to fixup their output paths as there were some inconsitencies from my port to netcore.
Lastly I disabled the resource folders for everything but english to reduce some of the noise in the output folder, this just impacts which languages you get code analysis.
#jira UE-102147
#rb none
[CL 14651855 by Joakim Lindqvist in ue5-main branch]
This makes it possible to build UAT with these references without having to run UBT first. Thus also fixes net core building of the project.
This adds about 5 seconds to the build time of automation tool but eliminates the need to run UBT and should avoid the need to implement -compile in UAT (in the end saving more then these 5 seconds)
This essentially does the same as UBT did before, create a .reference file on disk that can then be read by msbuild, it just does this in msbuild as well so we have fewer components involved.
#rb ben.marsh
[CL 14640899 by Joakim Lindqvist in ue5-main branch]
* Fixed all includes of OpenEXR in the engine and plugins
* Will allow building other middlewares that rely on OpenEXR without hassle (ex: OpenVDB)
* Created build scripts (Windows only for now)
* Replicated a few UE specific changes that were made under Deploy/OpenEXR-2.3.0 to the source, so that a rebuild of the lib will not erase them
#rb jeanfrancois.dube, anousack.kitisa
[CL 14613618 by Sebastien Lussier 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]
* Added support for more complex Msbuild conditions (using static property methods) as we use this to do per platform checks in the csprojs.
* Tweaks to the parsing of csprojs as expecations are different for netcore (mostly for how configurations are defined)
* Lastly if -dotnetcore flag is present when generating projects, use the netcore project files instead.
#rb ben.marsh
[CL 14572331 by Joakim Lindqvist in ue5-main branch]
This because we do not need this added dependency and it is not available by default in net core.
#rb ben.marsh
[CL 14572295 by Joakim Lindqvist in ue5-main branch]