Commit Graph

304 Commits

Author SHA1 Message Date
Devin Doucette
e6d74aa8aa DDC: Reorganized functions in the build job
The code is now organized based on what states do, rather than what order they typically execute in. This now matches the function order in the scheduler and the job interface. There are no changes aside from reordering of functions.

#rb trivial
#rnx

[CL 16510516 by Devin Doucette in ue5-main branch]
2021-05-31 15:19:28 -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
73afaecfb3 DDC: Renamed GetFileData to FindFileData to clarify that it can fail
[CL 16509556 by Devin Doucette in ue5-main branch]
2021-05-31 11:52:47 -04:00
Devin Doucette
542c9e98dd DDC: Renamed GetInput+GetConstant to FindInput+FindConstant to clarify that they may return null
[CL 16509548 by Devin Doucette in ue5-main branch]
2021-05-31 11:52:00 -04:00
Devin Doucette
b9c97d3ecb DDC: Verify the hash of build inputs after decompression
[CL 16509475 by Devin Doucette in ue5-main branch]
2021-05-31 11:40:00 -04:00
Devin Doucette
f9ba239b54 DDC: Added missing file DerivedDataBuildPolicy.h
[CL 16509431 by Devin Doucette in ue5-main branch]
2021-05-31 11:32:16 -04:00
Devin Doucette
ec9c101705 DDC: Moved EBuildPolicy to its own header to remove private dependencies on the build session
[CL 16509362 by Devin Doucette in ue5-main branch]
2021-05-31 11:18:14 -04:00
Devin Doucette
044fb52302 DDC: Attempt to resolve inputs from the action if the definition is not available
[CL 16509325 by Devin Doucette in ue5-main branch]
2021-05-31 11:09:49 -04:00
Devin Doucette
d6080f3b06 DDC: Reworked IBuildInputResolver to clarify function names and callback parameters
[CL 16509245 by Devin Doucette in ue5-main branch]
2021-05-31 10:48:07 -04:00
Devin Doucette
9689dd5efe DDC: Made the input resolver optional when constructing a build session
[CL 16509163 by Devin Doucette in ue5-main branch]
2021-05-31 10:30:13 -04:00
Devin Doucette
f934d5abfd DDC: Renamed the input resolver states in the build job for clarity
[CL 16509104 by Devin Doucette in ue5-main branch]
2021-05-31 10:18:16 -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
9b3aaef222 DDC: Fixed an incorrect comment tag in DerivedDataBuildWorkerRegistry.h
#rb trivial
#rnx

[CL 16509023 by Devin Doucette in ue5-main branch]
2021-05-31 09:57:56 -04:00
Devin Doucette
d919edae8a DDC: Added the missing file from 16492343
#rb none
#rnx

[CL 16492554 by Devin Doucette in ue5-main branch]
2021-05-27 17:43:11 -04:00
Devin Doucette
914d527945 DDC: Added remote execution to the build job
#rb Zousar.Shaker
#rnx

[CL 16492345 by Devin Doucette in ue5-main branch]
2021-05-27 17:28:24 -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
3cf410461a DDC: Added FBuildInputs::IterateInputs
#rb Zousar.Shaker
#rnx

[CL 16492324 by Devin Doucette in ue5-main branch]
2021-05-27 17:27:26 -04:00
Devin Doucette
536fcf5fb5 DDC: Minor fixes and tweaks discovered while integrating remote execution
#rb Zousar.Shaker
#rnx

[CL 16492321 by Devin Doucette in ue5-main branch]
2021-05-27 17:27:15 -04:00
Devin Doucette
11970dd120 DDC: Reordered RawHash and RawSize fields in FBuildOutput for consistency
#rb trivial
#rnx

[CL 16489629 by Devin Doucette in ue5-main branch]
2021-05-27 15:03:26 -04:00
Devin Doucette
beddadb525 DDC: Made the builder worker interface public and modified it to optimize job scheduling
#rb none
#rnx

[CL 16488145 by Devin Doucette in ue5-main branch]
2021-05-27 13:42:09 -04:00
Devin Doucette
600ee5377a DDC: Added serialization of FCacheRecord to/from FCbPackage
#rb Devin.Doucette
#rnx

#ushell-cherrypick of 16476127 by Matt.Peters

[CL 16483925 by Devin Doucette in ue5-main branch]
2021-05-27 10:16:47 -04:00
Devin Doucette
32d71bf15f DDC: Added interfaces for external build workers
- IBuildWorkerFactory creates a FBuildWorker that describes the functions, environment, files, and platform of the worker.
- IBuildWorkerExecutor asynchronously executes a build action and inputs against a build worker.
- IBuildWorkerRegistry discovers and registers build workers, and dispatches builds from build jobs.

#rb Zousar.Shaker
#rnx

[CL 16476660 by Devin Doucette in ue5-main branch]
2021-05-26 17:49:09 -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