Commit Graph

565 Commits

Author SHA1 Message Date
Tim Smith
a16bec0f79 Fixed issue with parsing and formatting of numbers which ended up using current locale instead of invariant.
Fixed issue where specifiers from a previous header file which errored out could be processed by a different header.

#rb self
#rnx
#preflight 6287df819b764703c318b150

[CL 20300575 by Tim Smith in ue5-main branch]
2022-05-20 15:02:24 -04:00
Ben Marsh
ec9357a257 Horde: Guard against exception when log value is null.
#preflight none

[CL 20299686 by Ben Marsh in ue5-main branch]
2022-05-20 14:31:15 -04:00
carl bystrom
e717f21af5 Horde: Add support for compressed files in compute tasks
When FileNode is marked as compressed, the appropriate method for download is used as compressed blobs are references by their uncompressed hash.
Files are still downloaded as-is and are not decompressed by the agent executor.

Flagging compression for files during upload is still left to be implemented.
#preflight 6287b26d5b568e5761f9a1a1

[CL 20295190 by carl bystrom in ue5-main branch]
2022-05-20 11:28:28 -04:00
Ben Marsh
ba6b53e861 Output EpicGames.Perforce.Native files to Engine/Binaries/DotNET rather than Engine/Binaries/{Platform}.
#preflight 62878a311e478b95c70b2ac8

[CL 20293335 by Ben Marsh in ue5-main branch]
2022-05-20 09:08:49 -04:00
Ben Marsh
3c4b903826 Revert change to use new DotNetPerforceLib. Causing problems with minimal workspaces on the farm.
#preflight none

[CL 20292827 by Ben Marsh in ue5-main branch]
2022-05-20 07:45:51 -04:00
Ben Marsh
99408a4501 Add UBT build files and BuildGraph script for EpicGames.Perforce.Native.
#preflight 6286e3768828ea88c814018c

[CL 20292753 by Ben Marsh in ue5-main branch]
2022-05-20 07:41:29 -04:00
Ben Marsh
53666aa143 Horde: Allow log value formatters to write JSON output directly to the output stream, and add support for annotating FileReference objects.
#preflight 62867f7415019f64774c2d9d

[CL 20284475 by Ben Marsh in ue5-main branch]
2022-05-19 14:34:21 -04:00
Ben Marsh
6f0dd55f41 Horde: Run event matchers inside UAT and UBT, rather than relying on Horde to do so. This is a step towards having having structured log events emitted at source, where we can make smarter decisions as to the meaning of tool output, and add additional context when parsing it.
#preflight 628550d8660b4a15be5a9859

[CL 20278597 by Ben Marsh in ue5-main branch]
2022-05-19 08:16:07 -04:00
Ben Marsh
21d420c5ad Horde: Add an agent command which builds UAT runs a BuildGraph script, parsing all the log output through the regular agent path.
#preflight none

[CL 20264248 by Ben Marsh in ue5-main branch]
2022-05-18 13:35:33 -04:00
Ben Marsh
49cf6fdb49 EpicGames.Core: Fix CommandLineArguments.MarkAsUnused() not correctly setting the flag value.
#preflight none

[CL 20263947 by Ben Marsh in ue5-main branch]
2022-05-18 13:24:41 -04:00
Ben Marsh
56d05026aa Horde: Fix race condition parsing output from child processes, caused by Json log events referencing memory directly in the output buffer.
#preflight none

[CL 20263941 by Ben Marsh in ue5-main branch]
2022-05-18 13:24:28 -04:00
Ben Marsh
1e81e25cec EpicGames.Perforce: Do not default to ignoring 'Empty' error responses. These are unpleasant to deal with when querying file collections, but are legitimate indications of errors when (for example) trying to submit empty changelists.
#preflight 628441a0614041edb73dfde4

[CL 20254565 by Ben Marsh in ue5-main branch]
2022-05-17 20:51:21 -04:00
Ben Marsh
a2267aa7e1 Delete EpicGames.LruCache. We're not using this at the moment, and will likely migrate it to be part of EpicGames.Horde in the future.
#preflight 62843291486700b561adaa50

[CL 20253894 by Ben Marsh in ue5-main branch]
2022-05-17 19:56:27 -04:00
Ben Marsh
e54ac34152 Upgrade EpicGames.Horde to NET 6.
#preflight 62842632ac1a933d4784bccc

[CL 20253385 by Ben Marsh in ue5-main branch]
2022-05-17 19:12:52 -04:00
Ben Marsh
b8e2cda212 EpicGames.Serialization: Add tests for deserializing dictionaries into read-only properties.
#preflight none

[CL 20252945 by Ben Marsh in ue5-main branch]
2022-05-17 18:40:04 -04:00
Ben Marsh
12a0d5010f EpicGames.Serialization: Support deserializing into getter-only collection properties.
#preflight none

[CL 20252879 by Ben Marsh in ue5-main branch]
2022-05-17 18:36:34 -04:00
Ben Marsh
5ca9fb8e90 EpicGames.Core: Speculative fix for exceptions when writing log output from background threads.
#preflight none

[CL 20248721 by Ben Marsh in ue5-main branch]
2022-05-17 15:03:25 -04:00
Ben Marsh
6b2db33d72 Horde: Add a log event parser into the standard EpicGames.Core.Log class.
#preflight 6283d02d114e08fa2f236b36

[CL 20245803 by Ben Marsh in ue5-main branch]
2022-05-17 12:57:51 -04:00
Ben Marsh
2c36dcfec8 Horde: Allow multiple clients to be mapped into the Perforce view. This will allow producing accurate diagnostics for compile errors introduced via AutoSDK.
Also fixes AutoSdk issue test.

#preflight none

[CL 20242014 by Ben Marsh in ue5-main branch]
2022-05-17 09:53:50 -04:00
Ben Marsh
6e67c868ed Horde: Remove Perforce information from Log parser context and event matchers, and add it in a post-process from the agent instead. This allows having to propagate context into UBT/UAT when adding structured logging context there.
#preflight 6282adb26d51c29ec41faaf6

[CL 20230659 by Ben Marsh in ue5-main branch]
2022-05-16 16:15:28 -04:00
Ben Marsh
ad3ba4ab43 BuildGraph: Allow use of absolute paths in Include elements.
#jira UE-152589
#preflight 6282aa6fc57a894cf697049d

[CL 20230392 by Ben Marsh in ue5-main branch]
2022-05-16 16:02:27 -04:00
Tim Smith
aa46703238 Updated C# UHT with recent C++ UHT changes
#rb self
#rnx
#preflight 628259b5cf7e4667a992c519

[CL 20224121 by Tim Smith in ue5-main branch]
2022-05-16 10:34:33 -04:00
Tim Smith
109d3f129a Minor optimizations by reducing allocations (removed over 300k allocations)
#rb self
#rnx
#preflight 62823aa5232610e495f735eb

[CL 20222185 by Tim Smith in ue5-main branch]
2022-05-16 08:19:46 -04:00
Tim Smith
cf928d1af1 Updated error handling as per change in C++ UHT.
#rb self
#rnx
#preflight 627e5a207c26e247734ca76d

[CL 20180526 by Tim Smith in ue5-main branch]
2022-05-13 09:36:52 -04:00
Ben Marsh
3355afade9 Remove extension methods to slice IList<T> types. Many types which are not naturally lists implement this interface.
New AsSegment() method allows creating a segment, while explicit extension methods now exist for explicitly slicing List<T>.

#preflight 627dddaa830b40b66810acd3

[CL 20178032 by Ben Marsh in ue5-main branch]
2022-05-13 01:19:06 -04:00