Commit Graph

144 Commits

Author SHA1 Message Date
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
jonathan adamczewski
c12d99d854 .net6.0 is not supported in VS2019. Suppress warnings about that when using that IDE (with this change, when building UnrealBuildTool & AutomationTool)
#jira none
#rnx
#rb joe.kirchoff
#preflight 624f2c163c2aff69c54ff9eb

[CL 19675097 by jonathan adamczewski in ue5-main branch]
2022-04-07 15:06:02 -04:00
jonathan adamczewski
c1bb6901bf Upgrade to .NET 6.0
#jira UE-119846
#preflight 624cbb2ecc0872e96b0d5181

[CL 19652696 by jonathan adamczewski in ue5-main branch]
2022-04-06 14:46:50 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
Josh Adams
e4c8fb444b - Linux on SteamDeck support (from Windows host)
#preflight 62387f09be1e4104d3457e46

[CL 19451382 by Josh Adams in ue5-main branch]
2022-03-21 09:58:17 -04:00
Josh Adams
1cac5f0077 - Moved ini struct/map parsing out of Turnkey/WinPlatform to ConfigHierarchy so they can be shared, and used elsewhere
#jira none
#rb brandon.schaefer
#preflight 62352ded48746817f14246b4
#preflight 6238709dc3399da9531164a3

[CL 19450836 by Josh Adams in ue5-main branch]
2022-03-21 08:39:34 -04:00
josh adams
73790836c2 - Added PlatformValues to DeviceInfo in UAT land. Removed the Subtype field and changed it's very limited use to PlatformValues
- Added support for copying remote debugging files to SteamDeck when deploying
- Username is now pulled out of the Device info, or put on the commandline via -deviceuser to override
#rb brandon.schaefer
#jira none
#p4v-preflight-copy 19392535
#preflight 6233ac4af101b8d0afa9abf4

[CL 19428566 by josh adams in ue5-main branch]
2022-03-17 18:23:21 -04:00
brandon schaefer
47dcafd14b Fix minor issue on devkit-game folder may not exist on first upload
#jira UE-145123
#rb Josh.Adams
#preflight 62310b358a60379893848a6f

#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 19396920 in //UE5/Release-5.0/... via CL 19398379
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19403763 by brandon schaefer in ue5-main branch]
2022-03-16 03:46:44 -04:00
brandon schaefer
5141cd3106 Add initial support for Deploying Windows games to the SteamDeck through .ini entries
#jira UE-145123
[REVIEW] [at]Josh.Adams
#rb Josh.Adams, David.Harvey
#preflight 6230b118f33750e39249d834

#ROBOMERGE-OWNER: brandon.schaefer
#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 19389680 in //UE5/Release-5.0/... via CL 19391874
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19402230 by brandon schaefer in ue5-main branch]
2022-03-16 03:01:51 -04:00
David Harvey
6e97b931ec WinPlatform automation can be specalized by Windows-based platform extensions.
#jira UE-131865
#rnx
#preflight 622215a2c33b6ba25d054511
#rb Eric.McDaniel, Jeff.Newquist

[CL 19285391 by David Harvey in ue5-main branch]
2022-03-07 11:00:46 -05:00
Ben Marsh
a59ef99c07 BuildGraph: New mechanism for declaring graphs using C# code (WIP).
Nodes can now be implemented by arbitary C# methods. Graph structure is specified through expression trees implemented using Bg* types, which are not substituted with values until execution time. Doing so allows determination of node and option dependencies for a particular target, allowing us to generate dynamic UI for presenting relevant settings to the user.

Includes partial implementation of Installed Build script as an example implementation.

#preflight 61bb85d46c2686e86322eec9

[CL 18477305 by Ben Marsh in ue5-main branch]
2021-12-16 13:55:22 -05:00
jonathan adamczewski
db8046e278 Move DotNETCommon/BuildUtilities to Shared/EpicGames.Build
Also moves DotNETCommon/Metadata.cs to Shared/Metadata.cs

#jira none
#rb tim.smith

[CL 17116964 by jonathan adamczewski in ue5-main branch]
2021-08-10 11:08:41 -04:00
jonathan adamczewski
4ece24e65a AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

[CL 16648181 by jonathan adamczewski in ue5-main branch]
2021-06-11 18:20:44 -04:00
jonathan adamczewski
1f82bedc58 Removal some references to Mono
#trivial
#jira none

[CL 16171278 by jonathan adamczewski in ue5-main branch]
2021-04-30 14:34:17 -04:00
ben marsh
fe37a5c2a0 Rename UE4PrereqSetup to UEPrereqSetup.
#rb none
#rnx

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

[CL 15454168 by ben marsh in ue5-main branch]
2021-02-18 13:09:22 -04:00
Josh Adams
345dd90a6a - Fixed cooking for Win64 error
#rb none

[CL 15270340 by Josh Adams in ue5-main branch]
2021-02-01 10:00:59 -04:00
Josh Adams
b0e4357576 - UBT Code changes to remove 32-bit Windows support (C++ code for 32-bit still exists)
#rb marc.audy (concept, not each file)

[CL 15265424 by Josh Adams in ue5-main branch]
2021-01-31 15:09:58 -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
700dc86148 - Improved Windows SDK detection - moved functionality from UEBuildWindows.cs to MicrosoftPlatformSDK.cs so Turnkey "installed sdk" uses the same function that UBT will use to choose the SDK from a list of preferred SDKs, with fallbacks to other locations.
- Windows allows for any SDK to be used without updating Env vars, etc, so we don't really need a strict single "InstalledVersion" - we dynamically choose a version every run of UBT, and now Turnkey will match this logic
- Added device detection to Turnkey for Windows
#rb david.harvey,chris.waters

[CL 14995008 by Josh Adams in ue5-main branch]
2021-01-05 17:06:07 -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
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Joakim Lindqvist
017048f505 Changed pdb format to not use portable pdbs (which is the default in net core) and instead back to our old pdb configuration.
This resolves a issue with PCBs were pdbcopy failed to run because it does not support portable pdbs.

#rb none

[CL 14837521 by Joakim Lindqvist in ue5-main branch]
2020-12-02 14:54:53 -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
Joakim Lindqvist
1b4f6b3ac9 Changed output directory for UAT projects under netcore, now outputting to a seperate directory for each addin. This avoids the risk of output stomping each other breaking incremental builds. Furthermore it makes it easier to understand who adds what dependency to the output.
Also cleaned up some output assemblies, preventing all transative references from being outputed (as we assume they build directly to the output directory instead). Unfortunatley the UBT references still cause tranastive dependencies to be copied as this is also a executable that needs to work outside of UAT as well, we should eventually move all UBT referenced code into BuildUtilities.

#rb none
#fyi ben.marsh

[CL 14775171 by Joakim Lindqvist in ue5-main branch]
2020-11-18 10:18:50 -04:00