Commit Graph

193 Commits

Author SHA1 Message Date
josh adams
db463b031d - Fixed Android AutoSDK version from not showing up as valid in Turnkey
#rb trivial
[FYI] patrick.kelly

#ROBOMERGE-SOURCE: CL 15374628 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15374631 by josh adams in ue5-main branch]
2021-02-10 02:48:20 -04:00
josh adams
13682c6497 - Renamed FileRetriever class to ITurnkeyContext
- Enhanced Turnkey error reporting to the editor (TurnkeyContext now has Log and ReportError)
- Improved the SDK display in the editor
- Various bug fixes
- Renamed GetAutoSDKDirectoryForMasterVersion() to GetAutoSDKDirectoryForMainVersion()
#rb brian.white

#ROBOMERGE-SOURCE: CL 15357339 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15360341 by josh adams in ue5-main branch]
2021-02-08 17:07:27 -04:00
Josh Adams
f1b16e7ee5 Turnkey for device management and SDK apis for platforms coming online soon:
- Retooled some turnkey device management (DeviceInfo now knows its platform, so we don't need to associate a platform externally)
- Changed Control command to use Gauntlet devices to do the PowerOn etc type stuff since there is already support for device control in Gauntlet. Now Turnkey is more of an interactive/scriptable frontend to Gauntlet
- Allow for a platform to do a manual Sdk installation, which doesn't depend on finding a Turnkey file source
- Allow for a platform SDK to return custom versions. This is solely used by platform-specific code
#rb brandon.schaefer

[CL 15201829 by Josh Adams in ue5-main branch]
2021-01-26 05:30:58 -04:00
Josh Adams
ae46bd441e - Adding idea of "quick switching" installed SDKs if the platform can detect multiple installed SDKs
#rb turnkeyonly

[CL 15074259 by Josh Adams in ue5-main branch]
2021-01-13 18:45:41 -04:00
Jack Porter
75f53c8388 Fix up iOS remote build after move from Mono to dotnet
- build UBT/UAT on remote Mac
- exclude unnecessary UBT platform source from rsync upload
- modifications to UBT to allow it to compile with Linux and Lumin excluded
- manually convert CRLF for Mac shell scripts after rsync upload
#review
#rb Brandon.Schaefer
#fyi Ben.Marsh

[CL 15045791 by Jack Porter in ue5-main branch]
2021-01-11 21:17:03 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
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
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -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
Devin Doucette
5ca9fa38e0 Updated AutoSDK to allow unprivileged execution of the install/uninstall hooks when possible
#rb Josh.Adams

#ushell-cherrypick of 14843361 by Devin.Doucette

[CL 14843993 by Devin Doucette in ue5-main branch]
2020-12-03 11:37:32 -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
Josh Adams
df33c7885f - Added file logging to GenerteProjectFiles (saved to Engine/Programs/UnrealBuildTool/Log_GPF.txt)
- Improved GPF's SDK error printouts, with no more red error text, and just a list of bad platform SDKs, and a link to the log file to get the detailed information if desired
#rb ben.marsh

[CL 14475783 by Josh Adams in ue5-main branch]
2020-10-12 18:14:03 -04:00
Josh Adams
788aad5cb0 - Updated UEBuildPlatform[SDK] to look in DDPI.ini and not bother setting up SDKs for platforms that aren't enabled (no need to print out errors for missing platform SDKs for platforms that aren't valid, like consoles on Mac)
- Streamlined the logs for bad SDK versions, especially when multiple platforms have bad SDKs
- Skip over non-enabled platforms in some Turnkey commands

[CL 14462457 by Josh Adams in ue5-main branch]
2020-10-09 13:20:15 -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
christopher waters
f6ac73a50b Log to the console when we don't have a valid SDK. For now, only warn if the SDK is installed with the wrong version.
#rb Josh.Adams
#jira none

[CL 14388113 by christopher waters in ue5-main branch]
2020-09-24 13:00:46 -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
Josh Adams
d0daf0380c - Moved valid device software (flash) versions into UEBuildPlatformSDK subclasses to put alongside the SDK version, and made them min-max
- General fixes for some platforms
- DDPI now remembers the SDK version information from Turnkey
- Updated Turnkey Launch menu to have SDK information, including device software versions,
- Moved the initial turnkey query earlier before AutoSDKs are setup so envvars are not blown away for the child process
- Added concept of "Prepare For Debugging", but not enabled on any platforms yet (what it means is per platform, and is somewhere between cooking and packaging)
- VerifySdk Turnkey command now puts its output into a (x=y, z=w) format for easier parsing in C++
- NullCopyProvider now copies large remote files, and remote directories, locally before using

[CL 14377385 by Josh Adams in ue5-main branch]
2020-09-23 11:47:14 -04:00