← Back to issue list

plugins: check if plugin properties are dirty

View original Github issue

Metadata

Project
craft-parts
Number
#372
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #372 as commit 65afe7d2, adding plugin properties to part state and configurable dirty checks for pull/build steps without breaking existing plugin APIs.

Resolution: closed resolved

Reason: PR #372 was approved and merged as commit 65afe7d2. The resulting code includes plugin properties in part state and uses pull- or build-specific property lists for dirty checks.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Add plugin properties to the part state and allow the plugin to list properties to be used to verify if the pull or build steps are dirty. This implementation ensures compatibility with the current plugin API and doesn't require changes in existing plugins. By default, all plugin properties will be verified against the previous build step state. This can be overridden by each plugin if needed. The implementation is also designed to work with strict plugins where plugin properties changes may require a repull. In this case, each plugin must return the list of properties relevant to the pull step according to the offline build mode. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- CRAFT-1591

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #372 as commit 65afe7d2, adding plugin properties to part state and configurable dirty checks for pull/build steps without breaking existing plugin APIs.
stealth/space-bunny-alpha — closed resolved Merged as commit 65afe7d2 (craft-parts#372), adding plugin-property state and pull/build dirty checks with configurable property lists and existing plugin API compatibility.
qwen/qwen3.6-35b-a3b — — 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.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Implements plugin property tracking to detect dirty pull or build steps. Defaults to checking all properties for API compatibility, while allowing plugins to override checks or enforce repulls on property changes. Resolves CRAFT-1591.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1620 plugins: build-attributes is already in the state snapcraft merged Merged #1620 via commit 599c70fd6, removing redundant plugin build-attributes handling because core state already tracks it for build-step dirtiness.
72%