Commit Graph

4589 Commits

Author SHA1 Message Date
ben marsh
a7a7d64386 Build fix.
[CL 30960714 by ben marsh in ue5-main branch]
2024-01-28 16:36:08 -05:00
ben marsh
ab80ea0a41 Horde: Add separate types for blob handles with a hash (IBlobRef) and blob handles with a hash and serialization options (IBlobRef<T>). Storing serialization options inside IBlobRef<T> implementations removes a lot of boilerplate code to pass options objects around, and ensures consistency when navigating object hierarchies.
[CL 30957772 by ben marsh in ue5-main branch]
2024-01-27 19:24:46 -05:00
joe kirchoff
68c06bfbcc UnrealBuildTool: Remove VS2019 support
#jira UE-190039

[CL 30943783 by joe kirchoff in ue5-main branch]
2024-01-26 17:21:00 -05:00
brendan lienau
028130e2dc [Gauntlet] Adds new UnrealSession.LaunchSession flow using new TargetDevice functions
This new flow is disabled by default and requires -ExperimentalLaunchFlow to be present to run

Changes:
- Current implementation of LaunchSession has been moved to Legacy_LaunchSession(). Adding further references should be avoided.
- Exception guarding happens in several steps, improving clarity on which step failures occur in LaunchSession
- Tests that run several iterations will now clean the device artifacts between each run without needing a full re-install of the build
- UnrealDeviceReservation can now choose to release only problem devices
- When a problem device is encountered during LaunchSession, only the problem device(s) will be released to the pool instead of all devices
- Overall improvements to logging

#rb Ryan.Bazinet, Marcelo.Gomes
#jira UE-201402

[CL 30931650 by brendan lienau in ue5-main branch]
2024-01-26 13:22:42 -05:00
rafa lecina
881b698a18 Scape '(' and ')' in the session name when launching on Android.
Otherwise it will fail to launch from project launcher since session name is like `DeviceName (SerialNumber)` with the error `/system/bin/sh: syntax error: unexpected '('`

[REVIEW] [at]Chris.Babcok

#rb Chris.Babcock

[CL 30922981 by rafa lecina in ue5-main branch]
2024-01-26 09:49:05 -05:00
jerome delattre
0f828e1340 Override Horde testdata filename through ArtifactName option
#jira UE-204256
#rnx

#rb rob.huyett, sean.sweeney, sebastian.lewicki

[CL 30899891 by jerome delattre in ue5-main branch]
2024-01-25 16:09:30 -05:00
leon huang
4ca1807120 Localization:
- Allow Localize UAT command to skip plugins that either have a .uplugin that isn't updated with a localization config generation policy or a config generation policy of Never.
- Added a log to inform user if no localization batches matching the user input criteria were found and early out of the build command.
- Cleaned up the logging for cleaning up auto-generated config files and directories. Now the logs print only when there actually were auto-generated logs and directories.
- All plugins that are a part of the user provided include list that does not have any localization targets or should not be gathered are now removed from the localization list and those plugins are not enabled.
#rb: Jamie.Dale
#jira: FORT-697911

[CL 30837248 by leon huang in ue5-main branch]
2024-01-24 04:20:16 -05:00
lorry li
0980390e94 Migrate retry system total timeout for http request, by adding total timeout feature in http request;
Deprecate HttpTimeout config, use HttpActivityTimeout or HttpTotalTimeout instead;
Deprecate HttpSendTimeout config, only use HttpActivityTimeout;
Make HttpActivityTimeout work on all platforms, not only CurlHttp;
Added corresponding http tests;
Now because timeout migrated, enable new flow by default in retry system to have non-game thread support.

#jira UE-197485, UE-202201
[REVIEW] [at]michael.atchison [at]michael.kirzinger [at]rafa.lecina
#rb michael.atchison, Michael.Kirzinger
#tests Tested through WebTests project on all platforms, also tried the game on PC.

[CL 30817277 by lorry li in ue5-main branch]
2024-01-23 16:08:08 -05:00
ben marsh
eed8d5d68f Allow specifying the content description attribute for signed files, and set appropriate names for the Horde MSIs. These descriptions are displayed in UAC prompts, and default to random numbers if not specified explicitly.
[CL 30814679 by ben marsh in ue5-main branch]
2024-01-23 15:01:32 -05:00
chris varnsverry
f12ea6b8eb - Fix UAT not suggesting -skipcook as an option when Stage is requested and no cook param is provided.
- Note Cook is true when -skipcook is set on command line so the condition itself is valid it just was missing -skipcook in the exception message

[REVIEW] [at]Alejandro.Aguilar [at]Rob.Cannaday

#rb alejandro.aguilar

[CL 30806276 by chris varnsverry in ue5-main branch]
2024-01-23 11:08:05 -05:00
ben marsh
0f86fe449b Build fix.
[CL 30793304 by ben marsh in ue5-main branch]
2024-01-22 21:20:51 -05:00
ben marsh
7dac926f00 Horde: Query the server API version before uploading tool data, and fall back to using older storage formats if the server requires it.
[CL 30762520 by ben marsh in ue5-main branch]
2024-01-21 13:52:05 -05:00
ben marsh
68fb925251 Horde: Add a singleton IHordeClient object which allows constructing new HordeHttpClient instances. Allows keeping all the configuration/state in one place.
[CL 30761845 by ben marsh in ue5-main branch]
2024-01-21 10:33:11 -05:00
jerome delattre
7d7290ab2b Revert change in conditional copy of log file in Gauntlet UnrealSession
#rnx

[CL 30716967 by jerome delattre in ue5-main branch]
2024-01-19 11:21:00 -05:00
jerome delattre
24ae93d9f3 Remove References to internal Horde server deployment and network path
#jira UE-201978
#rnx

