Resolve min-version in project.conf across internal junctions and suggest to update it

Open
#2,055 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

Research direction

Start by tracing how project.conf reads min-version and how internal junctions are loaded and version requirements are checked. Confirm the behavior when a junction requires a higher version, then add coverage and ensure bst warns or errors clearly when the project's declared min-version must be updated.

Written by the indexing model from the issue text.

Description

Currently, if project.conf has a min-version: 2.3 (say) and some internal junctions of plugins:

name: foobar

min-version: 2.3

element-path: elements

junctions:
  - plugins/buildstream-plugins.bst

If plugins/buildstream-plugins.bst is updated to a version that requires higher min-version than that the project itself specifies in project.conf, bst does not suggest or warn that min-version: 2.3 needs to be updated, but it should.

If the junction plugins start asking for a higher min-version then that effectively becomes the min-version of the project.conf, otherwise the project can be loaded.

Showing a warning or an error in this case would help people make a conscious decision of when/how to update internal junctions.

Dominant language
Python
Stars
144
Forks
45
Avg merge
20h 38m
Merged PRs (30d)
6

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/buildstream

All issues in apache/buildstream

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.