Commit Graph

55 Commits

Author SHA1 Message Date
josh adams
f133254485 - Fixed up 3 Linux ContentWorker issues that came from the dotnet 6 upgrade (or other recent UE5 changes):
* Staged the wrong Dotnet directory when making CW from Windows (it would stage Dotnet/6.20.00/windows)
* The ScriptModule code that used the Automation.json files to discover the precompiled UAT script dlls didn't handle \'s on Linux in the paths, and since Windows wrote out the files, there are \'s aplenty. I fixed up the known issue, but possibly all paths loaded from the json files should be fixed up, but it's not easy to do automatically
* We moved to using RunUAT.sh instead of calling dotnet directly, however because we make the CW on Windows, dotnet was not executable, and the code in RunUAT.sh to find the dotnet executable and make it executable (chmod `which dotnet`) only works if dotnet is already executable! So, I moved the +x code into SetupDotnet.sh, on Linux and Mac
#rb eric.knapik
#preflight 62ccd2009922f7e512b6e51a

#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 21055451 via CL 21055464 via CL 21055478
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21076349 by josh adams in ue5-main branch]
2022-07-13 14:17:50 -04:00
Josh Adams
79f52f0a4e - Changed RunUAT.sh to always chmod u+x dotnet
#rb brandon.schaefer,mitchell.fisher
#jira UE-150680
#preflight skip

[CL 20013961 by Josh Adams in ue5-main branch]
2022-05-02 15:44:13 -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
david harvey
4f226f332c RunUAT.sh: Always build AutomationTool with msbuild
Avoid problem where insufficient dependency checking would fail to rebuild AutomationTool (and dependent projects) when needed.

 - Implement RunUAT.bat changes in CL 17505693 for RunUAT.sh


#rnx
#jira none
#rb Josh.Adams, Brandon.Schaefer
#fy Jonathan.Adamczewski

#ROBOMERGE-OWNER: david.harvey
#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 18085284 in //UE5/Release-5.0/... via CL 18085407
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18085418 by david harvey in ue5-release-engine-test branch]
2021-11-08 08:39:31 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
jonathan adamczewski
f270855eef AutomationTool: Compile script modules within the application
Add a layer of caching to avoid running msbuild as much as possible.

#jira UE-109181
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-09 10:39:35 -04:00
brandon schaefer
80223d8f9d Make killing the children of RunUAT more robust
#jira UE-113194
[REVIEW] [at]Michael.Sartain, [at]Josh.Adams
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 15982250 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15989635 by brandon schaefer in ue5-main branch]
2021-04-13 10:28:09 -04:00
jonathan adamczewski
70ed64e369 Fix "Build Tools CS Mac" on Mac
RunUAT.sh:
Setup Mono environment on Mac and Linux so that AutomationTool is able to launch xbuild for CsCompile tasks that have not been transitioned to NET Core.
(Linux change is untested)

CsCompileTask.cs:
Don't add the "/restore" argument to command line when building using xbuild as it does not appear to be supported.

InstalledEngineBuild.xml:
Remove CsCompile invocations for UAT projects as these are currently not able to be compiled by UAT: CsCompile does not know how use the bundled dotnet to build NET Core projects, and [our bundled] mono does not support NET Core projects.

This file is consumed by AutomationTool, which is compiled by RunUAT.sh. As such, it can generally be assumed that the UAT build is up to date when the built files are consumed (InstalledEngineBuild.xml has directives to tag the AutomationTool files to ensure they are included.)

#jira UE-112471

[CL 15902338 by jonathan adamczewski in ue5-main branch]
2021-04-02 12:03:38 -04:00
Joakim Lindqvist
ebccc2c5ce Removed node reuse and shared compilation flags for RunUAT.sh, these were not inteded to be submitted. They would disable the worker nodes which means we will now dotnet process hosting msbuild left after the build, which is annoying but a fairly substantial speed up. This is consistent with how RunUAT works on windows.
Also added -msbuild-verbose to RunUAT.sh for consistency with RunUAT.bat

