main: add details to the parts specification error message (CRAFT-512)
Metadata
Current evaluation
Merged enhancement to craft-parts CLI that adds specific validation failure details to invalid parts specification errors. Approved by two reviewers and passed CI checks.
Suggested action: —
No scores available.
Issue body
The parts specification error when running craft-parts from the CLI
tool entry point lacks information, add details on what cause the
reported error.
With this fix, parts errors will look like:
```
$ python -mcraft_parts
Error: invalid parts specification: Part 'p1' validation failed.
'source' is required by the dump plugin
Review part 'p1' and make sure it's correct.
```
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged enhancement to craft-parts CLI that adds specific validation failure details to invalid parts specification errors. Approved by two reviewers and passed CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds detailed validation failure information to craft-parts CLI error messages for parts specifications, resolving CRAFT-512. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3636 parts: integrate craft-parts (CRAFT-765) | snapcraft | merged | Merged after reviewer approval and passing CI checks. Integrates craft-parts for part validation and lifecycle processing. Modifies 12 files, adding 369 lines and removing 20, fulfilling CRAFT-765. | |
| #1036 parts: better error message when defining parts | snapcraft | merged | Merged improved error messaging for part definitions. Approved by one reviewer, passed CI, and changed two files (+7/-3 lines). Addresses LP #1604827. | |
| #3909 parts: use part validator from craft-parts | snapcraft | merged | Merged into main. Replaced the local part validator with the shared craft-parts implementation, removing 119 lines across six files. Approved by reviewers, passed CI, and increased test coverage by 0.80%. | |
| #367 features: introduce craft-parts features | craft-parts | merged | Successfully merged, introducing configurable features for craft-parts including an optional overlay feature to control action generation. Approved by reviewer, passed CI, and integrated after build retrigger. | |
| #799 Update craft parts, minor build and ci fixes | rockcraft | merged | Merged after two reviewers approved and CI passed. The update modifies craft parts and resolves minor build and CI issues, changing 381 lines across eight files. | |
| #176 parts: fix conversion of PartsError | rockcraft | merged | Merged fix for PartsError conversion that previously used string representation to populate PartsLifecycleError messages, bypassing craft_cli verbosity controls. Fixes error handling to properly respect verbosity levels. | |
| #3 parts: add parts support (CRAFT-27) | rockcraft | merged | Merged after approval. Integrates craft-parts to add initial parts processing support to Rockcraft. Changes span 11 files with 375 additions and 6 deletions. Zero unresolved comments and passing CI checks. | |
| #3675 parts: fix long recursion when verifying dirty steps | snapcraft | merged | Merged. Updates craft-parts to v1.4.2, resolving long recursion loops that blocked the sequencer in dependency-chained projects. Improves verbosity handling and output redirection. Approved by reviewer and passed CI. | |
| #336 features: introduce craft-parts features | craft-parts | merged | Merged pull request introducing a configurable feature system to craft-parts, including an initial overlay feature implementation. Approved by reviewer, passed CI, and merged with 620 additions and 12 deletions across 14 files. | |
| #245 requirements: update craft-parts to 1.19.3 | rockcraft | merged | Merged update to craft-parts 1.19.3, fixing plugin properties state during the planning phase. Approved by two reviewers, passed CI, and modified three files. |