Split Element._update_state into cache key and artifact state methods

Description

The _update_state() method is very complex and called a lot of places, making it hard to understand and probably doing more work than it needs to.

This MR hopes to at least make it easier to understand what's going on.

This MR splits Element._update_state() into three methods:

  • _update_state_cache_key(), which sets the weak and strict keys
  • _update_artifact_state(), which creates the Artifact objects, stores whether the artifact is cached, etc.
  • `_update_state_final_key(), which sets the strong key

This merge request is part of #902 (closed), but will not close it


Merge request reports

Loading