Skip to content

Allowlist on an imported project propagates to deeper project imports #955

Description

@nmunnich

Say that you have a series of projects:

  • Project A, which imports projects B and X_1, ... , X_n. Project A is structured such that it is usable with any of its projects individually.
  • Project B, which imports project C. Project B has project C as a strict dependency and will not work if it is not present.

Now say you want to add project A to your project using a west manifest. Say that you then decide that, due to the large size of the various things project A imports, you want to only import project B as the rest are irrelevant to you.

manifest:
  projects:
  - name: a
    url: a-url
    import:
      name-allowlist:
      - b

The allowlist will propagate down, preventing project B from importing project C and thus rendering it non-functional.

I'm not sure whether this should be considered a bug or "works as intended". If the latter, I would very much like to have an additional option that can be applied to prevent the allowlist from propagating down, e.g. shallow-allowlist: true.

I have a test demonstrating this issue here: 739ec78

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions