Commit Graph

148 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
andrew firth
83fe64ea47 [P4VUtils] - add Fast reconcile options for code + all - performs a reconcile on files in P4 that are writeable but NOT checked out
#review-17096558 @Ben.Marsh @Brandon.Dawnson
#rb Ben.Marsh

[CL 17096670 by andrew firth in ue5-main branch]
2021-08-07 22:49:04 -04:00
Ben Marsh
a283e63c2f Horde: Remove unnecessary dependency on LibGit2Sharp from EpicGames.Perforce.Managed.
[CL 17096409 by Ben Marsh in ue5-main branch]
2021-08-07 19:22:47 -04:00
Ben Marsh
62cd91dc81 Horde: Allow slicing lists starting at a given offset.
[CL 17094351 by Ben Marsh in ue5-main branch]
2021-08-07 10:42:53 -04:00
Ben Marsh
7572b4ed1a Horde: Support serialization of bool values to compact binary objects through attribute-driven serialization.
[CL 17094350 by Ben Marsh in ue5-main branch]
2021-08-07 10:41:52 -04:00
Ryan Hummer
6b69e1a718 Horede: Make fileSize Optional for the Perforce PrintRecord
Perforce is sometimes omitting that field which causes pre-flights to fail, and it's not used by any code right now.

[CL 17087306 by Ryan Hummer in ue5-main branch]
2021-08-06 16:11:13 -04:00
carl bystrom
d845594512 Horde: Prevent exceptions being swallowed during REAPI sandbox setup
* Improve test coverage for ActionExecutor by testing missing digest scenarios
* Raise a dedicated exception for missing digests for easier detection, primarily in tests

Previous use of ParallelTask.ForEachAsync prevented exceptions from being propagated. This caused create process exceptions to occur when the binary for an action could not be found.

[CL 17067435 by carl bystrom in ue5-main branch]
2021-08-05 09:40:15 -04:00
Joe Kirchoff
2bc7227518 UnrealBuildTool: Clean up some intellisense suggestions, format documents, remove and sort usings, etc.
#rb trivial
#rnx

[CL 17059447 by Joe Kirchoff in ue5-main branch]
2021-08-04 16:49:28 -04:00
jonathan adamczewski
e767d345a6 Make relative, with fewer allocations
[CL 17056403 by jonathan adamczewski in ue5-main branch]
2021-08-04 14:33:35 -04:00
jonathan adamczewski
e341fb6c77 UnrealBuildTool:
Add a -Help option that prints descriptions of global options.
(Tool mode options are not available - support for those may be added in a future CL)

Example output:

Global options:
  -Help               :  Display this help.
  -Verbose            :  Increase output verbosity
  -VeryVerbose        :  Increase output verbosity more
  -Log                :  Specify a log file location instead of the default Engine/Programs/UnrealBuildTool/Log.txt
  -Timestamps         :  Include timestamps in the log
  -FromMsBuild        :  Format messages for msbuild
  -Progress           :  Write progress messages in a format that can be parsed by other programs
  -NoMutex            :  Allow more than one instance of the program to run at once
  -WaitMutex          :  Wait for another instance to finish and then start, rather than aborting immediately
  -RemoteIni          :  Remote tool ini directory
  -Mode=              :  Select tool mode. One of the following (default tool mode is "Build"):
                           AggregateParsedTimingInfo, Build, Clean, Deploy, Execute, GenerateClangDatabase, GenerateProjectFiles,
                           IOSPostBuildSync, JsonExport, ParseMsvcTimingInfo, PVSGather, QueryTargets, SetupPlatforms,
                           ValidatePlatforms, WriteDocumentation, WriteMetadata
  -Clean              :  Clean build products. Equivalent to -Mode=Clean
  -ProjectFiles       :  Generate project files based on IDE preference. Equivalent to -Mode=GenerateProjectFiles
  -ProjectFileFormat= :  Generate project files in specified format. May be used multiple times.
  -Makefile           :  Generate Linux Makefile
  -CMakefile          :  Generate project files for CMake
  -QMakefile          :  Generate project files for QMake
  -KDevelopfile       :  Generate project files for KDevelop
  -CodeliteFiles      :  Generate project files for Codelite
  -XCodeProjectFiles  :  Generate project files for XCode
  -EddieProjectFiles  :  Generate project files for Eddie
  -VSCode             :  Generate project files for Visual Studio Code
  -VSMac              :  Generate project files for Visual Studio Mac
  -CLion              :  Generate project files for CLion
  -Rider              :  Generate project files for Rider

