feat: Plugin-constrained build-attributes
Metadata
Current evaluation
Merged. Adds plugin-constrained build-attributes to craft-parts, requiring explicit plugin support. Currently implements the 'self-contained' attribute for maven and maven-use plugins. Approved and passed all CI checks.
Suggested action: —
No scores available.
Issue body
This commit introduces the concept of build-attributes that craft-parts is aware of, and that need to be explicitly supported by a part's plugin in order to be useable in said part.
Currently the only such attribute is 'self-contained', and only the 'maven' and 'maven-use' plugins support it.
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds plugin-constrained build-attributes to craft-parts, requiring explicit plugin support. Currently implements the 'self-contained' attribute for maven and maven-use plugins. Approved and passed all CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Successfully merged feature adding plugin-constrained build-attributes to craft-parts. Requires explicit plugin support, initially implementing the self-contained attribute for maven and maven-use plugins. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1145 feat: 'self-contained' builds for Maven plugins | craft-parts | merged | Merged via squash after passing all CI checks and receiving two approvals. Introduces a self-contained build attribute for Maven plugins that forces rewriting Maven source versions from backstage artifacts and enables automatic backstage artifact discovery. | |
| #1620 plugins: build-attributes is already in the state | snapcraft | merged | Merged. Removes redundant build-attributes tracking from individual plugins, centralizing state management in core classes while preserving correct dirty-state detection for build steps. | |
| #1425 feat(gradle_plugin): add self-contained attribute support | craft-parts | merged | Merged. Adds self-contained support to the Gradle plugin. Generates an init script to redirect dependency resolution and publishing to local Maven repositories and ignores the Gradle wrapper. Approved by two reviewers and passed CI. |