plugins: check presence of required part properties (CRAFT-74)
Metadata
Current evaluation
Merged after two approvals and passing CI. Replaces manual verification of required plugin properties, such as source, with Pydantic validation. Updated nine files (+78/-25 lines) to enforce property requirements during plugin configuration.
Suggested action: —
No scores available.
Issue body
Plugins may require certain part properties to be present, such as
"source". Let pydantic check these requirements during plugin property
validation instead of manually verifying their presence.
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 after two approvals and passing CI. Replaces manual verification of required plugin properties, such as source, with Pydantic validation. Updated nine files (+78/-25 lines) to enforce property requirements during plugin configuration. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged changes replacing manual verification of required plugin part properties with Pydantic validation. Properties like source are now checked during plugin property validation, resolving CRAFT-74. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #150 plugins: add plugin environment validation (CRAFT-611) | craft-parts | merged | Added plugin environment validators to verify system requirements before building parts. Merged after reviewer approval and passing CI checks, modifying 14 files with 629 additions and 23 deletions. | |
| #70 Plugins not verifying required part properties | craft-parts | closed | Fixed in PR #71. Plugins now verify required part properties like source by declaring them as pydantic fields, ensuring proper validation during unmarshalling. | |
| #117 plugins: fix plugin properties test (CRAFT-483) | craft-parts | merged | Merged fix for CRAFT-483 correcting instance assignment to the plugin properties class variable in tests. Approved by two reviewers and passed CI checks. | |
| #372 plugins: check if plugin properties are dirty | craft-parts | merged | Merged after approval and CI. Implements dirty-checking for plugin properties to optimize pull and build steps. Adds property state tracking, maintains API compatibility, and allows plugin-specific overrides. | |
| #101 plugins: strip plugin properties in non-destructive way (CRAFT-394) | craft-parts | merged | Merged a change to strip plugin properties non-destructively, preventing mutation of original parts data. Approved by one reviewer, passed CI, and modified five files. | |
| #197 plugins: validate dependencies | craft-parts | merged | Merged after approval and CI. Normalized plugin dependency validation logic in the validator class to prepare for conda, npm, and rust plugins. Refactored 7 files (+75/-121 lines) with no functional changes. |