Import elements allow build dependencies
- 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/948)
In GitLab by [[Gitlab user @juergbi]](https://gitlab.com/juergbi) on Mar 6, 2019, 09:47
Import elements currently allow build dependencies even though they are never used, except for scheduling/pipeline purposes. This may be confusing to users.
We should set `BST_FORBID_BDEPENDS` in `import.py`. However, various test cases currently rely on import elements supporting build dependencies. While some of them should be easy to fix (change `depends` to `runtime-depends`), others might indeed need the build dependencies as they test scheduler/pipeline behavior. Thus, test case changes need to be done very carefully.
I've pushed the `juerg/import-no-build-deps` branch as a possible starting point.
Contributor guide
Research direction
Start in import.py and review the import-element test cases that currently use build dependencies. Use the juerg/import-no-build-deps branch as a possible starting point, then distinguish cases that should use runtime dependencies from those testing scheduler or pipeline behavior. Done means the intended build-dependency restriction is enforced without breaking valid scheduler and pipeline tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100