This project is archived. Its data is read-only.
Sign in or sign up before continuing. Don't have an account yet? Register now to get started.
Register now

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 move artifactcache.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 into CASRemote, updating ArtifactCache 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 Dec 07, 2018 by Raoul Hidalgo Charman
Assignee Loading
Time tracking Loading