Commit Graph

16 Commits

Author SHA1 Message Date
devin doucette
bfda02d384 DDC: Replaced FRequest with FRequestGroup to handle nested and chained requests more robustly
Any function that may create a request now has a IRequestOwner& parameter, and uses the Begin and End functions on the owner to manage the lifetime of any requests that it creates, as well as using End to invoke the completion callback for any request which has one.

The new FRequestBarrier may be used to block a group from being considered complete in a scope where more requests may be added to it.

#rb Matt.Peters
#rnx
#preflight 6109b5c403d303000144cce5
#preflight 610acf7103d30300016fda94

#ROBOMERGE-SOURCE: CL 17060470 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v850-17047176)

[CL 17060649 by devin doucette in ue5-release-engine-test branch]
2021-08-04 18:08:50 -04:00
Devin Doucette
d0e04a4a76 DDC: Factored out cache bucket name validation and aligned it more closely with build function name validation
[CL 16509861 by Devin Doucette in ue5-main branch]
2021-05-31 12:43:42 -04:00
Devin Doucette
80dba78363 DDC: Factored out function name validation
[CL 16509761 by Devin Doucette in ue5-main branch]
2021-05-31 12:24:20 -04:00
Devin Doucette
162551d6bc DDC: Accept an input resolver for every variation of creating a build job
[CL 16509072 by Devin Doucette in ue5-main branch]
2021-05-31 10:09:01 -04:00
Devin Doucette
2c7c09cd30 DDC: Added UE::DerivedData::FBuildWorkerRegistry
#rb Zousar.Shaker
#rnx

[CL 16492343 by Devin Doucette in ue5-main branch]
2021-05-27 17:28:16 -04:00
Devin Doucette
19ded1fc44 DDC: Added the implementation of UE::DerivedData::IBuildSession
#rb Zousar.Shaker
#rnx

[CL 16456459 by Devin Doucette in ue5-main branch]
2021-05-25 17:03:30 -04:00
Devin Doucette
19480ae52b DDC: Added UE::DerivedData::Private::FBuildJob
FBuildJob is the primary implementation of IBuildJob that is responsible for executing builds.

#rb Zousar.Shaker
#rnx

[CL 16454958 by Devin Doucette in ue5-main branch]
2021-05-25 15:47:57 -04:00
Devin Doucette
3d796c5429 DDC: Added UE::DerivedData::IBuildScheduler and UE:::DerivedData::IBuildJob
IBuildScheduler schedules IBuildJob, which are created by the upcoming FBuildSession.

#rb Zousar.Shaker
#rnx

[CL 16452468 by Devin Doucette in ue5-main branch]
2021-05-25 13:27:48 -04:00
Devin Doucette
5672f53b55 DDC: Added UE::DerivedData::IBuildFunctionRegistry
IBuildFunctionRegistry is an interface to look up build functions and their versions by name.

#rb Zousar.Shaker
#rnx

[CL 16449017 by Devin Doucette in ue5-main branch]
2021-05-25 11:02:50 -04:00
Devin Doucette
c055e2e238 DDC: Renamed FBuildInput to FBuildInputs
#rb trivial
#rnx

[CL 16428408 by Devin Doucette in ue5-main branch]
2021-05-22 01:29:20 -04:00
Devin Doucette
e6d6d110aa DDC: Moved the module and IBuild implementation to their own files
#rb Zousar.Shaker
#rnx

[CL 16420332 by Devin Doucette in ue5-main branch]
2021-05-21 12:24:43 -04:00
Devin Doucette
e3600df4ee DDC: Added UE::DerivedData::FBuildInput
FBuildInput and the associated builder type collect the inputs for a build.

#rb Zousar.Shaker
#rnx

[CL 16406497 by Devin Doucette in ue5-main branch]
2021-05-20 13:53:48 -04:00
Devin Doucette
8ce8977949 DDC: Added optional versions of BuildAction, BuildDefinition, BuildOutput, CacheRecord
- Optional versions are now returned from operations that may fail.
- Fixed a bug in the cache where a null record could be dereferenced.
- Improved validation when loading build types.

#rb Zousar.Shaker
#rnx

[CL 16332909 by Devin Doucette in ue5-main branch]
2021-05-14 14:47:11 -04:00
Devin Doucette
31e8388cb0 DDC: Added UE::DerivedData::FBuildAction
FBuildAction and the associated builder type define the exact action to be executed, including the function and its version, and the inputs referenced by hash.

#rb Zousar.Shaker
#rnx
#preflight 609cbaed7ebade00018f29c9

[CL 16317116 by Devin Doucette in ue5-main branch]
2021-05-13 15:36:50 -04:00
Devin Doucette
cf09b53604 DDC: Added UE::DerivedData::FBuildOutput
FBuildOutput and the associated builder type define the output of a derived data build as a collection of payloads and diagnostic messages.

#rb Zousar.Shaker
#rnx
#preflight 609c0fc05b35c60001cbc2e3

[CL 16304655 by Devin Doucette in ue5-main branch]
2021-05-12 15:46:19 -04:00
Devin Doucette
0baafa125a DDC: Added the start of the new build interface UE::DerivedData::IBuild
This only includes the functionality required to create a build definition, and does not include the functionalty required to execute a build from the build definition.

#rb Zousar.Shaker
#rnx
#preflight 608cf5ef7343ea00016e58f4

[CL 16183533 by Devin Doucette in ue5-main branch]
2021-05-03 09:25:48 -04:00