apache / apache/buildstream

Add sources to bst shell

Open
#413 39 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
140
Forks
45
Avg merge
1d 3h
Merged PRs (30d)
6

Description

[See original issue on GitLab](https://gitlab.com/BuildStream/buildstream/-/issues/413)
In GitLab by [[Gitlab user @knownexus]](https://gitlab.com/knownexus) on May 30, 2018, 13:59

## Background

[//]: #
We want to be able to run software debuggers & co when we run `bst shell`

## Task description

[//]: # (Short summary of the action to be executed)

* [ ] Modify `bst shell` to include the sources of all open workspaces in a given project
* [ ] Potentially add a flag to enable/disable the feature (undecided)

## Steps

[//]: # (Acceptance criteria should follow the S.M.A.R.T. principle https://en.wikipedia.org/wiki/SMART_criteria )

* [ ] Find the point were artifacts are added to the sandbox
* [ ] Get a list of all open workspaces
* [ ] Get the build-root for the elements of each workspace
* [ ] Recreate the full path of each workspace inside the sandbox
* This is to allow existing debug logs and paths to find the right path
* In the case of conflicting paths between workspaces, the shell will abort and instruct the user to close some/all of the conflicting workspaces
* [ ] Copy the contents of the workspaces into their corresponding directory
* [ ] Add tests to confirm that the files were copied into the sandbox

----

Contributor guide

Open the contributing guide

Research direction

Start at the `bst shell` implementation and the point where artifacts are added to the sandbox. Trace how open workspaces and their elements expose build roots, then determine how workspace paths should be recreated and conflicts handled. Done means workspace contents appear at the expected sandbox paths, conflicts abort with guidance, and tests confirm the copied files.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.