Refactor `_artifactcache` folder
Background
As it stands, the _artifactcache
folder contains all the CAS logic, but #440 (closed) proposes using a remote SourceCache
that is CAS based. The CASCache
class implements a lot of the remote logic, with CASRemote
being more of a data structure containing GRPC stubs and such.
I propose to refactor the _artifactcache
folder making it a _cas
folder, moving ArtifactCache
into a buildstream root module, and separating out remote and local CAS logic. This will make it easier to add the SourceCache
, reusing the remote logic while writing out in a separate format.
Task description
-
Rename the _artifactcache
folder to_cas
and moveartifactcache.py
to_artifactcache.py
in the buildstream root, changing relevant imports. -
Move CASRemote
into it's own file and change relevant imports. -
Move remote logic from CASCache
intoCASRemote
, updatingArtifactCache
to work with new changes.
Acceptance Criteria
Behavior should remain exactly the same with refactored _cas
folder.
This when done will allow work to start on #440 (closed)
Edited by Raoul Hidalgo Charman