Commit Graph

77 Commits

Author SHA1 Message Date
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
8dc68a7f85 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

[CL 17102399 by jonathan adamczewski in ue5-main branch]
2021-08-09 10:39:09 -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
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
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -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
Ben Marsh
046deaee42 Adding scripts to detect and fix inconsistent case of files in Perforce.
To check for inconsistent case:

    CheckPerforceCase -Path=//UE4/Main/Engine/...

To fix files with inconsistent case:

    FixPerforceCase -Source=//UE4/Main/Engine/Build/ios/... -Target=//UE4/Main/Engine/Build/IOS/...

#rb none

[CL 12766655 by Ben Marsh in Main branch]
2020-04-13 17:49:51 -04:00
ben marsh
6f6fe556a9 Move UploadDDCToAWS into a public folder.
#jira

#ROBOMERGE-SOURCE: CL 12626508 via CL 12626514 via CL 12626520
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12626541 by ben marsh in Main branch]
2020-04-06 14:26:20 -04:00
andrew grant
7b12578a61 Cleaned up benchmark script.
Added EditorStartup test



#ROBOMERGE-SOURCE: CL 11943314 via CL 11944263 via CL 11944396 via CL 11944577
#ROBOMERGE-BOT: (v656-11643781)

[CL 11947228 by andrew grant in Main branch]
2020-03-05 13:50:48 -05:00
anthony bills
f31d99a3f9 Add BuildCMakeLib UAT automation script for building third party libraries that use CMake.
- This is based off BuildPhysx.Automation.cs and could be unified with this in the future.
- Update some CMakeLists.txt to support this.
- Convert ICU CMakeLists.txt to support cmake 3.5.2 that ships with the engine.
- Fix up some whitespace in BuildPhysX.

[at]brian.white
#jira UE-81798

#ROBOMERGE-SOURCE: CL 11597283 in //UE4/Release-4.25/... via CL 11597290
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v655-11596533)

[CL 11597322 by anthony bills in Main branch]
2020-02-25 07:23:55 -05:00
andrew grant
03617b67df Integrated scripts for doing simple benchmarking of build steps from Private-Profiling.
Also includes -noshaderddc option for emulating a cold DDC for shaders only.


#rb na
#ROBOMERGE-OWNER: andrew.grant
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 11519411 via CL 11519529 via CL 11519553
#ROBOMERGE-BOT: (v654-11333218)

[CL 11524747 by andrew grant in Main branch]
2020-02-18 17:19:54 -05:00
andrew grant
bb2842930b Moved SyncProject script out of notForLicensees, tidied it up a bit, added -build and -open commands
Added BuildTarget script that can builds specified targets for a project
Added OpenEditor utility script

[FYI] ben.marsh


#ROBOMERGE-SOURCE: CL 7553441 via CL 7553450 via CL 7568654
#ROBOMERGE-BOT: (v372-7473910)

[CL 7569064 by andrew grant in Main branch]
2019-07-23 15:25:57 -04:00
Arciel Rekman
7ef9626fe8 Copying //UE4/Dev-Console@6677439 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 6677614 by Arciel Rekman in Main branch]
2019-05-30 14:48:02 -04:00
Ben Marsh
0cc6e3dca6 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 6631504 by Ben Marsh in Main branch]
2019-05-24 11:51:54 -04:00
ben marsh
538c5af680 Add some FileReference/DirectoryReference overloads to CommandUtils.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 5357972 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5367811 by ben marsh in Main branch]
2019-03-12 06:53:12 -04:00
ben marsh
0817777c73 UAT: Add a build command to parse the output from MSVC's /d1reportTime argument, and convert it into a trace that can be visualized in Chrome's chrome://tracing tab.
To generate an input file, compile a single file with UnrealBuildTool and redirect the output to a text file:

    UnrealBuildTool.exe UE4Editor Win64 Development -SingleFile="E:\P4\Engine\Source\Runtime\Core\Private\Misc\CoreGlobals.cpp" -Timing > E:\Output.txt

To convert into a trace readable by chrome:

   AutomationTool.exe ParseMsvcTimingInfo -File=E:\Output.txt

Output file will be written to the same directory as the input file, but with a json extension.

#jira


#ROBOMERGE-SOURCE: CL 4896073 via CL 4896742

[CL 4896785 by ben marsh in Main branch]
2019-02-05 00:35:21 -05:00
Ben Marsh
a22b952aa9 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 4718806 by Ben Marsh in Main branch]
2019-01-14 12:11:24 -05:00
Ben Marsh
0f885bbf64 Switch UAT and UBT to use .NET 4.6.2, in order to support long file names (which is enabled via an app.manifest file in each application).
#rb none

[CL 4679962 by Ben Marsh in Dev-Build branch]
2019-01-03 16:47:48 -05:00
Ben Marsh
b0da1f4fe7 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none

[CL 4577636 by Ben Marsh in Dev-Build branch]
2018-11-19 10:12:17 -05:00
Ben Marsh
ea340d3fbf Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 4567513 by Ben Marsh in Main branch]
2018-11-14 19:05:13 -05:00
Marc Audy
af90b7bcd4 Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main) @ 4395008
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4395058 by Marc Audy in Main branch]
2018-09-25 10:11:35 -04:00
Ben Marsh
241e59921c UAT: Add a command for stashing and unstashing a target. Useful for A/B testing. Example syntax:
Stashing:

RunUAT StashTarget -Name=UE4Editor -To=D:\TempEditor
RunUAT StashTarget -Name=UE4Editor -Platform=Win64 -Configuration=Debug -To=D:\TempEditor
RunUAT StashTarget -Name=ShooterGameEditor -Platform=Win64 -Configuration=Debug -Project=D:\P4\Samples\ShooterGame\ShooterGame.uproject -To=D:\TempEditor

Unstashing:

RunUAT UnstashTarget -From=D:\TempEditor

#fyi Stefan.Boberg
#rb none

[CL 4336597 by Ben Marsh in Dev-Build branch]
2018-08-31 11:49:06 -04:00
Ben Marsh
b2bdba9c3e UAT: Add a script that checks that the following macro pairs are correctly balanced within every source file in the engine:
* PRAGMA_DISABLE_OPTIMIZATION and PRAGMA_ENABLE_OPTIMIZATION
* PRAGMA_DISABLE_DEPRECATION_WARNINGS and PRAGMA_ENABLE_DEPRECATION_WARNINGS
* THIRD_PARTY_INCLUDES_START and THIRD_PARTY_INCLUDES_END
* PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS and PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS
* PRAGMA_DISABLE_UNDEFINED_IDENTIFIER_WARNINGS and PRAGMA_ENABLE_UNDEFINED_IDENTIFIER_WARNINGS
* PRAGMA_DISABLE_MISSING_VIRTUAL_DESTRUCTOR_WARNINGS and PRAGMA_ENABLE_MISSING_VIRTUAL_DESTRUCTOR_WARNINGS"
* BEGIN_FUNCTION_BUILD_OPTIMIZATION and END_FUNCTION_BUILD_OPTIMIZATION
* BEGIN_FUNCTION_BUILD_OPTIMIZATION and END_FUNCTION_BUILD_OPTIMIZATION
* BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION and END_SLATE_FUNCTION_BUILD_OPTIMIZATION

Additional projects to scan may be specified with the -Project=<FileName> argument.

#rb none

[CL 4335790 by Ben Marsh in Dev-Build branch]
2018-08-30 21:52:00 -04:00