projects: adoptable fields are optional if adopt-info used
Metadata
Current evaluation
PR #3693 merged into snapcraft/7.0 (merge d9b4f700f, feature commit 0b05dbfc2) for CRAFT-1031, making version/summary/description/grade optional when adopt-info is set, with errors still raised if values are never adopted.
Resolution: closed resolved
Reason: Approved by @sergiusens and merged: commit 0b05dbfc2 landed via merge commit d9b4f700f on the snapcraft/7.0 branch, relaxing the project schema so adoptable fields are optional when adopt-info is used, while still requiring the values to be adopted from metadata at build time.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Project fields `version`, `summary`, `description` and `grade` are
allowed to be unspecified in project if `adopt-info` is used. The final
values of such fields are still required and expected to be adopted
from metadata, otherwise an error is raised.
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [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/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
CRAFT-1031
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | PR #3693 merged into snapcraft/7.0 (merge d9b4f700f, feature commit 0b05dbfc2) for CRAFT-1031, making version/summary/description/grade optional when adopt-info is set, with errors still raised if values are never adopted. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into snapcraft/7.0 as d9b4f700f (feature commit 0b05dbfc2), making version, summary, description, and grade optional with adopt-info, while requiring metadata adoption. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged into snapcraft/7.0. Allows project fields version, summary, description, and grade to be optional when adopt-info is used, with values adopted from metadata. Approved by reviewer, passed CI, and increased coverage by 0.24%. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Permits version, summary, description, and grade fields to be omitted when adopt-info is used, with final values required to be adopted from metadata. Approved after reviewer feedback and integrated with improved test coverage. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #231 feat(app): add lists of adoptable and mandatory project fields | craft-application | merged | PR #231 (cmatsuoka) merged, adding project_variables and mandatory_adoptable_fields lists to AppMetadata for craftctl adoption of project fields. Restacked on merged #217 and #227; a7bb9839. | |
| #891 Fields filled in by adopt-info are not picked up later | craft-application | closed | Fixed by merged PR #892 (commit 52e2ead1): Lifecycle no longer caches the project, preserving fields populated by adopt-info for later steps. |