#jira UE-104511

[CL 14947662 by Joakim Lindqvist in ue5-main branch]
2020-12-17 12:39:35 -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
161e9378b1 Removed passing UAT compile argument for net core, we handle this in the shell scripts.
#jira UE-103336

[CL 14786191 by Joakim Lindqvist in ue5-main branch]
2020-11-19 08:49:50 -04:00
Joakim Lindqvist
55025e031c Moved UAT plugin building to a seperate step controlled by AutomationTool.proj, this makes the process of building addins identical for installed builds and engine builds (but we still apply seperate logic to them).
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]
2020-11-18 08:46:54 -04:00
Joakim Lindqvist
2f6056b62b UAT Net-Core now supports running on Linux as well.
Set UE_USE_DOTNET=1 to enable this.

#rb ben.marsh

[CL 14641009 by Joakim Lindqvist in ue5-main branch]
2020-11-03 08:30:22 -04:00
Brandon Schaefer
8976972c66 Missing ; then for bash
#jira none
#rb none
#fyi Josh.Adams

[CL 14506196 by Brandon Schaefer in ue5-main branch]
2020-10-15 19:30:49 -04:00
Josh Adams
f2e37eab50 - Fixed a RunUAT.sh error with a missing space
[CL 14505094 by Josh Adams in ue5-main branch]
2020-10-15 17:18:16 -04:00
Josh Adams
19fb469c91 - Sety an env var in DesktopPlatform so that children processes know it's being run from an unreal process (UE_DesktopUnrealProcess=1)
- Use this in RunUAT.sh to control how the background workaround for child processes not dying is used for mono UAT
#rb brandon.schaefer
#fyi joakim.lindqvist

[CL 14504487 by Josh Adams in ue5-main branch]
2020-10-15 16:20:48 -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
38b23e7624 Fix check for UAT running from installed build.
#rb none
#jira UE-90537
[FYI] Chad.Garyet

#ROBOMERGE-SOURCE: CL 12154683 in //UE4/Release-4.25/... via CL 12154690
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v659-12123632)

[CL 12154702 by ben marsh in Main branch]
2020-03-12 17:00:54 -04:00
ryan durand
c11c085cf5 (Integrating from Dev-EngineMerge to Main)
Second batch of remaining Engine copyright updates.

#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10871196 in //UE4/Main/...
#ROBOMERGE-BOT: CORE (Main -> Dev-Core) (v626-10872990)

[CL 10902202 by ryan durand in Dev-Core branch]
2020-01-08 03:04:20 -05:00
Martin Ridgers
87cc3f5749 Native MSBuild implementation of UnrealBuildTool's discovery of platform extensions.
#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]
2020-01-07 06:58:43 -05:00
Ryan Durand
28d3d740dd (Integrating from Dev-EngineMerge to Main)
Second batch of remaining Engine copyright updates.

#rnx
#rb none
#jira none

[CL 10871196 by Ryan Durand in Main branch]
2019-12-27 07:44:07 -05:00
Rolando Caloca
1a30325d6f Copying //UE4/Dev-RenderPlat-Staging@9551419 to //UE4/Main
#rb none
#rnx

[CL 9551447 by Rolando Caloca in Main branch]
2019-10-11 15:33:31 -04:00
andrew grant
3398e55fc1 Require that installed mono is >= 5.0 to be used above UE bundled version (mono 4 does not appear to support .NET 4.6.2 projects)
Only use msbuild in mono when using an installed copy and not just when >= 5.0. The UE dist uses 5.16 but does not have the msbuild executable or dependencies (will address for 4.24 - UE-78476)

Explicitly use bash when calling .RunUAT.sh from from root stub file for OSs that are set to use a different shell

#jira UE-78311
[FYI] ben.marsh,arciel.rekman,michael.trepka,tim.gautier
#rb na

#ROBOMERGE-SOURCE: CL 7828884 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v389-7813075)

[CL 7828885 by andrew grant in Main branch]
2019-08-06 19:56:37 -04:00