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 _artifactcachefolder to_casand moveartifactcache.pyto_artifactcache.pyin the buildstream root, changing relevant imports. -
Move CASRemoteinto it's own file and change relevant imports. -
Move remote logic from CASCacheintoCASRemote, updatingArtifactCacheto 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