project_loader: allow loading null parts
Metadata
Current evaluation
Merged PR #2153 fixes LP: #1772027 by allowing the project loader to accept remote parts without requiring the after directive. Approved and merged by maintainer kyrofa with 100% diff coverage.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
This PR fixes [LP: #1772027](https://bugs.launchpad.net/snapcraft/+bug/1772027) by allowing one to specify remote parts without requiring the use of `after`, which implies a relationship which may not exist. With this PR, one can specify that the want a remote part simply by listing the part name, e.g.:
```yaml
parts:
my-part:
plugin: whatever
# build my stuff
# Also pull in gtk3, although my-part doesn't strictly depend on it for
# pulling or building.
desktop-gtk3:
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged PR #2153 fixes LP: #1772027 by allowing the project loader to accept remote parts without requiring the after directive. Approved and merged by maintainer kyrofa with 100% diff coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into master, enabling null part loading without the after directive. Resolves Launchpad bug #1772027 by allowing remote parts to be listed by name alone, removing implied build dependencies. Test coverage increased marginally. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into master, fixing LP: #1772027 by allowing null parts without requiring the after directive. Remote parts can now be declared by name alone, simplifying dependency management. Codecov verified the merge with 100% diff coverage. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2304 project loader: remove remote parts support for bases | snapcraft | merged | Merged removal of remote parts support for bases. The project loader now errors on undefined parts or missing plugins. CLI commands update, search, and define were removed. Approved and merged after passing CI. |