#jira none

[CL 17018675 by jonathan adamczewski in ue5-main branch]
2021-08-02 14:45:39 -04:00
Ben Marsh
2a68e1677c Horde: Rearrange public Horde classes and projects.
* EpicGames.Horde contains all types and functionality common to server, agent, and clients of Horde.
* EpicGames.Horde.Client contains client interfaces for calling server functionality (but not server stubs for implementing those interfaces). Together with EpicGames.Horde, this defines the public interface for Horde. Note that types are still defined within the EpicGames.Horde namespace.
* HordeCommon contains functionality common to the server and agent (eg. session/lease messaging, task data structures, etc...), but which is not exposed to clients of Horde.

EpicGames.Horde.Common contains legacy REAPI functionality and will be removed once CB-REAPI is up and running.

#fyi Joe.Kirchoff, Carl.Bystrom

[CL 17012746 by Ben Marsh in ue5-main branch]
2021-08-01 17:08:26 -04:00
Ben Marsh
63f8490d51 Missing files.
[CL 17012673 by Ben Marsh in ue5-main branch]
2021-08-01 16:30:18 -04:00
Ben Marsh
7ed866bbda Horde: Implement new gRPC interfaces for the blob store and ref table. Currently exist alongside the older implementations.
[CL 17012664 by Ben Marsh in ue5-main branch]
2021-08-01 16:27:17 -04:00
Ben Marsh
706c9feead Horde: Add common definitions for the ref table, blob store, and cbobject/iohash wrapper types.
[CL 17012437 by Ben Marsh in ue5-main branch]
2021-08-01 14:17:07 -04:00
Ben Marsh
fe1d35817a Horde: Add a constructor for the Requirements class.
[CL 17012388 by Ben Marsh in ue5-main branch]
2021-08-01 13:52:10 -04:00
Ben Marsh
a36be5a5ef Horde: Merge command with ComputeTask, and store requirements as a separate hashed object. This makes it easier to group tasks by requirements for scheduling.
[CL 17010334 by Ben Marsh in ue5-main branch]
2021-07-31 09:47:21 -04:00
Ben Marsh
f5f8905d86 Horde: Rename Action -> ComputeTask.
[CL 17010315 by Ben Marsh in ue5-main branch]
2021-07-31 09:32:46 -04:00
Ben Marsh
477b11f4c2 Horde: Add compact-binary version of remote execution structures.
[CL 17010301 by Ben Marsh in ue5-main branch]
2021-07-31 09:15:58 -04:00
Ben Marsh
fafbfc8dc0 Horde: Add a framework for being able to expand CB serialization with custom converters.
CbSerializer.RegisterConverterFactory() allows registering factories that can create custom CbConverter instances for different types.

Move tagged-property IL generation into its own converter factory (CbDefaultConverterFactory). Add custom converters for list and dictionary types.

[CL 17008251 by Ben Marsh in ue5-main branch]
2021-07-30 15:15:43 -04:00
Ben Marsh
1c721dd0b8 Horde: Add support for reading and writing list types to compact binary.
[CL 17000074 by Ben Marsh in ue5-main branch]
2021-07-29 15:36:21 -04:00
Ben Marsh
bb5d2556f0 Horde: Add IL generated serializer for reading objects. Optimized for fields ordered the same as the current class layout. Only currently supports some basic types (int, string, other objects).
[CL 16997462 by Ben Marsh in ue5-main branch]
2021-07-29 13:09:14 -04:00
Ben Marsh
283935a9e7 Horde: Generate dynamic methods for serializing compact binary objects.
[CL 16994864 by Ben Marsh in ue5-main branch]
2021-07-29 09:20:21 -04:00
Ben Marsh
14ee4949f4 Horde: Add a simple, attribute-based serializer for compact binary objects.
[CL 16983777 by Ben Marsh in ue5-main branch]
2021-07-28 12:40:35 -04:00
Ben Marsh
33b6c4e43a UAT: Always include timestamps in the on-disk log, even if they aren't displayed on the console
[CL 16964873 by Ben Marsh in ue5-main branch]
2021-07-26 22:09:24 -04:00
joe kirchoff
d77482768d [Backout] - CL16961198
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
Use Microsoft.CodeAnalysis.CSharp.Workspaces for code analysis

#rb none
#rnx

[CL 16961691 by joe kirchoff in ue5-main branch]
2021-07-26 17:58:54 -04:00