[RFC] New `inactive-by-default:` project key
mbolivar-nordic opened this issue · 2 comments
mbolivar-nordic commented
This issue tracks a potential extension to the manifest schema. It is not a proposal at this point, just a placeholder for discussion.
Proposed syntax:
manifest:
projects:
- name: foo
inactive-by-default: <true|false>
Proposed semantics:
- if key is missing, no behavior changes
- if key is
false
, no behavior changes - if key is
true
, new behavior applies to whether project is active or inactive
The new behavior that applies if and only if the key is true
is:
- if
manifest.project-filter
applies to the project, it decides whether the project is active or inactive;inactive-by-default
has no effect in this case - otherwise, the project is inactive
This applies regardless of where the project is defined in the import hierarchy.
Concerns:
- this can no longer be overridden in an importing manifest, so users will always have to take explicit action to enable such projects
- in the case of zephyr/west.yml,
west init
+west update
will not result in a manifest that can be resolved
mbolivar-nordic commented
Discussion among @carlescufi @tejlmand @aescolar @mbolivar-nordic :
Fact that this cannot be overridden in an importing manifest is a serious problem. E.g. in NCS we could not write a manifest that imports zephyr and makes bsim active by default.
mbolivar-nordic commented
Potential way forward, not vetted, just an RFC
manifest:
projects:
- name: zephyr
import:
name-allowlist:
- bsim
- ...
activate:
- bsim