Commit Graph

17 Commits

Author SHA1 Message Date
devin doucette
01c33e6702 DDC: Reworked FBuildSession to allow filtering of payloads
- Build now takes optional inputs for consistency with BuildAction.
- BuildAction has been renamed to Build and works the same as Build except it starts from an action.
- Build now takes a FBuildPolicy, which is implicitly constructible from EBuildPolicy, and allows setting the policy by payload.
- FBuildContext and FBuildConfigContext now have policy masks that allow clearing flags across every payload in the build.
- EBuildPolicy has CacheStore split into CacheStoreOnQuery and CacheStoreOnBuild for more control of cache behavior.
- Builds now use consistent completion callback parameters, FBuildCompleteParams.
- Build types now have debugger visualization.

#rb Zousar.Shaker
#rnx

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 17874670 in //UE5/Release-5.0/... via CL 17874724
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17874740 by devin doucette in ue5-release-engine-test branch]
2021-10-20 12:38:01 -04:00
devin doucette
e5afff71d4 DDC: Switched to FLazyEvent to reduce build execution overhead
#rb Zousar.Shaker
#rnx
#preflight 614d5c567684f50001a07c40

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 17629838 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17629859 by devin doucette in ue5-release-engine-test branch]
2021-09-27 09:36:23 -04:00
devin doucette
750419503e DDC: Added ECachePolicy::KeepAlive and EBuildPolicy::CacheKeepAlive
The new flags are meant to prevent a cache store from evicting the associated cache records for the duration of the session.

#rb Zousar.Shaker
#rnx
#preflight 614954b611925a00017c525f

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 17579887 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17579899 by devin doucette in ue5-release-engine-test branch]
2021-09-21 01:10:55 -04:00
devin doucette
c39e30cfd7 Added missing includes of DerivedDataPayload.h found by the non-unity build
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 17426590 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17426595 by devin doucette in ue5-release-engine-test branch]
2021-09-03 17:11:57 -04:00
devin doucette
c67fcf1702 DDC: Split DerivedDataRequest.h and rename DerivedDataBuildPolicy.h
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 17086960 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17086977 by devin doucette in ue5-release-engine-test branch]
2021-08-06 15:50:00 -04:00
devin doucette
bd60f3ef1b DDC: Removed ICacheFactory in favor of exported functions
FCacheBucket is now always exposed as FAnsiStringView.

#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 17084521 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17084549 by devin doucette in ue5-release-engine-test branch]
2021-08-06 12:53:08 -04:00
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
c29fdcf532 DDC: Compress payloads using Oodle Mermaid VeryFast
#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 16956293 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16956298 by devin doucette in ue5-release-engine-test branch]
2021-07-26 10:29:10 -04:00
devin doucette
58774329d7 DDC: Exposed the cache key and build status in the build complete callback params
#rb Zousar.Shaker
#rnx
#preflight 60f5c7a78da1560001c68086

#ROBOMERGE-SOURCE: CL 16888763 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16888787 by devin doucette in ue5-release-engine-test branch]
2021-07-19 16:49:25 -04:00
devin doucette
540937d6f0 DDC: Fixed errors with NO_LOGGING
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16863666 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16863682 by devin doucette in ue5-release-engine-test branch]
2021-07-15 12:30:05 -04:00
devin doucette
f12c9ea467 DDC: Exposed the name of the build job to the build function
#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 16743715 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16743721 by devin doucette in ue5-release-engine-test branch]
2021-06-22 11:27:03 -04:00
Devin Doucette
97be0c7aff DDC: Added CreateCacheBucket to FBuildConfigContext
#rb Zousar.Shaker
#rnx

[CL 16548191 by Devin Doucette in ue5-main branch]
2021-06-03 11:48:59 -04:00
Devin Doucette
e2aaddd829 CompactBinary: Made buffers and views easier to use by eliminating the complex options
- Renamed TryGetSerialized[Range]View to TryGet[Range]View.
- Changed GetBuffer to return a composite buffer with the type.
- Changed GetView to be protected instead of public.
- Removed GetRangeBuffer and GetRangeView.

#rb Zousar.Shaker
#rnx
#preflight 60b796cac744b20001542535

[CL 16535362 by Devin Doucette in ue5-main branch]
2021-06-02 11:55:09 -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
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
6a4938e959 DDC: Added UE::DerivedData::Private::FBuildJobContext
FBuildJobContext is the IBuildContext and IBuildConfigContext that is used when executing build jobs.

#rb Zousar.Shaker
#rnx

[CL 16454951 by Devin Doucette in ue5-main branch]
2021-05-25 15:47:38 -04:00