Commit Graph

173 Commits

Author SHA1 Message Date
Ben Marsh
4e963ab013 Fix warnings when building DotNETUtilities from command line. Warnings were only disabled in debug configuration.
#rb none
#rnx

[CL 14962139 by Ben Marsh in ue5-main branch]
2020-12-21 23:47:46 -04:00
Ben Marsh
80c24e1353 Add deprecation notices to Tools.DotNETCommon members.
#rb none
#rnx

[CL 14962108 by Ben Marsh in ue5-main branch]
2020-12-21 23:18:26 -04:00
Ben Marsh
10515a2c1b Move HashCollection out of DotNETCommon.
#rb none
#rnx

[CL 14962007 by Ben Marsh in ue5-main branch]
2020-12-21 20:42:55 -04:00
Ben Marsh
69646e6e96 Convert fastJSON into a standalone thirdparty dependency. Allows converting the DotNETUtilities and BuildUtilities folders to NET Core 3.1.
#rb none
#rnx

[CL 14961920 by Ben Marsh in ue5-main branch]
2020-12-21 19:26:55 -04:00
Ben Marsh
2dbc3d9985 UBT: Move Windows resx file writer out of shared utility library. Only used in UBT.
#rb none
#rnx

[CL 14961578 by Ben Marsh in ue5-main branch]
2020-12-21 16:32:12 -04:00
Ben Marsh
d90b02a8be Move Perforce library from DotNETCommon into its own assembly, and adopting hierarchical Net Core naming convention similar to Horde.
#rb none
#rnx

[CL 14961143 by Ben Marsh in ue5-main branch]
2020-12-21 10:55:42 -04:00
Joakim Lindqvist
e7039d3d35 UBT and UAT now use .NET Core instead of Framework and Mono. This means that we use the same runtime on Windows, Linux and Mac. Further benefits including newer C# features and a lot of intresting features for the future around AOT and Tiered compilation.
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]
2020-12-02 06:57:13 -04:00
Ben Marsh
24dc06981b UBT: Remove support for outputting entire action graph for a target. This is not going to be valid with C++20 modules, since we require dependencies discovered at build time to feed back into the action graph execution.
#rb none
#rnx

[CL 14814704 by Ben Marsh in ue5-main branch]
2020-11-25 21:24:19 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Joakim Lindqvist
f236ff9ae1 Reworked Automation assembly loading in netcore again, using LoadFrom could cause multiple copies of the same assembly to be loaded (once by path and once by identity) causing very confusing errors as the same types were no longer considered the same (ptr difference).
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]
2020-11-09 10:57:52 -04:00
Joakim Lindqvist
394b90b098 UBT changes required for netcore projects.
* 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]
2020-10-26 06:08:01 -04:00
Joakim Lindqvist
4aa09904f2 UnrealBuildTool now supports running as a net core project.
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]
2020-10-05 08:13:04 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Joakim Lindqvist
f6d7bf2fa9 Added UAT commands with helpers in DotNetUtilities for uploading and download trees of content to Jupiter (our new storage service).
#rb ben.marsh

[CL 14266118 by Joakim Lindqvist in ue5-main branch]
2020-09-07 07:28:34 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Josh Adams
860e2f7e4d - Use case insensitive comparisons int he AssemblyLocationCache as some assemblies names don't match the case of their filenames (the cache is generated by parsing the filename, not loading the assembly to get internal name)
#rb ben.marsh

[CL 14219700 by Josh Adams in ue5-main branch]
2020-08-31 11:57:10 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Ben Marsh
6ee8803dd7 Add support for passing properties to the <CsCompile> task, and fix parsing of ShooterGame project files in the BuildEditorAndTools.xml script.
#rb none
#rnx

[CL 14043020 by Ben Marsh in ue5-main branch]
2020-08-05 17:49:47 -04:00
Ben Marsh
32c246b956 Add additional tracing into to UAT/UBT.
#jira

[CL 13875431 by Ben Marsh in ue5-main branch]
2020-07-16 12:26:55 -04:00
Ben Marsh
0a655bd4f3 Add missing copyright notice.
#jira

[CL 13875427 by Ben Marsh in ue5-main branch]
2020-07-16 12:26:18 -04:00
Ben Marsh
b56e35dd18 Rename "Scopes" to "Spans" in exported telemetry data.
#jira

[CL 13875413 by Ben Marsh in ue5-main branch]
2020-07-16 12:24:49 -04:00
Ben Marsh
798e7ce776 Add a TraceSpan class that can be used to record timing information for UAT, and add tracing info for BuildGraph into it. Writes to a file in the directory specified by the UE_TELEMETRY_DIR environment variable.
#jira

[CL 13875408 by Ben Marsh in ue5-main branch]
2020-07-16 12:24:00 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Josh Adams
2e39adff82 - Fixed paths to known ThirdParty assemblies
#rb ben.marsh

[CL 13721810 by Josh Adams in ue5-main branch]
2020-06-19 17:05:51 -04:00
Josh Adams
12dfa939db - Moving Google Apis to Binaries/ThirdParty with Copy Local set to False in the references in UAT
- Deleted .net version DLLs that we aren't using (.net40 and .netstandard10/13)
#fyi andrew.grant,ben.marsh
#rb ben.marsh

[CL 13534400 by Josh Adams in ue5-main branch]
2020-05-24 15:49:30 -04:00