← Back to issue list

extensions: add basic support

View original Github issue

Metadata

Project
rockcraft
Number
#281
Type
pull request
State
merged
Author
tigarmo
Labels
Created
Updated
Closed

Current evaluation

Merged basic extension support for Rockcraft, enabling validation and application during project load. Approved by two reviewers, passed CI, and changed 12 files. Docs and testing deferred until concrete extensions exist.

Suggested action:

No scores available.

Issue body

Much like Snapcraft's, Extensions can add top-level elements, new parts, or modify existing parts in Rockcraft projects. This commit implements the basic support of validating extensions and applying them when the project is loaded. -------- This PR's history is messy because I created this branch off of the existing `extensions-flask`, merged main and then removed the code relating to the command line and to flask (those will be addressed separately). @sergiusens db58974f0560a3 is the one with my changes and tests.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged basic extension support for Rockcraft, enabling validation and application during project load. Approved by two reviewers, passed CI, and changed 12 files. Docs and testing deferred until concrete extensions exist.
qwen3.6-35b-a3b-mtp-q6 Merged initial extension support for Rockcraft, implementing validation and application during project load. Documentation and testing are deferred until a functional extension and CLI options are available.
qwen3.6-35b-a3b-mtp-q6 Merged basic extension support for Rockcraft, implementing validation and application logic during project load. Includes core changes and tests. Documentation and spread-testing were deferred until a functional extension is available.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1238 Support for extensions (basic support) charmcraft closed Closed without implementation. The extension framework request was deferred, with maintainers pointing to canonical/rockcraft PRs 281 and 292 as the reference implementation instead.
76%
#1248 feat(extensions): add basic support charmcraft merged Merged to resolve issue #1238, adding basic extension support. Approved by two reviewers, apply_extensions now runs in unmarshal after base expansion to support unified charmcraft.yaml formats, requiring double base expansion if extensions modify bases. (+750/-3 lines, 10 files)
75%
#1057 fix(schema): allow extensions field in rockcraft.yaml rockcraft merged Merged a schema-only update adding the extensions field to rockcraft.yaml, resolving IDE validation error #922. Approved by two reviewers, rebased on main, and merged without runtime impact.
72%
#3197 experimental extension support snapcraft merged Merged experimental extension support. Requires #3196. Approved by one reviewer, rebased by the author, and integrated with 102 additions and 8 deletions across seven files.
71%
#273 Extensions Framework rockcraft closed Implemented extensions primitives to support ROCK building. The issue was closed after the fix was merged in pull request #281.
70%