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
Edited by Tom Pollard