#rb sean.sweeney, sebastian.lewicki

[CL 30715888 by jerome delattre in ue5-main branch]
2024-01-19 10:19:49 -05:00
leon huang
e081b22abe Localization:
Allow multiple localization batches to run with a single invocation of the Editor.
- Previously, when plugins are added each plugin will be gathered by a new Editor process. This change collapses all the batches to be gathered by a single Editor.
- This consolidation is done by writing all of the config files needed for the gather into a .txt file and passed to the GatherText commandlet
- GatherTextCommandlet now supports the -ConfigList parameter which will load a .txt file with 1 config file per line to be executed.
- Introduced the ConsolidateConfigFiles parameter to the Localize UAT command. This consolidates all of the config files across the various localization batches into a single .txt file. This file is then passed to the GatherText commandlet to be run.

#rb: Jamie.Dale
#jira: FORT-697905
#test: Ran this locally to verify that localizing 2 plugins in batches and in consolidated form yield the same result. Non-unity of preflight also passed

[CL 30703287 by leon huang in ue5-main branch]
2024-01-18 19:28:00 -05:00
mattias jansson
eba1214cf5 Avoid waiting for std streams timeout in consecutive calls if WaitForExit is called multiple times on the process result object
#rb Yuriy.ODonnell

[CL 30695273 by mattias jansson in ue5-main branch]
2024-01-18 15:46:51 -05:00
jerome delattre
996d262734 Fix log output not being human readable
+ Handle setting up the default command line arguments through TargetDeviceDesktopCommon
+ Align log settings across configs

#jira UE-203448
#rnx

#rb brendan.lienau, sebastian.lewicki

[CL 30684372 by jerome delattre in ue5-main branch]
2024-01-18 10:38:15 -05:00
edwin maynard
095a90ad86 [Backout] - CL30679846
[FYI] Leon.Huang
Original CL Desc
-----------------------------------------------------------------
Localization:
Allow multiple localization batches to run with a single invocation of the Editor.
- Previously, when plugins are added each plugin will be gathered by a new Editor process. This change collapses all the batches to be gathered by a single Editor.
- This consolidation is done by writing all of the config files needed for the gather into a .txt file and passed to the GatherText commandlet
- GatherTextCommandlet now supports the -ConfigList parameter which will load a .txt file with 1 config file per line to be executed.
- Introduced the ConsolidateConfigFiles parameter to the Localize UAT command. This consolidates all of the config files across the various localization batches into a single .txt file. This file is then passed to the GatherText commandlet to be run.

#rb: Jamie.Dale
#jira: FORT-697905
#test: Ran this locally to verify that localizing 2 plugins in batches and in consolidated form yield the same result

[CL 30681015 by edwin maynard in ue5-main branch]
2024-01-18 07:07:19 -05:00
leon huang
cc4f2e613f Localization:
Allow multiple localization batches to run with a single invocation of the Editor.
- Previously, when plugins are added each plugin will be gathered by a new Editor process. This change collapses all the batches to be gathered by a single Editor.
- This consolidation is done by writing all of the config files needed for the gather into a .txt file and passed to the GatherText commandlet
- GatherTextCommandlet now supports the -ConfigList parameter which will load a .txt file with 1 config file per line to be executed.
- Introduced the ConsolidateConfigFiles parameter to the Localize UAT command. This consolidates all of the config files across the various localization batches into a single .txt file. This file is then passed to the GatherText commandlet to be run.

#rb: Jamie.Dale
#jira: FORT-697905
#test: Ran this locally to verify that localizing 2 plugins in batches and in consolidated form yield the same result

[CL 30680047 by leon huang in ue5-main branch]
2024-01-18 05:02:14 -05:00
will brown
cd95976e6b UAT - Extending ICustomStageCopyHandler to support overriding of the plugin manifest file creation. Allows game projects to have control over how plugin descriptors are added to the manifest
#rb Josh.Adams, robert.millar

[CL 30668433 by will brown in ue5-main branch]
2024-01-17 16:09:07 -05:00
ben marsh
f0e4c496ae Horde: Merge IStorageWriter and IBlobWriter.
[CL 30667967 by ben marsh in ue5-main branch]
2024-01-17 15:55:37 -05:00
josh adams
980ffe3ce7 - Allow for code to set ProjectParams.UnrealExe (not used in Main, but this restores functionality that was removed)
#rb josh.adams

[CL 30661384 by josh adams in ue5-main branch]
2024-01-17 12:15:06 -05:00
josh adams
8de5dde4df - Added support for UAT to cook with a specific project's editor .exe for projects that use a Unique BuildEnvironment (this will cook with the game's editor, so it will use the game's uniquely compiled engine modules (useful for per-project SDKs that have different targetplatform dlls)
- The target receipt already listed the proper exe to run, taking unique/shared into account, so this change delayed-looks-up the path from the receipt on first use (like when running the editor to cook)
#rb david.harvey

[CL 30658383 by josh adams in ue5-main branch]
2024-01-17 10:07:42 -05:00
ben marsh
a4265b060a Horde: Refactor of IStorageClient/IStorageBackend.
* IStorageBackend now includes methods for manipulating aliases and refs. All interaction with blobs is done through BlobLocators. This is the level of abstraction that the HTTP backend / controllers operate at.
* IStorageClient only manipulates blobs via handles, which abstracts any packing/compression/buffering that BundleStorageClient does.
* IBlobHandles no longer needs to include methods for partial reads, nesting, etc... Nesting of blobs within packets/bundles is now an implementation detail within the bundle storage client.

[CL 30648868 by ben marsh in ue5-main branch]
2024-01-16 18:08:13 -05:00