Create Artifact abstraction class
Background
For Artifact as a Proto an abstract Artifact class, which will implement artifact specific functions which currently reside in Element.
Task description
- Create list of existing functions that should be abstracted out of Element via Artifact
Current list of potential artifact related funcs to abstract:
-
__compute_splits (imports files dir of artifact)
-
stage_artifact (imports files dir of artifact)
-
_stage_sources_at (checks if a requested buildtree is cached empty)
-
_cache_artifact
-
_get_build_log
-
_cached_buildtree
-
__extract
-
__get_artifact_metadata_keys
-
__get_artifact_metadata_dependencies
-
__get_artifact_metadata_workspaced
-
__get_artifact_metadata_workspaced_dependencies
-
__load_public_data
-
__load_build_result
-
Abstract out, no new tests to be added
Acceptance Criteria
Current bst functionality is preserved